summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells3.cc
diff options
context:
space:
mode:
authorDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-29 19:16:59 -0500
committerDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-29 19:19:00 -0500
commit3ee3c36bb7013cfe25662410b075afafd229d019 (patch)
tree42523b3d8e488ca8f7568f41dd2c3e4fce71173f /crawl-ref/source/spells3.cc
parent0b6632423e2e7abd23cf84aae60812648c586016 (diff)
downloadcrawl-ref-3ee3c36bb7013cfe25662410b075afafd229d019.tar.gz
crawl-ref-3ee3c36bb7013cfe25662410b075afafd229d019.zip
When using items that can directly turn monsters to zombies (weapons of
shadows or chaos) as a good god worshipper, ensure that the "turns into a zombie" message always comes before the "enraged by your holy aura" message.
Diffstat (limited to 'crawl-ref/source/spells3.cc')
-rw-r--r--crawl-ref/source/spells3.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc
index 7ea2fff9b4..094595ca72 100644
--- a/crawl-ref/source/spells3.cc
+++ b/crawl-ref/source/spells3.cc
@@ -921,7 +921,7 @@ void equip_undead(const coord_def &a, int corps, int monster, int monnum)
static bool _raise_remains(const coord_def &pos, int corps, beh_type beha,
unsigned short hitting, god_type god, bool actual,
- int* mon_index)
+ bool force_beh, int* mon_index)
{
if (mon_index != NULL)
*mon_index = -1;
@@ -967,7 +967,7 @@ static bool _raise_remains(const coord_def &pos, int corps, beh_type beha,
int monster = create_monster(
mgen_data(mon, beha,
0, 0, pos, hitting,
- 0, god,
+ MG_FORCE_BEH, god,
zombie_type, number));
if (mon_index != NULL)
@@ -985,6 +985,9 @@ static bool _raise_remains(const coord_def &pos, int corps, beh_type beha,
destroy_item(corps);
+ if (!force_beh)
+ player_angers_monster(&menv[monster]);
+
return (true);
}
@@ -993,7 +996,8 @@ static bool _raise_remains(const coord_def &pos, int corps, beh_type beha,
int animate_remains(const coord_def &a, corpse_type class_allowed,
beh_type beha, unsigned short hitting,
god_type god, bool actual,
- bool quiet, int* mon_index)
+ bool quiet, bool force_beh,
+ int* mon_index)
{
if (is_sanctuary(a))
return (0);
@@ -1016,7 +1020,7 @@ int animate_remains(const coord_def &a, corpse_type class_allowed,
const bool was_butchering = is_being_butchered(*si);
success = _raise_remains(a, si.link(), beha, hitting, god, actual,
- mon_index);
+ force_beh, mon_index);
if (actual && success)
{