diff --git a/src/trap.c b/src/trap.c index da7a34303..3d597ed8d 100644 --- a/src/trap.c +++ b/src/trap.c @@ -481,8 +481,15 @@ int *fail_reason; "moves" : "comes to life"; if ((x == u.ux && y == u.uy) || cause == ANIMATE_SPELL) { /* "the|your|Manlobbi's statue [of a wombat]" */ + shkp = shop_keeper(*in_rooms(mon->mx, mon->my, SHOPBASE)); Sprintf(statuename, "%s%s", shk_your(tmpbuf, statue), - (cause == ANIMATE_SPELL) ? xname(statue) : "statue"); + (cause == ANIMATE_SPELL && + /* avoid "of a shopkeeper" if it's Manlobbi himself + (if carried, it can't be unpaid--hence won't be + described as "Manlobbi's statue"--because there + wasn't any living shk when statue was picked up) */ + (mon != shkp || carried(statue))) ? xname(statue) : + "statue"); pline("%s %s!", upstart(statuename), comes_to_life); } else if (cause == ANIMATE_SHATTER) { if (cansee(x, y)) @@ -508,7 +515,10 @@ int *fail_reason; which refers to "it" so needs to follow a message describing the object ("the statue comes to life" one above) */ if (cause != ANIMATE_NORMAL && costly_spot(x, y) && - (shkp = shop_keeper(*in_rooms(x, y, SHOPBASE))) != 0) + (shkp = shop_keeper(*in_rooms(x, y, SHOPBASE))) != 0 && + /* avoid charging for Manlobbi's statue of Manlobbi + if stone-to-flesh is used on petrified shopkeep */ + mon != shkp) (void) stolen_value(statue, x, y, (boolean)shkp->mpeaceful, FALSE); diff --git a/src/zap.c b/src/zap.c index 93bd5f888..910546a82 100644 --- a/src/zap.c +++ b/src/zap.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)zap.c 3.5 2005/03/28 */ +/* SCCS Id: @(#)zap.c 3.5 2005/04/20 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -673,7 +673,8 @@ boolean by_hero; stolen_value() will refer to the object as "it" */ pline("A corpse is resuscitated."); - if (shkp) + /* don't charge for shopkeeper's own corpse if we just revived him */ + if (shkp && mtmp != shkp) (void) stolen_value(corpse, x, y, (boolean)shkp->mpeaceful, FALSE); /* [we don't give any comparable message about the corpse for