diff options
author | Adam Borowski <kilobyte@angband.pl> | 2012-05-23 13:29:24 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2012-05-23 14:42:01 +0200 |
commit | 57a18187a96c97dec27c0fa1ecd84194de02bd1e (patch) | |
tree | e923242e62c09a66b9d0a8b66f4387d6d28f43ba /crawl-ref/source/mon-flags.h | |
parent | e0dedcc5203131b8f11bb97d026bbc51a09c4a81 (diff) | |
download | crawl-ref-57a18187a96c97dec27c0fa1ecd84194de02bd1e.tar.gz crawl-ref-57a18187a96c97dec27c0fa1ecd84194de02bd1e.zip |
Track whether a monster has shown it has a ranged attack.
This fixes information leaks (the other option would be to include
bows/crossbows slung across the shoulder in "comes into view" messages).
This also allows resting when there's a sentient monster on the other
side of water and it has no means of attacking us. If this proved to be
false and it did have darts hidden in a pocket but never chose to use
them before, the attack will interrupt rest as usual.
Monsters are considered to have a ranged attack they're:
* non-ghost/demon with ranged/summoning spells
There is no randomization that would change this.
* ghost/demons who have cast _any_ spell. It's prudent to assume that if
they cast spells at all, they likely have something nasty.
* are of a type which usually starts with a ranged weapon (centaurs, etc),
and are not a known shapeshifter
* were seen wielding a bow/etc
* were seen shooting/throwing something
* were seen picking a bow/dart/hand axe/...
* were seen zapping a wand
Diffstat (limited to 'crawl-ref/source/mon-flags.h')
-rw-r--r-- | crawl-ref/source/mon-flags.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-flags.h b/crawl-ref/source/mon-flags.h index 0ccf9073e0..c90051a0a0 100644 --- a/crawl-ref/source/mon-flags.h +++ b/crawl-ref/source/mon-flags.h @@ -214,4 +214,5 @@ const uint64_t MF_NAME_ZOMBIE = BIT(32); // mname replaces zombies/skele const uint64_t MF_SENSED = BIT(33); // Player has been warned // about this monster being nearby. const uint64_t MF_NAME_NOCORPSE = BIT(34); // mname should not be used for corpses +const uint64_t MF_SEEN_RANGED = BIT(35); // known to have a ranged attack #endif |