diff options
author | DracoOmega <draco_omega@live.com> | 2014-02-20 13:55:46 -0330 |
---|---|---|
committer | Steve Melenchuk <smelenchuk@gmail.com> | 2014-03-06 09:58:04 -0700 |
commit | 8775c94ab80febb6c3c4fa3c967e77e82993b02f (patch) | |
tree | 34a8603f1e58bb7940dcdc8d7a19ccfc577e1ef4 /crawl-ref/source/mon-ench.cc | |
parent | c60085f66cc3fa0e7dd44289e96877a76c277196 (diff) | |
download | crawl-ref-8775c94ab80febb6c3c4fa3c967e77e82993b02f.tar.gz crawl-ref-8775c94ab80febb6c3c4fa3c967e77e82993b02f.zip |
Some Summon Greater Demon adjustments
Greater Demon was hit especially hard by the overall summoning
nerfs for reasons that aren't immediately obvious. Given that the
strongest demons are guaranteed to eventually turn hostile, it was
a fairly common tactic to keep your distance from them while they
fought (lest you be tormented or hellfired without warning), but
now not only do you need to stay closer to them for them to continue
fighting, but it is difficult to actually leave them behind if you
try! Even if you tell the demon to wait, if it attempts to engage
a hostile (as it will if any are around) and then loses LoS to you,
it will dutifully run right back after you, even if what you WANTED
was to lose LoS to it. (Also, a small cap means fewer friendly demons
to quickly dispatch any that turn hostile before they can harm you).
The charm duration was extremely low compared to the full summon
duration of the demons, frequently making 1s that were friendly for
only 10 turns and then hostile for 90 turns afterward. Combined with
the noticeable chance of all demons being outright hostile from the
start, I feel that the risk/reward ration of this spell was just not
equitable anymore.
This commit makes three changes aimed at keeping the intent of the
spell while making it more useable under the new summoning conditions:
1) Summoned 1s remain charmed for longer (duration somewhat influenced
by spellpower)
2) Overall duration of summons is reduced (which should make it easier
to abjure any hostile demons you end up with, whether they are
hostile immediately or later)
3) 1s breaking free of charm lose their first action afterward, so that
they can no longer torment/hellfire the player as the very first
indication of their becoming hostile.
Ideally this keeps the spell's identity as one with powerful upsides,
but also risks, while tilting the balance more in the player's favor
and making the risks more manageable when forced to maintain proximity
with temperamental fiends.
Diffstat (limited to 'crawl-ref/source/mon-ench.cc')
-rw-r--r-- | crawl-ref/source/mon-ench.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-ench.cc b/crawl-ref/source/mon-ench.cc index aaa8c63375..3e76e24e3e 100644 --- a/crawl-ref/source/mon-ench.cc +++ b/crawl-ref/source/mon-ench.cc @@ -576,7 +576,12 @@ void monster::remove_enchantment_effect(const mon_enchant &me, bool quiet) case ENCH_CHARM: if (!quiet) - simple_monster_message(this, " is no longer charmed."); + { + if (props.exists("charmed_demon")) + simple_monster_message(this, " breaks free of your control!"); + else + simple_monster_message(this, " is no longer charmed."); + } if (you.can_see(this)) { @@ -593,6 +598,13 @@ void monster::remove_enchantment_effect(const mon_enchant &me, bool quiet) } mons_att_changed(this); + // If a greater demon is breaking free, give the player time to respond + if (props.exists("charmed_demon")) + { + speed_increment -= speed; + props.erase("charmed_demon"); + } + // Reevaluate behaviour. behaviour_event(this, ME_EVAL); break; |