summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/abl-show.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-19 01:19:56 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-19 01:19:56 +0000
commit725cb5b4d5a3ade5c5e7b04a6210cedc839c2bdd (patch)
treed2644ce5f13e7ab649b27b49f7bdcde18802a6b1 /crawl-ref/source/abl-show.cc
parent1a36197574afe860feff7208cd883770a5d28946 (diff)
downloadcrawl-ref-725cb5b4d5a3ade5c5e7b04a6210cedc839c2bdd.tar.gz
crawl-ref-725cb5b4d5a3ade5c5e7b04a6210cedc839c2bdd.zip
Added new commands "re-do previous command" (bound to `) and "repeat
next command" (bound to 0). Though this is just an interface change, it changes code in the core input processing function (input() in acr.cc), and also messes around with the input buffer, so it could probably do with more testing before merging it into the 0.3 branch. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2137 c06c8d41-db1a-0410-9941-cceddc491573
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)