diff options
author | Michael Gagno <evilmike@gmail.com> | 2012-09-01 20:17:02 -0700 |
---|---|---|
committer | Michael Gagno <evilmike@gmail.com> | 2012-09-01 20:35:43 -0700 |
commit | 5cea4aff000102919213442d93b72968f8918b97 (patch) | |
tree | 582e59f4ca7ab9404ed1e2507d4a50f82e3af921 /crawl-ref/source/mon-flags.h | |
parent | 19be3285a86ae5b6a4738b8f795c93d808447aa0 (diff) | |
download | crawl-ref-5cea4aff000102919213442d93b72968f8918b97.tar.gz crawl-ref-5cea4aff000102919213442d93b72968f8918b97.zip |
Heavily restrict which monsters are able to flee at low HP.
This has been discussed in ##crawl-dev and elsewhere, and has so far met no
negative feedback (and there has been quite a bit of positive). I think this
is worth trying in trunk; if something goes wrong it's easy to revert, or
water down.
This commit does two things:
1. It replaces the M_NO_FLEE flag with M_FLEES, and gives it to only a
select few monsters.
2. It simplifies the logic for fleeing at low HP a bit: instead of checking
a bunch of different attributes (intelligence, holiness, etc), it only
checks for the M_FLEES flag.
As for which monsters get M_FLEES: currently it is only monsters which used
to flee under the old system, and also possess ranged attacks (this is
because they can decide to stop fleeing and start attacking you at range).
This is more interesting than melee-only enemies fleeing, which are unable
to do anything but run into a corner. Thus, a fire drake will flee, but a
yak will not.
I believe the balance concerns here are insignificant, once players learn to
adapt to this change. If there is a problem, we could change which monsters
get M_FLEES. Nevertheless, this is something we should pay attention to as
people play trunk (it may be helpful to compare kill stats, before and
after, for monsters like hydras and death yaks).
Finally, I should note that this does not change fleeing caused by fear
effects, and it does not affect other "emergency" abilities (bears will
still berserk at low HP, in other words).
Diffstat (limited to 'crawl-ref/source/mon-flags.h')
-rw-r--r-- | crawl-ref/source/mon-flags.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crawl-ref/source/mon-flags.h b/crawl-ref/source/mon-flags.h index a64b1a92db..c06fe68651 100644 --- a/crawl-ref/source/mon-flags.h +++ b/crawl-ref/source/mon-flags.h @@ -134,8 +134,8 @@ const uint64_t M_UNFINISHED = (uint64_t)1<<40; const uint64_t M_HERD = (uint64_t)1<<41; -// will not flee -const uint64_t M_NO_FLEE = (uint64_t)1<<42; +// can flee at low hp +const uint64_t M_FLEES = (uint64_t)1<<42; // can sense vibrations in web traps const uint64_t M_WEB_SENSE = (uint64_t)1<<43; |