All pastes #2012877 Raw Edit

Fix for NetHack 3.4.3 bug SC343-

public diff v1 · immutable
#2012877 ·published 2010-12-07 14:38 UTC
rendered paste body
diff -ur nethack-old/src/mon.c nethack/src/mon.c--- nethack-old/src/mon.c	2003-12-07 23:39:13.000000000 +0000+++ nethack/src/mon.c	2010-12-07 14:35:23.279073516 +0000@@ -1601,6 +1601,7 @@ 	struct obj *otmp, *obj, *oldminvent; 	xchar x = mdef->mx, y = mdef->my; 	boolean wasinside = FALSE;+	int oldgold;  	/* we have to make the statue before calling mondead, to be able to 	 * put inventory in it, and we have to check for lifesaving before@@ -1639,6 +1640,10 @@ 		/* defer statue creation until after inventory removal 		   so that saved monster traits won't retain any stale 		   item-conferred attributes */+#ifndef GOLDOBJ+		oldgold = mdef->mgold;+		mdef->mgold = 0;+#endif 		otmp = mkcorpstat(STATUE, KEEPTRAITS(mdef) ? mdef : 0, 				  mdef->data, x, y, FALSE); 		if (mdef->mnamelth) otmp = oname(otmp, NAME(mdef));@@ -1647,13 +1652,12 @@ 		    (void) add_to_container(otmp, obj); 		} #ifndef GOLDOBJ-		if (mdef->mgold) {+		if (oldgold) { 			struct obj *au; 			au = mksobj(GOLD_PIECE, FALSE, FALSE);-			au->quan = mdef->mgold;+			au->quan = oldgold; 			au->owt = weight(au); 			(void) add_to_container(otmp, au);-			mdef->mgold = 0; 		} #endif 		/* Archeologists should not break unique statues */