summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/transfor.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-08 15:54:02 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-08 15:54:02 +0000
commit2e6e327fcefc772e02f8d6db1232fb97aaaab597 (patch)
tree33aca0589101dcd6b3da808aa719f8b520276e2f /crawl-ref/source/transfor.cc
parent4a6ed4aa315d47f6ac7186eb217e08c6bea38a1d (diff)
downloadcrawl-ref-2e6e327fcefc772e02f8d6db1232fb97aaaab597.tar.gz
crawl-ref-2e6e327fcefc772e02f8d6db1232fb97aaaab597.zip
Stop butcher delays when blade hands wears off (Eva).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1801 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/transfor.cc')
-rw-r--r--crawl-ref/source/transfor.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/crawl-ref/source/transfor.cc b/crawl-ref/source/transfor.cc
index d90b73667b..fd97820d64 100644
--- a/crawl-ref/source/transfor.cc
+++ b/crawl-ref/source/transfor.cc
@@ -20,6 +20,7 @@
#include "externs.h"
+#include "delay.h"
#include "it_use2.h"
#include "itemprop.h"
#include "items.h"
@@ -367,6 +368,11 @@ bool transform(int pow, transformation_type which_trans)
return (false);
} // end transform()
+bool transform_can_butcher_barehanded(transformation_type tt)
+{
+ return (tt == TRAN_BLADE_HANDS || tt == TRAN_DRAGON);
+}
+
void untransform(void)
{
FixedVector < char, 8 > rem_stuff;
@@ -382,7 +388,9 @@ void untransform(void)
you.colour = LIGHTGREY;
// must be unset first or else infinite loops might result -- bwr
- const int old_form = you.attribute[ ATTR_TRANSFORMATION ];
+ const transformation_type old_form =
+ static_cast<transformation_type>(you.attribute[ ATTR_TRANSFORMATION ]);
+
you.attribute[ ATTR_TRANSFORMATION ] = TRAN_NONE;
you.duration[ DUR_TRANSFORMATION ] = 0;
@@ -456,8 +464,14 @@ void untransform(void)
modify_stat(STAT_STRENGTH, -13, true);
hp_downscale = 17;
break;
+
+ default:
+ break;
}
+ if (transform_can_butcher_barehanded(old_form))
+ stop_butcher_delay();
+
// If nagas wear boots while transformed, they fall off again afterwards:
// I don't believe this is currently possible, and if it is we
// probably need something better to cover all possibilities. -bwr