summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/abl-show.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/abl-show.cc')
-rw-r--r--crawl-ref/source/abl-show.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc
index 3770c286a8..11f454d2db 100644
--- a/crawl-ref/source/abl-show.cc
+++ b/crawl-ref/source/abl-show.cc
@@ -63,6 +63,7 @@
#include "spells2.h"
#include "spells3.h"
#include "spells4.h"
+#include "state.h"
#include "stuff.h"
#include "transfor.h"
#include "tutorial.h"
@@ -811,6 +812,7 @@ bool activate_ability()
if ( talents.empty() )
{
mpr("Sorry, you're not good enough to have a special ability.");
+ crawl_state.zero_turns_taken();
return false;
}
if ( you.duration[DUR_CONF] )
@@ -819,6 +821,7 @@ bool activate_ability()
if ( talents.empty() )
{
mpr("You're too confused!");
+ crawl_state.zero_turns_taken();
return false;
}
}
@@ -857,6 +860,7 @@ bool activate_ability()
if ( selected < 0 )
{
mpr("You can't do that.");
+ crawl_state.zero_turns_taken();
return (false);
}
}
@@ -886,6 +890,7 @@ static bool activate_talent(const talent& tal)
if (hungerCheck && you.hunger_state <= HS_STARVING)
{
mpr("You're too hungry.");
+ crawl_state.zero_turns_taken();
return (false);
}
@@ -893,10 +898,16 @@ static bool activate_talent(const talent& tal)
// check that we can afford to pay the costs
if (!enough_mp( abil.mp_cost, false ))
+ {
+ crawl_state.zero_turns_taken();
return (false);
+ }
if (!enough_hp( abil.hp_cost, false ))
+ {
+ crawl_state.zero_turns_taken();
return (false);
+ }
// no turning back now... {dlb}
if (random2avg(100, 3) < tal.fail)