diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-07-08 15:54:02 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-07-08 15:54:02 +0000 |
commit | 2e6e327fcefc772e02f8d6db1232fb97aaaab597 (patch) | |
tree | 33aca0589101dcd6b3da808aa719f8b520276e2f /crawl-ref/source/transfor.cc | |
parent | 4a6ed4aa315d47f6ac7186eb217e08c6bea38a1d (diff) | |
download | crawl-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.cc | 16 |
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 |