intrinsics of dead monsters
Monster traits that are used to revive some corpses or statues with their old attributes were retaining intrinsics conferred by worn items. To prevent that, strip such attributes at time of a monster's death before the traits are recorded. Statue handling needs to some more work; now that extra speed is lost, there's an out of place message if/when a revived statue gets to put on its old speed boots.
This commit is contained in:
10
src/steal.c
10
src/steal.c
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)steal.c 3.4 2002/03/29 */
|
||||
/* SCCS Id: @(#)steal.c 3.4 2002/09/07 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -554,6 +554,14 @@ boolean is_pet; /* If true, pet should keep wielded/worn items */
|
||||
costly_spot(mtmp->mx, mtmp->my))
|
||||
otmp->no_charge = 1;
|
||||
#endif
|
||||
if (otmp->owornmask) {
|
||||
/* don't want map updates if invisibility
|
||||
toggles or messages if speed changes */
|
||||
in_mklev = TRUE;
|
||||
update_mon_intrinsics(mtmp, otmp, FALSE);
|
||||
in_mklev = FALSE;
|
||||
}
|
||||
/* obj_no_longer_held(otmp); -- done by place_object */
|
||||
if (otmp->owornmask & W_WEP)
|
||||
setmnotwielded(mtmp, otmp);
|
||||
otmp->owornmask = 0L;
|
||||
|
||||
Reference in New Issue
Block a user