summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/delay.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2013-11-06 18:34:28 +0100
committerAdam Borowski <kilobyte@angband.pl>2013-11-06 18:39:02 +0100
commit415669d7ad597855086ca2e0c07d219b6e0e8e9b (patch)
tree88c3239634153fbaed8bd891025cc0818ef5331f /crawl-ref/source/delay.cc
parent9c199ebd5f80cafa670c0df01702ce7dc5dfc1d9 (diff)
parented4c75b69af01a021233cc3f9255223ad299fe8c (diff)
downloadcrawl-ref-415669d7ad597855086ca2e0c07d219b6e0e8e9b.tar.gz
crawl-ref-415669d7ad597855086ca2e0c07d219b6e0e8e9b.zip
Merge branch 'dwants'. Bring some Raid.
Diffstat (limited to 'crawl-ref/source/delay.cc')
-rw-r--r--crawl-ref/source/delay.cc24
1 files changed, 23 insertions, 1 deletions
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index 6d8e249f2e..357496d499 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -20,6 +20,7 @@
#include "delay.h"
#include "describe.h"
#include "directn.h"
+#include "dungeon.h"
#include "exercise.h"
#include "enum.h"
#include "fprop.h"
@@ -55,6 +56,7 @@
#include "stuff.h"
#include "env.h"
#include "transform.h"
+#include "traps.h"
#include "travel.h"
#include "hints.h"
#include "view.h"
@@ -357,6 +359,14 @@ void stop_delay(bool stop_stair_travel, bool force_unsafe)
}
break;
+ case DELAY_SHAFT_SELF:
+ if (stop_stair_travel)
+ {
+ mpr("You stop digging.");
+ _pop_delay();
+ }
+ break;
+
case DELAY_WEAPON_SWAP: // one turn... too much trouble
case DELAY_DROP_ITEM: // one turn... only used for easy armour drops
case DELAY_JEWELLERY_ON: // one turn
@@ -682,6 +692,10 @@ void handle_delay()
mpr("You begin to meditate on the wall.", MSGCH_MULTITURN_ACTION);
break;
+ case DELAY_SHAFT_SELF:
+ mpr("You begin to dig a shaft.", MSGCH_MULTITURN_ACTION);
+ break;
+
default:
break;
}
@@ -874,6 +888,10 @@ void handle_delay()
MSGCH_MULTITURN_ACTION);
break;
+ case DELAY_SHAFT_SELF:
+ mpr("You continue digging a shaft.", MSGCH_MULTITURN_ACTION);
+ break;
+
case DELAY_MULTIDROP:
if (!drop_item(items_for_multidrop[0].slot,
items_for_multidrop[0].quantity))
@@ -1068,6 +1086,10 @@ static void _finish_delay(const delay_queue_item &delay)
break;
}
+ case DELAY_SHAFT_SELF:
+ you.do_shaft_ability();
+ break;
+
case DELAY_BUTCHER:
case DELAY_BOTTLE_BLOOD:
{
@@ -1830,7 +1852,7 @@ static const char *delay_names[] =
"recite",
#endif
"run", "rest", "travel", "macro",
- "macro_process_key", "interruptible", "uninterruptible"
+ "macro_process_key", "interruptible", "uninterruptible", "shaft self",
};
// Gets a delay given its name.