remove_unit is a dangerous thing.

This commit is contained in:
Enno Rehling 2008-05-24 17:15:52 +00:00
parent fec171d75f
commit 32097e56cb
2 changed files with 2 additions and 1 deletions

View file

@ -329,6 +329,7 @@ remove_unit(unit ** ulist, unit * u)
if (u->number) set_number(u, 0); if (u->number) set_number(u, 0);
leave(u->region, u); leave(u->region, u);
u->region = NULL;
uunhash(u); uunhash(u);
if (ulist) { if (ulist) {

View file

@ -175,7 +175,7 @@ alp_findet_opfer(unit *alp, region *r)
c = create_curse(mage, &opfer->attribs, ct_find("worse"), 2, 2, effect, opfer->number); c = create_curse(mage, &opfer->attribs, ct_find("worse"), 2, 2, effect, opfer->number);
/* solange es noch keine spezielle alp-Antimagie gibt, reagiert der /* solange es noch keine spezielle alp-Antimagie gibt, reagiert der
* auch auf normale */ * auch auf normale */
remove_unit(&r->units, alp); set_number(alp, 0);
/* wenn der Magier stirbt, wird der Curse wieder vom Opfer genommen */ /* wenn der Magier stirbt, wird der Curse wieder vom Opfer genommen */
add_trigger(&mage->attribs, "destroy", trigger_removecurse(c, opfer)); add_trigger(&mage->attribs, "destroy", trigger_removecurse(c, opfer));