This patch fixes shopkeepers ignoring damage statues and boulders. One side effect is that shop keepers get kind of double credit for the object (first you pay for the statue and then if you want the rocks you have to pay for those too). I hope this fix helps. Let me know what you think! Chris Becker (topher@csh.rit.edu) More bug fixes and patches can be found at http://www.csh.rit.edu/~topher/nethack diff -aur ..\original\nethack-3.4.3\src\dothrow.c nethack-3.4.3\src\dothrow.c --- ..\original\nethack-3.4.3\src\dothrow.c Sun Dec 07 16:39:14 2003 +++ nethack-3.4.3\src\dothrow.c Sat Jan 03 01:53:42 2004 @@ -1612,9 +1612,12 @@ (*o_shop != u.ushops[0] || !inside_shop(u.ux, u.uy)) && moves != lastmovetime) make_angry_shk(shkp, x, y); lastmovetime = moves; - } - } + } + } } + + /* don't delete boulders/statues so they can create rocks */ + if (!(obj->otyp == BOULDER || obj->otyp == STATUE)) delobj(obj); } @@ -1640,6 +1643,8 @@ case MELON: case ACID_VENOM: case BLINDING_VENOM: + case BOULDER: + case STATUE: return 1; default: return 0; @@ -1684,6 +1689,9 @@ case ACID_VENOM: case BLINDING_VENOM: pline("Splash!"); + break; + case BOULDER: + case STATUE: /* message already taken care of */ break; } } diff -aur ..\original\nethack-3.4.3\src\zap.c nethack-3.4.3\src\zap.c --- ..\original\nethack-3.4.3\src\zap.c Sun Dec 07 16:39:14 2003 +++ nethack-3.4.3\src\zap.c Sat Jan 03 01:35:31 2004 @@ -3766,7 +3766,13 @@ /* A little Sokoban guilt... */ if (obj->otyp == BOULDER && In_sokoban(&u.uz) && !flags.mon_moving) change_luck(-1); - + + /* so hero gets charged for breaking statues/boulders + * - Chris Becker (topher@csh.rit.edu) + */ + if (!flags.mon_moving) hero_breaks(obj,obj->ox,obj->oy, + obj->where == OBJ_INVENT); + obj->otyp = ROCK; obj->quan = (long) rn1(60, 7); obj->owt = weight(obj);