fix issue #1434 - engulfed gas spore explosion
Issue reported by Umbire: a gas spore that got swallowed and killed didn't die but exploded anyway, with the explosion affecting the map instead of being contained in the swallower. There was code to handle that but it wasn't being executed. This fix feels unclean but seems to work. I couldn't reproduce the survival of the gas spore but since that isn't wanted I won't worry about it. Fixes #1434
This commit is contained in:
@@ -1271,7 +1271,7 @@ gulp_blnd_check(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* monster swallows you, or damage if u.uswallow */
|
||||
/* monster swallows you, or damage if already swallowed (u.uswallow != 0) */
|
||||
staticfn int
|
||||
gulpmu(struct monst *mtmp, struct attack *mattk)
|
||||
{
|
||||
@@ -1537,7 +1537,9 @@ gulpmu(struct monst *mtmp, struct attack *mattk)
|
||||
if (physical_damage)
|
||||
tmp = Maybe_Half_Phys(tmp);
|
||||
|
||||
gm.mswallower = mtmp; /* match gulpmm() */
|
||||
mdamageu(mtmp, tmp);
|
||||
gm.mswallower = 0;
|
||||
if (tmp)
|
||||
stop_occupation();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user