diff options
Diffstat (limited to 'crawl-ref/source/spells1.cc')
-rw-r--r-- | crawl-ref/source/spells1.cc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc index e7d1d3715b..4164092c1f 100644 --- a/crawl-ref/source/spells1.cc +++ b/crawl-ref/source/spells1.cc @@ -537,7 +537,7 @@ bool conjure_flame(int pow) mpr( "The fire roars with new energy!" ); const int extra_dur = 2 + std::min(random2(pow) / 2, 20); env.cloud[cloud].decay += extra_dur * 5; - env.cloud[cloud].whose = KC_YOU; + env.cloud[cloud].set_whose(KC_YOU); return (true); } @@ -608,8 +608,22 @@ int cast_big_c(int pow, cloud_type cty, kill_category whose, bolt &beam) void big_cloud(cloud_type cl_type, kill_category whose, int cl_x, int cl_y, int pow, int size, int spread_rate) { + big_cloud(cl_type, whose, cloud_struct::whose_to_killer(whose), + cl_x, cl_y, pow, size, spread_rate); +} + +void big_cloud(cloud_type cl_type, killer_type killer, + int cl_x, int cl_y, int pow, int size, int spread_rate) +{ + big_cloud(cl_type, cloud_struct::killer_to_whose(killer), killer, + cl_x, cl_y, pow, size, spread_rate); +} + +void big_cloud(cloud_type cl_type, kill_category whose, killer_type killer, + int cl_x, int cl_y, int pow, int size, int spread_rate) +{ apply_area_cloud(make_a_normal_cloud, cl_x, cl_y, pow, size, - cl_type, whose, spread_rate); + cl_type, whose, killer, spread_rate); } static bool _mons_hostile(const monsters *mon) |