summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-flags.h
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2012-05-23 13:29:24 +0200
committerAdam Borowski <kilobyte@angband.pl>2012-05-23 14:42:01 +0200
commit57a18187a96c97dec27c0fa1ecd84194de02bd1e (patch)
treee923242e62c09a66b9d0a8b66f4387d6d28f43ba /crawl-ref/source/mon-flags.h
parente0dedcc5203131b8f11bb97d026bbc51a09c4a81 (diff)
downloadcrawl-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.h1
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