summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/ouch.cc
diff options
context:
space:
mode:
authorStefan O'Rear <stefanor@cox.net>2009-11-13 14:40:02 -0800
committerStefan O'Rear <stefanor@cox.net>2009-11-13 14:40:02 -0800
commitd5e801f43d1a82f62e70d74bb0b6cd98b214f72d (patch)
tree292dd3b134feecb7a58b8d7b289d8eaf07649e34 /crawl-ref/source/ouch.cc
parent9792c928e85a9bdee9627fe4d6fb0dd64366ce36 (diff)
downloadcrawl-ref-d5e801f43d1a82f62e70d74bb0b6cd98b214f72d.tar.gz
crawl-ref-d5e801f43d1a82f62e70d74bb0b6cd98b214f72d.zip
Fix passive freeze proccing on torment
Diffstat (limited to 'crawl-ref/source/ouch.cc')
-rw-r--r--crawl-ref/source/ouch.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/crawl-ref/source/ouch.cc b/crawl-ref/source/ouch.cc
index 34f4637bf8..a0d001fd3c 100644
--- a/crawl-ref/source/ouch.cc
+++ b/crawl-ref/source/ouch.cc
@@ -866,9 +866,12 @@ static void _yred_mirrors_injury(int dam, int death_source)
}
}
-static void _passive_freeze(kill_method_type death_type, int death_source)
+static void _passive_freeze(kill_method_type death_type, const char *aux,
+ int death_source)
{
- if (you.mutation[MUT_PASSIVE_FREEZE] && death_type == KILLED_BY_MONSTER)
+ const char *ptr = strstr(aux, "torment");
+ if (you.mutation[MUT_PASSIVE_FREEZE] && death_type == KILLED_BY_MONSTER
+ && ptr == NULL)
{
if (invalid_monster_index(death_source))
return;
@@ -1084,7 +1087,7 @@ void ouch(int dam, int death_source, kill_method_type death_type,
Note(NOTE_HP_CHANGE, you.hp, you.hp_max, damage_desc.c_str()) );
_yred_mirrors_injury(dam, death_source);
- _passive_freeze(death_type, death_source);
+ _passive_freeze(death_type, aux, death_source);
_maybe_spawn_jellies(dam, aux, death_type, death_source);
return;