fix #K3802 - sanity_check: boulder not on top
This should fix the problem of polymorphing or stone-to-fleshing a pile of multiple boulders and having some underneath ones which get changed resist and not get changed, producing a pile with one or more non-boulders above one or more boulders. If that situation arises, re-stack the pile so that boulders are moved to the top. This also revises zapping up or down while hiding under something (if that is even possible; the types of creatures which can hide under things can't zap wands or cast spells; maybe there are some exceptions?). Zapping up used to hit only the top item, but zapping down hit the whole stack. Now up still hits only the top, but down skips the top and hits the rest. Caveat: not adquately tested.
This commit is contained in:
@@ -1481,6 +1481,7 @@ extern void set_bknown(struct obj *, unsigned);
|
||||
extern boolean is_flammable(struct obj *);
|
||||
extern boolean is_rottable(struct obj *);
|
||||
extern void place_object(struct obj *, coordxy, coordxy);
|
||||
extern void recreate_pile_at(coordxy, coordxy);
|
||||
extern void remove_object(struct obj *);
|
||||
extern void discard_minvent(struct monst *, boolean);
|
||||
extern void obj_extract_self(struct obj *);
|
||||
|
||||
Reference in New Issue
Block a user