diff options
author | Adam Borowski <kilobyte@angband.pl> | 2013-10-18 06:49:40 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2013-10-18 06:49:40 +0200 |
commit | df7c8acfd14e74a48d27116178ae47629ac85e5c (patch) | |
tree | b55767a81e635d48a2d206090f471423a25cac1c /crawl-ref/source/spl-tornado.cc | |
parent | 548a4c655c81c6fc04d8217ab7d451ef65d1fe0b (diff) | |
download | crawl-ref-df7c8acfd14e74a48d27116178ae47629ac85e5c.tar.gz crawl-ref-df7c8acfd14e74a48d27116178ae47629ac85e5c.zip |
Don't blow clouds into mangroves, either. Simplify.
Diffstat (limited to 'crawl-ref/source/spl-tornado.cc')
-rw-r--r-- | crawl-ref/source/spl-tornado.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/crawl-ref/source/spl-tornado.cc b/crawl-ref/source/spl-tornado.cc index 4a6a7a08bc..b4082299b6 100644 --- a/crawl-ref/source/spl-tornado.cc +++ b/crawl-ref/source/spl-tornado.cc @@ -366,17 +366,20 @@ void tornado_damage(actor *caster, int dur) if (victim->alive() && !leda && dur > 0) move_act.push_back(victim); } + + if (cell_is_solid(*dam_i)) + continue; + if ((env.cgrid(*dam_i) == EMPTY_CLOUD || env.cloud[env.cgrid(*dam_i)].type == CLOUD_TORNADO) - && x_chance_in_y(rpow, 20) - && !cell_is_solid(*dam_i)) // mangrove + && x_chance_in_y(rpow, 20)) { place_cloud(CLOUD_TORNADO, *dam_i, 2 + random2(2), caster); } clouds.push_back(*dam_i); swap_clouds(clouds[random2(clouds.size())], *dam_i); - if (!leda && !feat_is_solid(grd(*dam_i))) + if (!leda) move_avail.push_back(*dam_i); } } |