From b0a70e81ddea9dbb2fd21285037db2eaefcdfee9 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Sat, 28 Aug 2010 00:15:39 +0000 Subject: [PATCH] stone-to-flesh vs Heart of Ahriman (trunk only) From the newsgroup: a player accidentally cast the stone-to-flesh spell at himself (I don't recall whether he chose wrong spell or wrong direction, or tried to cancel and game used last remembered direction) and the barbarian quest artifact he was carring turned into a meatball. Artifacts already have a high chance (95%) to resist being polymorphed but that doesn't apply for the stone-to-flesh transformation. This gives stone artifacts a high chance (98%) to resist being turned into flesh. Non-artifacts also get a small chance (2%) to resist as well. --- doc/fixes35.0 | 1 + src/zap.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/doc/fixes35.0 b/doc/fixes35.0 index 1387e900e..0ae4957a8 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -337,6 +337,7 @@ shouldn't have been able write scrolls by guessing type name when they're only partly known via name assignment scrolls given names can be written by assigned name as well as by description fix writing feedback "the spellbook warps strangely, then turns parchment" +make stone artifacts usually resist stone-to-flesh Platform- and/or Interface-Specific Fixes diff --git a/src/zap.c b/src/zap.c index 6a2a06f84..5e20e6c70 100644 --- a/src/zap.c +++ b/src/zap.c @@ -1565,6 +1565,8 @@ struct obj *obj; if (objects[obj->otyp].oc_material != MINERAL && objects[obj->otyp].oc_material != GEMSTONE) return 0; + /* Heart of Ahriman usually resists; ordinary items rarely do */ + if (obj_resists(obj, 2, 98)) return 0; (void) get_obj_location(obj, &oox, &ooy, 0); /* add more if stone objects are added.. */