diff options
author | Adam Borowski <kilobyte@angband.pl> | 2012-12-25 07:27:35 +0100 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2012-12-31 17:59:11 +0100 |
commit | 2389355033f7f1596b5cab948f8ba847196a0aa6 (patch) | |
tree | 7975d9d782e5cebdc3200a7883fd99ec953c960f /crawl-ref/source/spl-tornado.cc | |
parent | d2c2aaaba38c91eb23af4e08cdc6ad04df0fb702 (diff) | |
download | crawl-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.cc | 16 |
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() |