summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/delay.cc
diff options
context:
space:
mode:
authorpubby <pubby8@gmail.com>2013-06-12 02:34:30 -0500
committerNeil Moore <neil@s-z.org>2013-08-25 00:12:25 -0400
commit2211e5ff2f25adfb931eb0ff32b274afa7eb7ed5 (patch)
tree4568295ed3a6c1bd2c0df4bc8db167db1809c043 /crawl-ref/source/delay.cc
parent9c1491e134d7c43d0ad2c4ebd444a3a2199b457b (diff)
downloadcrawl-ref-2211e5ff2f25adfb931eb0ff32b274afa7eb7ed5.tar.gz
crawl-ref-2211e5ff2f25adfb931eb0ff32b274afa7eb7ed5.zip
Create Formicid species and monsters.
Tavern post: https://crawl.develz.org/tavern/viewtopic.php?f=8&t=8298 Wierdness & mutations: - poison weakness - retractable antennae (can wear headgear and ignore mutation) - chitin skin (+3 AC) - most weapons 1-handed, big weapons 2-handed - permanent stasis - ability to shaft self - ability to dig - Starts with 2 curing pots 3 monster versions of formicids were added: formicid, a weak fighter formicid drone, a stronger fighter formicid venom mage, a magician with olgreb's and mass cure poison [ Pushing to a branch for experimental playtesting on CSZO. Also optimised the new tiles. -nfm ]
Diffstat (limited to 'crawl-ref/source/delay.cc')
-rw-r--r--crawl-ref/source/delay.cc27
1 files changed, 26 insertions, 1 deletions
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index ac4d835101..63cb187077 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"
@@ -58,6 +59,7 @@
#include "stuff.h"
#include "env.h"
#include "transform.h"
+#include "traps.h"
#include "travel.h"
#include "hints.h"
#include "view.h"
@@ -384,6 +386,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
@@ -708,6 +718,10 @@ void handle_delay()
case DELAY_PASSWALL:
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;
case DELAY_RECITE:
{
@@ -924,6 +938,11 @@ void handle_delay()
MSGCH_MULTITURN_ACTION);
break;
+ case DELAY_SHAFT_SELF:
+ mpr("You continue digging a shaft.",
+ MSGCH_MULTITURN_ACTION);
+ break;
+
case DELAY_RECITE:
{
mprf(MSGCH_MULTITURN_ACTION, "\"%s\"",
@@ -1173,6 +1192,12 @@ 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:
{
@@ -1929,7 +1954,7 @@ static const char *delay_names[] =
"jewellery_on", "memorise", "butcher", "bottle_blood", "weapon_swap",
"passwall", "drop_item", "multidrop", "ascending_stairs",
"descending_stairs", "recite", "run", "rest", "travel", "macro",
- "macro_process_key", "interruptible", "uninterruptible"
+ "macro_process_key", "interruptible", "uninterruptible", "shaft self"
};
// Gets a delay given its name.