polymorphing into a flyer while in a pit
<Someone> reported that if you polymorph into a flying monster while in a pit, you must take u.utrap turns to first climb out before you can fly. Of course, once you're out, you can swoop down into the pit to pick things up w/o delay. Rather that have you automatically fly out (e.g. like quaffing a potion of levitation), I thought it was better to take a turn to fly out, so that's what I've implemented. The code to deal with exiting a pit is moved to a new climb_pit function and the "up" command now lets you climb from a pit too (something I've found non-intuitive in the past). Finally, I noticed that non-moving monsters could still go up/down even though they couldn't move around. Added non-moving checks in doup/dodown.
This commit is contained in:
@@ -2090,6 +2090,7 @@ E void FDECL(mselftouch, (struct monst *,const char *,BOOLEAN_P));
|
||||
E void NDECL(float_up);
|
||||
E void FDECL(fill_pit, (int,int));
|
||||
E int FDECL(float_down, (long, long));
|
||||
E void NDECL(climb_pit);
|
||||
E int FDECL(fire_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P,XCHAR_P,XCHAR_P));
|
||||
E void FDECL(water_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P));
|
||||
E boolean NDECL(drown);
|
||||
|
||||
Reference in New Issue
Block a user