Skip to content

Commit 2137add

Browse files
committed
[Balance] star cascade procs on impact and doesn't proc off procs
1 parent 6573452 commit 2137add

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

engine/class_modules/sc_druid.cpp

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7084,6 +7084,15 @@ struct ap_generator_t : public druid_spell_t
70847084

70857085
if ( cast_state( s )->dream_burst )
70867086
p()->active.dream_burst->execute_on_target( s->target );
7087+
7088+
// has an icd to prevent multiple procs, but we can just check only on the main target instead
7089+
if ( !proc && s->chain_target == 0 && rng().roll( cascade_chance ) )
7090+
{
7091+
if ( time_to_execute > 0_ms )
7092+
p()->spell_queued.star_cascade = target;
7093+
else
7094+
p()->active.star_cascade->execute_on_target( target );
7095+
}
70877096
}
70887097

70897098
void record_data( action_state_t* s ) override
@@ -7100,20 +7109,6 @@ struct ap_generator_t : public druid_spell_t
71007109
}
71017110
}
71027111

7103-
double gain_energize_resource( resource_e rt, double a, gain_t* g ) override
7104-
{
7105-
auto ret = druid_spell_t::gain_energize_resource( rt, a, g );
7106-
if ( ret && rng().roll( cascade_chance ) )
7107-
{
7108-
if ( time_to_execute > 0_ms )
7109-
p()->spell_queued.star_cascade = target;
7110-
else
7111-
p()->active.star_cascade->execute_on_target( target );
7112-
}
7113-
7114-
return ret;
7115-
}
7116-
71177112
void reset() override { druid_spell_t::reset(); dreamstate = false; }
71187113

71197114
void cancel() override { druid_spell_t::cancel(); dreamstate = false; }

0 commit comments

Comments
 (0)