diff --git a/doc/fixes34.2 b/doc/fixes34.2 index 4e7a41d50..1af41fb61 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -136,6 +136,7 @@ wishing for quest guardian corpse now gives a generic corpse of the species prevent quest guardians from other classes from talking to you as if they were your quest guardian wake up shopkeeper if a shop transaction is attempted while he's immobilized +statues created from monsters remember more monster attributes Platform- and/or Interface-Specific Fixes diff --git a/src/mon.c b/src/mon.c index 7337fe9d3..4e145c044 100644 --- a/src/mon.c +++ b/src/mon.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)mon.c 3.4 2003/05/09 */ +/* SCCS Id: @(#)mon.c 3.4 2003/08/24 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1627,8 +1627,7 @@ register struct monst *mdef; /* defer statue creation until after inventory removal so that saved monster traits won't retain any stale item-conferred attributes */ - otmp = mkcorpstat(STATUE, KEEPTRAITS(mdef) ? mdef : 0, - mdef->data, x, y, FALSE); + otmp = mkcorpstat(STATUE, mdef, mdef->data, x, y, FALSE); if (mdef->mnamelth) otmp = oname(otmp, NAME(mdef)); while ((obj = oldminvent) != 0) { oldminvent = obj->nobj; diff --git a/src/zap.c b/src/zap.c index 50f505f6e..23209fec5 100644 --- a/src/zap.c +++ b/src/zap.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)zap.c 3.4 2003/02/08 */ +/* SCCS Id: @(#)zap.c 3.4 2003/08/24 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -507,10 +507,16 @@ coord *cc; mtmp2->mtrapped = 0; mtmp2->msleeping = 0; mtmp2->mfrozen = 0; - mtmp2->mcan = 0; + mtmp2->mcanmove = 1; + /* most cancelled monsters return to normal, + but some need to stay cancelled */ + if (!dmgtype(mtmp2->data, AD_SEDU) +#ifdef SEDUCE + && !dmgtype(mtmp2->data, AD_SSEX) +#endif + ) mtmp2->mcan = 0; mtmp2->mcansee = 1; /* set like in makemon */ mtmp2->mblinded = 0; - mtmp2->mcanmove = 1; /* set like in makemon */ mtmp2->mstun = 0; mtmp2->mconf = 0; replmon(mtmp,mtmp2);