]> granicus.if.org Git - nethack/commit
fix github issue #169 - monst vs vibrating square
authorPatR <rankin@nethack.org>
Wed, 19 Dec 2018 22:52:23 +0000 (14:52 -0800)
committerPatR <rankin@nethack.org>
Wed, 19 Dec 2018 22:52:23 +0000 (14:52 -0800)
commitc429cf55849a89a33db39781945dcc8316f1888f
treee72ee19d0c8c54c2d98237deeb9bfc3c418d265a
parenta2296d043fa57d94dec833ed0d224b83bbdc79aa
fix github issue #169 - monst vs vibrating square

Fixes #169

Monsters should not be afraid of stepping on the vibrating square
since it's only a trap for display purposes.  [Perhaps they should
deliberately avoid it if the hero hasn't seen it yet, but I didn't
implement that.]

"You see a strange vibration beneath <mon's> <parts>." was strange
when <parts> was a wolf's "rear paws" or horse's "rear hooves"--was
the vibration magically skipping the front ones?  And it sounded
naughty when it was a snake's "rear regions".  If the creature has no
limbs or is floating or flying, just say "beneath <mon>"; otherwise,
if the part is "rear <something>", omit "rear ".

The message was weird in another way.  Caller removes the monster
from it's old location and places it on the new one, calls newsym()
for the old location to show lack of monster, but then calls mintrap()
before newsym() for monster's new location (the trap's location).  If
pline messages cause buffered map output to be flushed, the monster
will be missing during the time the messages are delivered.  I fixed
that for vibrating square [seetrap()->newsym() before pline() rather
than after] but it should probably be fixed in the caller instead.
doc/fixes36.2
src/mon.c
src/trap.c