]> granicus.if.org Git - nethack/commitdiff
U675 fix
authornethack.allison <nethack.allison>
Mon, 29 Sep 2003 02:20:18 +0000 (02:20 +0000)
committernethack.allison <nethack.allison>
Mon, 29 Sep 2003 02:20:18 +0000 (02:20 +0000)
if the monster that a statue represents is not made of flesh then don't
allow stone_to_flesh to animate it, make a meatball instead

doc/fixes34.3
src/zap.c

index 0909437e3db7ddf81774c47207a72113c2dcff6b..0871fee764d53ac9d94c9d0c0d0f78e0f12937a5 100644 (file)
@@ -33,6 +33,8 @@ more tweaks to fog cloud behavior
 when dismounting by choice and unimpaired, try not to land on a boulder
 casting stone-to-flesh on self while wielding a statue caused problems
 add tab support to menu strings for control-x minimal_enlightenment()
+if the monster that a statue represents is not made of flesh then don't
+       allow stone_to_flesh to animate it, make a meatball instead
 
 
 Platform- and/or Interface-Specific Fixes
index 8e6dc1591e0ce5ab7d841bd24d1c9815acc4db0f..587af1d121f56011e8e67187f39ca6e8a9830676 100644 (file)
--- a/src/zap.c
+++ b/src/zap.c
@@ -1599,6 +1599,11 @@ struct obj *obj, *otmp;
 
                            (void) get_obj_location(obj, &oox, &ooy, 0);
                            refresh_x = oox; refresh_y = ooy;
+                           if (vegetarian(&mons[obj->corpsenm])) {
+                               /* Don't animate monsters that aren't flesh */
+                               obj = poly_obj(obj, MEATBALL);
+                               goto smell;
+                           }
                            if (!animate_statue(obj, oox, ooy,
                                                ANIMATE_SPELL, (int *)0)) {
                                struct obj *item;
@@ -1632,6 +1637,11 @@ makecorpse:                      if (mons[obj->corpsenm].geno &
                            res = 0;
                            break;
                        }
+                       if (vegetarian(&mons[obj->corpsenm])) {
+                           /* Don't animate monsters that aren't flesh */
+                           obj = poly_obj(obj, MEATBALL);
+                           goto smell;
+                       }
                        (void) get_obj_location(obj, &oox, &ooy, 0);
                        refresh_x = oox; refresh_y = ooy;
                        mon = makemon(&mons[obj->corpsenm],