]> granicus.if.org Git - nethack/commit
crossing long worms' tails (trunk only)
authornethack.rankin <nethack.rankin>
Tue, 17 Jul 2007 00:29:44 +0000 (00:29 +0000)
committernethack.rankin <nethack.rankin>
Tue, 17 Jul 2007 00:29:44 +0000 (00:29 +0000)
commitce018468c4e6d55a12ca9e13ef1a83f52915e6be
treeaeb09b24bc6d40c8d21661942fe16a4a4f63ee02
parent557650ac555a13d97677d99128c548a6260b3d7b
crossing long worms' tails (trunk only)

     This is one of the items from "#Q397: List of Bugs from #nethack" sent
in Janurary by <email deleted> and containing a list
of things collected from the IRC channel associated with nethack.alt.org's
public server.  Moving diagonally between segments of a worm tail is
conceptually passing right through the worm's body.  This patch prevents
moving in such a fashion for both the hero and monsters (it's still
possible to fight in that position though).  It only applies when the two
tail segments are consecutive.

|......  In the diagram here, where tail segments are represented by
|.w1?..  digits indicating relative sequence number, the @ can still
|..@2..  move between segments 2 and 5 to reach !, but can no longer
|.65!3.  move between 1 and 2 to reach ?.  [However, if there is a
|...4..  monster at the ? spot, it can still hit @ and vice versa.]

     Missiles and wand zaps still pass through such diagonals without
noticing or affecting the worm.  I'm not sure whether this ought to be
extended to change that--it might get pretty messy since it would need
to be considered during monsters' targetting as well as during the path
traversal itself.
doc/fixes35.0
include/extern.h
src/hack.c
src/mon.c
src/worm.c