From: cohrs Date: Mon, 24 Mar 2003 21:56:59 +0000 (+0000) Subject: jumping over sokoban pits X-Git-Tag: MOVE2GIT~2053 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7fa28ea693bca9923777622586ccf236cc73ad58;p=nethack 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. --- diff --git a/doc/fixes34.2 b/doc/fixes34.2 index 054caed72..c9300ec13 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -29,6 +29,7 @@ charge correctly when breaking multiple objects with the same zap, avoids clean up funny lighting on the healer locate level 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 +jumping over a sokobon pit would result in the player next to, not in, the pit Platform- and/or Interface-Specific Fixes diff --git a/src/dothrow.c b/src/dothrow.c index f2f7a2734..a9193990f 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -448,6 +448,8 @@ hurtle_step(arg, x, y) return FALSE; } else if (!in_out_region(x, y)) { return FALSE; + } else if (*range == 0) { + return FALSE; /* previous step wants to stop now */ } if (!Passes_walls || !(may_pass = may_passwall(x, y))) { @@ -533,7 +535,8 @@ hurtle_step(arg, x, y) In_sokoban(&u.uz)) { /* Air currents overcome the recoil */ dotrap(ttmp,0); - return FALSE; + *range = 0; + return TRUE; } else { if (ttmp->tseen) You("pass right over %s %s.",