]> granicus.if.org Git - nethack/commit
missile light sources
authorPatR <rankin@nethack.org>
Sat, 8 Jun 2019 11:50:40 +0000 (04:50 -0700)
committerPatR <rankin@nethack.org>
Sat, 8 Jun 2019 11:50:40 +0000 (04:50 -0700)
commitc741d6c7c950c023c8135b2211064ee0d29c5c77
treed3fa8d9fa2fd53f1e9dcda3fa75b0ac272f82c18
parentfabfe276fe65533901ea22d77bc6fe1b26a09b90
missile light sources

Throwing or kicking a lit lamp, lit candle, or lit potion of oil
wasn't giving off any light as it travelled to its destination.
Now it does, and dungeon features, objects, or monsters that are
temporarily seen as it moves from square to square till appear on
the map.  In the monster case, they go away as soon as the light
moves beyond range, but when it finishes moving the "remembered,
unseen monster" glyph will be drawn at their location.  I think that
part has some room for improvement, but mapping temporarily seen
terrain features is the primary impetus for this change.

Also, any message delivery while the "lit missile" travelled still
showed its light around the hero.  Noticeable for lamps or stacks
of sufficient candles if hero has no other light source.

This cannibalizes the monst->mburied bit for temporarily seeing a
monster.  It has been present but unused for ages.  I needed to
replace a couple of vision macros to make sure they didn't examine
it any more so that overloading for transient lighting doesn't
introduce any vision oddities.  For version $NEXT, monst->mtemplit
can be given its own bit.  It is only set during bhit() execution
and cleared by the time that returns, so has no effect on save files.
doc/fixes36.3
include/display.h
include/extern.h
include/monst.h
include/rm.h
include/vision.h
src/light.c
src/save.c
src/zap.c