"fix" github issue #475 - Trollsbane
Player's pet killed a troll with Trollsbane and the corpse later revived. He assumed that killing a troll with Trollsbane is what prevents troll corpse revival but that is inhibited by the hero be wielding Trollsbane at the time revival is attempted. Having killed-by-Trollsbane be the reason for blocking revival would be much better but looks like a lot of work for something which was supposed to be a one-line enhancement to an under-used artifact. This extends revival inhibition to having anyone on the level be wielding Trollsbane rather than just the hero. Not a proper fix but I think it's better than nothing. Closes #475
This commit is contained in:
@@ -2176,4 +2176,25 @@ has_magic_key(struct monst *mon) /* if null, hero assumed */
|
||||
return (struct obj *) 0;
|
||||
}
|
||||
|
||||
/* True if anyone on the level is wielding Trollsbane, False otherwise;
|
||||
used to prevent troll resurrection (FIXME: really ought to be inhibited
|
||||
when killed by Trollsbane rather than whether anyone wields that) */
|
||||
boolean
|
||||
Trollsbane_wielded(void)
|
||||
{
|
||||
struct monst *mtmp;
|
||||
struct obj *mw_tmp;
|
||||
|
||||
if (uwep && uwep->oartifact == ART_TROLLSBANE)
|
||||
return TRUE;
|
||||
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
|
||||
if (DEADMONSTER(mtmp))
|
||||
continue;
|
||||
if ((mw_tmp = MON_WEP(mtmp)) != 0
|
||||
&& mw_tmp->oartifact == ART_TROLLSBANE)
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*artifact.c*/
|
||||
|
||||
Reference in New Issue
Block a user