floor access
A post-3.4.3 change dealing with reaching into pits resulted in "you
sit on the air" if you used the #sit command after escaping a pit trap.
Change can_reach_floor() so that caller explicitly controls whether being
on the brink of a pit is a condition that prevents reaching the floor.
This also splits a fairly common message about not being able to reach the
floor into a separate routine.
There is still oddness here: if you're polymorphed into a flyer,
#sit yields "you sit down" followed by "you fly over a pit" (latter occurs
when escaping trap activation). A ceiling hider behaves similarly, but
the second message is "you escape a pit" and doesn't sound quite as silly.
Perhaps #sit should pass TOOKPLUNGE to dotrap(), or maybe there's some
better way to handle this?
This commit is contained in:
@@ -597,7 +597,8 @@ E void FDECL(restore_killers, (int));
|
||||
|
||||
E char *FDECL(random_engraving, (char *));
|
||||
E void FDECL(wipeout_text, (char *,int,unsigned));
|
||||
E boolean NDECL(can_reach_floor);
|
||||
E boolean FDECL(can_reach_floor, (BOOLEAN_P));
|
||||
E void FDECL(cant_reach_floor, (int,int,BOOLEAN_P,BOOLEAN_P));
|
||||
E const char *FDECL(surface, (int,int));
|
||||
E const char *FDECL(ceiling, (int,int));
|
||||
E struct engr *FDECL(engr_at, (XCHAR_P,XCHAR_P));
|
||||
|
||||
Reference in New Issue
Block a user