U846 - xorns and pits
Change pit behavior to always mark a non-flying poly'd player as trapped in a pit, even when Passes_walls is set. This allows players polymorphed into xorns to descend into pits and pick things up. In this case, any attempt to move out of the pit now takes a turn but always succeeds. Also fixed a related bug (w/o ID) that a player could become trapped as if in a pit when leaving xorn form because u.utrap wasn't checked, and simplified the code since the extra Passes_walls checks are no longer needed. Also updated code in sit.c that duplicated uteetering_at_seen_pit.
This commit is contained in:
@@ -1169,7 +1169,13 @@ domove()
|
||||
}
|
||||
if(u.utrap) {
|
||||
if(u.utraptype == TT_PIT) {
|
||||
if (!rn2(2) && sobj_at(BOULDER, u.ux, u.uy)) {
|
||||
if (Passes_walls) {
|
||||
/* marked as trapped so they can pick things up */
|
||||
You("ascend from the pit.");
|
||||
u.utrap = 0;
|
||||
fill_pit(u.ux, u.uy);
|
||||
vision_full_recalc = 1; /* vision limits change */
|
||||
} else if (!rn2(2) && sobj_at(BOULDER, u.ux, u.uy)) {
|
||||
Your("%s gets stuck in a crevice.", body_part(LEG));
|
||||
display_nhwindow(WIN_MESSAGE, FALSE);
|
||||
clear_nhwindow(WIN_MESSAGE);
|
||||
|
||||
Reference in New Issue
Block a user