stone to flesh historic statues

This commit is contained in:
nethack.allison
2002-08-07 10:47:53 +00:00
parent e5148d5d57
commit 57e1c11c54
2 changed files with 10 additions and 3 deletions
+3 -1
View File
@@ -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, 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 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" 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 of the obj in newsym() after it was deleted
print "magic spreads" message when eating ring of increase damage, etc. print "magic spreads" message when eating ring of increase damage, etc.
grammar tid: "The looking glass miss the <monster>." grammar tid: "The looking glass miss the <monster>."
fix wishing for "looking glass" and "<color> glass" fix wishing for "looking glass" and "<color> 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 Platform- and/or Interface-Specific Fixes
+7 -2
View File
@@ -404,6 +404,7 @@ int *fail_reason;
struct monst *mon = 0; struct monst *mon = 0;
struct obj *item; struct obj *item;
coord cc; coord cc;
boolean historic = (Role_if(PM_ARCHEOLOGIST) && !flags.mon_moving && statue->spe);
if (statue->oxlth && statue->oattached == OATTACHED_MONST) { if (statue->oxlth && statue->oattached == OATTACHED_MONST) {
cc.x = x, cc.y = y; cc.x = x, cc.y = y;
@@ -443,10 +444,14 @@ int *fail_reason;
/* mimic statue becomes seen mimic; other hiders won't be hidden */ /* mimic statue becomes seen mimic; other hiders won't be hidden */
if (mon->m_ap_type) seemimic(mon); if (mon->m_ap_type) seemimic(mon);
else mon->mundetected = FALSE; 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!", pline_The("statue %s!",
canspotmon(mon) ? "comes to life" : "disappears"); 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!", pline("Instead of shattering, the statue suddenly %s!",
canspotmon(mon) ? "comes to life" : "disappears"); canspotmon(mon) ? "comes to life" : "disappears");
else /* cause == ANIMATE_NORMAL */ else /* cause == ANIMATE_NORMAL */