jumping over sokoban pits
reported to the list. The code in hurtle_step was returning FALSE one step too early, resulting in the player not actually ending up in the pit.
This commit is contained in:
@@ -29,6 +29,7 @@ charge correctly when breaking multiple objects with the same zap, avoids
|
|||||||
clean up funny lighting on the healer locate level
|
clean up funny lighting on the healer locate level
|
||||||
allow all tame monsters that eat to consider food thrown to them
|
allow all tame monsters that eat to consider food thrown to them
|
||||||
the screen display wasn't always up to date after map topology changes
|
the screen display wasn't always up to date after map topology changes
|
||||||
|
jumping over a sokobon pit would result in the player next to, not in, the pit
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
@@ -448,6 +448,8 @@ hurtle_step(arg, x, y)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
} else if (!in_out_region(x, y)) {
|
} else if (!in_out_region(x, y)) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
} else if (*range == 0) {
|
||||||
|
return FALSE; /* previous step wants to stop now */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Passes_walls || !(may_pass = may_passwall(x, y))) {
|
if (!Passes_walls || !(may_pass = may_passwall(x, y))) {
|
||||||
@@ -533,7 +535,8 @@ hurtle_step(arg, x, y)
|
|||||||
In_sokoban(&u.uz)) {
|
In_sokoban(&u.uz)) {
|
||||||
/* Air currents overcome the recoil */
|
/* Air currents overcome the recoil */
|
||||||
dotrap(ttmp,0);
|
dotrap(ttmp,0);
|
||||||
return FALSE;
|
*range = 0;
|
||||||
|
return TRUE;
|
||||||
} else {
|
} else {
|
||||||
if (ttmp->tseen)
|
if (ttmp->tseen)
|
||||||
You("pass right over %s %s.",
|
You("pass right over %s %s.",
|
||||||
|
|||||||
Reference in New Issue
Block a user