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
-/* 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. */
/* 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;
-/* 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. */
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);