Files
nethack/doc
PatR 7d77267f93 fix pull request #487 - one-step diagonal travel
When travel destination is one step away the code stops probing
for a path and reverts to normal movement, but it wasn't handling
the case where the one step was an impossible diagonal except for
hero being a grid bug.  If the situation was a diagonal that's
too narrow to squeeze through, travel would end and regular move
would fail.

I've rejected the suggested fix and done it differently, without
attempting to figure out why the change to end_running() would
have been wrong.  Clearly it was code that called end_running()
which needed to be fixed.

The test case was
 ..x|.
 ..|@.
 .....
while carrying enough that directly moving from '@' to 'x' will
not be allowed.  '@' would move one step south west and then stop
because findtravelpath() had ended travel due to single step move.
A similar case is
   ###
  |x-#-
  |0@.|
where 'x' is a doorway with intact open door and '0' is a boulder.
Prior to this fix, player would get "a boulder blocks the way" and
not move.  After, '@' will move northeast then northwest then west
to get into orthogonal position and finally south into the doorway.

Even though it definitely fixes both mentioned test cases, I won't
be surprised if this results in regressions for other situations.

Fixes #487
2021-04-04 17:23:46 -07:00
..
2018-11-11 10:29:52 -05:00
2020-02-15 13:08:34 -08:00
2018-04-25 16:54:50 -04:00
2018-09-21 16:36:38 -04:00
2018-09-21 18:12:42 -07:00
2018-09-21 18:12:42 -07:00
2018-04-25 16:54:50 -04:00
2018-09-21 18:12:42 -07:00
2018-09-21 18:12:42 -07:00
2002-01-05 21:05:47 +00:00
2002-01-05 21:05:47 +00:00
2018-09-21 18:12:42 -07:00
2002-01-05 21:05:47 +00:00
2002-01-05 21:05:47 +00:00
2002-01-05 21:05:47 +00:00
2002-01-05 21:05:47 +00:00
2002-01-05 21:05:47 +00:00
2002-01-05 21:05:47 +00:00
2003-05-11 13:40:01 +00:00
2018-04-25 16:54:50 -04:00
2018-04-25 16:54:50 -04:00
2018-04-25 16:54:50 -04:00
2018-04-25 16:54:50 -04:00
2018-04-25 16:54:50 -04:00
2020-11-28 08:59:03 -05:00
2019-05-09 17:15:14 -07:00
2020-11-28 08:59:03 -05:00
2020-01-27 18:11:43 -05:00
2016-06-19 19:52:28 -04:00
2020-02-15 14:42:00 -08:00
2021-03-26 16:19:24 -07:00
2021-03-26 16:19:24 -07:00
2021-01-03 13:37:25 -06:00
2018-11-11 10:29:52 -05:00
2018-11-11 10:29:52 -05:00
2020-01-19 23:09:53 -05:00
2021-01-30 12:28:23 -05:00
2018-04-25 16:54:50 -04:00
2018-09-20 18:02:48 -04:00
2021-03-13 18:18:53 -08:00