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.
This commit is contained in:
PatR
2019-06-08 04:50:40 -07:00
parent fabfe276fe
commit c741d6c7c9
9 changed files with 158 additions and 45 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.42 $ $NHDT-Date: 1559851954 2019/06/06 20:12:34 $
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.43 $ $NHDT-Date: 1559994620 2019/06/08 11:50:20 $
This fixes36.3 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.2 in May 2019. Please note, however,
@@ -59,6 +59,10 @@ when finding a place to put a monster on the Plane of Water, don't pick a
water location for flyers or floaters (levitate) or clingers (ceiling)
#turn worked when unable to speak despite "you chant an arcane formula"
#turn implicitly required sight due to wrong check for avoiding spanning walls
thrown or kicked light source (lit lamp, candle, oil) should emit light as it
traverses the map; dungeon features, objects, or monsters seen while
it's in transit will become part of hero's memory of the level, and
any messages delivered won't have stale light from it around the hero
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository