From 32097e56cb30ee4b52184a12d4264e155112bf79 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sat, 24 May 2008 17:15:52 +0000 Subject: [PATCH] remove_unit is a dangerous thing. --- src/common/kernel/unit.c | 1 + src/common/spells/alp.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/kernel/unit.c b/src/common/kernel/unit.c index a9c0feff1..56d04b2b0 100644 --- a/src/common/kernel/unit.c +++ b/src/common/kernel/unit.c @@ -329,6 +329,7 @@ remove_unit(unit ** ulist, unit * u) if (u->number) set_number(u, 0); leave(u->region, u); + u->region = NULL; uunhash(u); if (ulist) { diff --git a/src/common/spells/alp.c b/src/common/spells/alp.c index 04e93c9e7..9bbfc3ba3 100644 --- a/src/common/spells/alp.c +++ b/src/common/spells/alp.c @@ -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); /* solange es noch keine spezielle alp-Antimagie gibt, reagiert der * auch auf normale */ - remove_unit(&r->units, alp); + set_number(alp, 0); /* wenn der Magier stirbt, wird der Curse wieder vom Opfer genommen */ add_trigger(&mage->attribs, "destroy", trigger_removecurse(c, opfer));