summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
authorMikko Vepsalainen <mtvepsal@gmail.com>2014-06-07 15:24:58 +0300
committerNicholas Feinberg <pleasingfung@gmail.com>2014-06-22 18:26:45 -0700
commit22f47d3353ec313679f8efc18aefff1c61a2ed5e (patch)
tree022903bb04158ae79790833e998ef79b17fbc1b7 /crawl-ref/source/view.cc
parent9a6eb5300318d0cb475c6a33798811d148014674 (diff)
downloadcrawl-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.cc25
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
}
}