summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/ouch.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/ouch.cc')
-rw-r--r--crawl-ref/source/ouch.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/crawl-ref/source/ouch.cc b/crawl-ref/source/ouch.cc
index 2faca91b49..ca82412f81 100644
--- a/crawl-ref/source/ouch.cc
+++ b/crawl-ref/source/ouch.cc
@@ -636,7 +636,7 @@ void lose_level()
xom_is_stimulated(255);
}
-void drain_exp(bool announce_full)
+bool drain_exp(bool announce_full)
{
const int protection = player_prot_life();
@@ -644,20 +644,23 @@ void drain_exp(bool announce_full)
{
if (announce_full)
canned_msg(MSG_YOU_RESIST);
- return;
+
+ return (false);
}
if (you.experience == 0)
{
ouch(INSTANT_DEATH, NON_MONSTER, KILLED_BY_DRAINING);
+
// Return in case death was escaped via wizard mode.
- return;
+ return (true);
}
if (you.experience_level == 1)
{
you.experience = 0;
- return;
+
+ return (true);
}
unsigned long total_exp = exp_needed(you.experience_level + 2)
@@ -708,7 +711,11 @@ void drain_exp(bool announce_full)
if (you.experience < exp_needed(you.experience_level + 1))
lose_level();
+
+ return (true);
}
+
+ return (false);
}
static void _xom_checks_damage(kill_method_type death_type,