diff options
author | Mikko Vepsalainen <mtvepsal@gmail.com> | 2014-06-07 15:24:58 +0300 |
---|---|---|
committer | Nicholas Feinberg <pleasingfung@gmail.com> | 2014-06-22 18:26:45 -0700 |
commit | 22f47d3353ec313679f8efc18aefff1c61a2ed5e (patch) | |
tree | 022903bb04158ae79790833e998ef79b17fbc1b7 /crawl-ref/source/view.cc | |
parent | 9a6eb5300318d0cb475c6a33798811d148014674 (diff) | |
download | crawl-ref-22f47d3353ec313679f8efc18aefff1c61a2ed5e.tar.gz crawl-ref-22f47d3353ec313679f8efc18aefff1c61a2ed5e.zip |
Duvessa and Dowan cleanup.
Avoid some code duplication, minor cleanup. Functional change: Dowan will haste
even when invisible, if he's near when Duvessa dies (consistent with Duvessa's
berserking).
[Committer's note: Exported some properties to mon-death.h &
added an attempt at save-compat... such as it is.]
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r-- | crawl-ref/source/view.cc | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc index 0842f32ada..8d46ab024c 100644 --- a/crawl-ref/source/view.cc +++ b/crawl-ref/source/view.cc @@ -41,6 +41,7 @@ #include "message.h" #include "misc.h" #include "mon-behv.h" +#include "mon-death.h" #include "mon-poly.h" #include "mon-util.h" #include "options.h" @@ -147,20 +148,24 @@ void seen_monsters_react() gozag_check_bribe(*mi); slime_convert(*mi); - // XXX: Hack for triggering Duvessa's going berserk. - if (mi->props.exists("duvessa_berserk")) + // Trigger Duvessa & Dowan upgrades + if (mi->props.exists(ELVEN_ENERGIZE_KEY)) { - mi->props.erase("duvessa_berserk"); - mi->go_berserk(true); + mi->props.erase(ELVEN_ENERGIZE_KEY); + elven_twin_energize(*mi); } - - // XXX: Hack for triggering Dowan's spell changes. - if (mi->props.exists("dowan_upgrade")) +#if TAG_MAJOR_VERSION == 34 + else if (mi->props.exists(OLD_DUVESSA_ENERGIZE_KEY)) + { + mi->props.erase(OLD_DUVESSA_ENERGIZE_KEY); + elven_twin_energize(*mi); + } + else if (mi->props.exists(OLD_DOWAN_ENERGIZE_KEY)) { - mi->add_ench(ENCH_HASTE); - mi->props.erase("dowan_upgrade"); - simple_monster_message(*mi, " seems to find hidden reserves of power!"); + mi->props.erase(OLD_DOWAN_ENERGIZE_KEY); + elven_twin_energize(*mi); } +#endif } } |