summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-tornado.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2012-12-25 07:27:35 +0100
committerAdam Borowski <kilobyte@angband.pl>2012-12-31 17:59:11 +0100
commit2389355033f7f1596b5cab948f8ba847196a0aa6 (patch)
tree7975d9d782e5cebdc3200a7883fd99ec953c960f /crawl-ref/source/spl-tornado.cc
parentd2c2aaaba38c91eb23af4e08cdc6ad04df0fb702 (diff)
downloadcrawl-ref-2389355033f7f1596b5cab948f8ba847196a0aa6.tar.gz
crawl-ref-2389355033f7f1596b5cab948f8ba847196a0aa6.zip
Give tree form -MOVE, -TELE and -Fly.
Diffstat (limited to 'crawl-ref/source/spl-tornado.cc')
-rw-r--r--crawl-ref/source/spl-tornado.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/crawl-ref/source/spl-tornado.cc b/crawl-ref/source/spl-tornado.cc
index aca7a00f5b..c7d1e4445b 100644
--- a/crawl-ref/source/spl-tornado.cc
+++ b/crawl-ref/source/spl-tornado.cc
@@ -105,8 +105,11 @@ static void _set_tornado_durations(int powc)
{
int dur = 60;
you.duration[DUR_TORNADO] = dur;
- you.duration[DUR_FLIGHT] = max(dur, you.duration[DUR_FLIGHT]);
- you.attribute[ATTR_FLIGHT_UNCANCELLABLE] = 1;
+ if (you.form != TRAN_TREE)
+ {
+ you.duration[DUR_FLIGHT] = max(dur, you.duration[DUR_FLIGHT]);
+ you.attribute[ATTR_FLIGHT_UNCANCELLABLE] = 1;
+ }
}
spret_type cast_tornado(int powc, bool fail)
@@ -135,8 +138,8 @@ spret_type cast_tornado(int powc, bool fail)
fail_check();
mprf("A great vortex of raging winds %s.",
- you.airborne() ? "appears around you"
- : "appears and lifts you up");
+ (you.airborne() || you.form == TRAN_TREE) ?
+ "appears around you" : "appears and lifts you up");
if (you.fishtail)
merfolk_stop_swimming();
@@ -312,6 +315,11 @@ void tornado_damage(actor *caster, int dur)
leda = true;
continue;
}
+ if (victim->is_player() && you.form == TRAN_TREE)
+ {
+ leda = true;
+ continue;
+ }
leda = victim->liquefied_ground()
|| victim->is_monster()