From 57e1c11c5405d7667fe5bb24bbd9709240b75d4e Mon Sep 17 00:00:00 2001 From: "nethack.allison" Date: Wed, 7 Aug 2002 10:47:53 +0000 Subject: [PATCH] stone to flesh historic statues --- doc/fixes34.1 | 4 +++- src/trap.c | 9 +++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index a112e16ce..d316a1b78 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -185,11 +185,13 @@ remove levitation boots over a portal, the portal teleport is delayed until armor vs cursed two-handed weapon anomalies: with 'T', couldn't remove armor, but with 'A', could remove it, and with 'W', could put it on don't print ape data.base description for other words that end in "ape" -prevent crash after animating a statue via stone to flesh by avoiding use +prevent crash after animating a statue via stone_to_flesh by avoiding use of the obj in newsym() after it was deleted print "magic spreads" message when eating ring of increase damage, etc. grammar tid: "The looking glass miss the ." fix wishing for "looking glass" and " glass" +Archeologists suffer same alignment penalty for statue destruction by + stone_to_flesh as they do by other means of statue destruction Platform- and/or Interface-Specific Fixes diff --git a/src/trap.c b/src/trap.c index dbbf986e4..ce4da4cd2 100644 --- a/src/trap.c +++ b/src/trap.c @@ -404,6 +404,7 @@ int *fail_reason; struct monst *mon = 0; struct obj *item; coord cc; + boolean historic = (Role_if(PM_ARCHEOLOGIST) && !flags.mon_moving && statue->spe); if (statue->oxlth && statue->oattached == OATTACHED_MONST) { cc.x = x, cc.y = y; @@ -443,10 +444,14 @@ int *fail_reason; /* mimic statue becomes seen mimic; other hiders won't be hidden */ if (mon->m_ap_type) seemimic(mon); else mon->mundetected = FALSE; - if ((x == u.ux && y == u.uy) || cause == ANIMATE_SPELL) + if ((x == u.ux && y == u.uy) || cause == ANIMATE_SPELL) { pline_The("statue %s!", canspotmon(mon) ? "comes to life" : "disappears"); - else if (cause == ANIMATE_SHATTER) + if (historic) { + You_feel("guilty that the historic statue is now gone."); + adjalign(-1); + } + } else if (cause == ANIMATE_SHATTER) pline("Instead of shattering, the statue suddenly %s!", canspotmon(mon) ? "comes to life" : "disappears"); else /* cause == ANIMATE_NORMAL */