Skip to content

Commit 581d22d

Browse files
committed
[Retribution] apply +5% chance/+20% effectiveness from spec aura to second sunrise
1 parent 4dbe3e3 commit 581d22d

File tree

2 files changed

+29
-6
lines changed

2 files changed

+29
-6
lines changed

engine/class_modules/paladin/sc_paladin.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3003,7 +3003,10 @@ struct hammer_of_wrath_t : public paladin_melee_attack_t
30033003
echo->base_aoe_multiplier = base_aoe_multiplier;
30043004
echo->crit_bonus_multiplier = crit_bonus_multiplier;
30053005
echo->triggers_higher_calling = true;
3006-
echo->base_multiplier *= p->talents.herald_of_the_sun.second_sunrise->effectN( 2 ).percent();
3006+
// ret spec aura applies +20% to second sunrise effectiveness
3007+
// temporary fix until register_passive_effect_modifier() is implemented
3008+
echo->base_multiplier *= p->talents.herald_of_the_sun.second_sunrise->effectN( 2 ).percent() +
3009+
p->spec.retribution_paladin_2->effectN( 26 ).percent();
30073010
}
30083011
}
30093012

@@ -3112,7 +3115,12 @@ struct hammer_of_wrath_t : public paladin_melee_attack_t
31123115
s->chain_target == 0 &&
31133116
p()->cooldowns.second_sunrise_icd->up() )
31143117
{
3115-
if ( rng().roll( p()->talents.herald_of_the_sun.second_sunrise->effectN( 1 ).percent() ) )
3118+
// ret spec aura applies +5% to second sunrise chance
3119+
// temporary fix until register_passive_effect_modifier() is implemented
3120+
auto sunrise_chance = p()->talents.herald_of_the_sun.second_sunrise->effectN( 1 ).percent() +
3121+
p()->spec.retribution_paladin_2->effectN( 25 ).percent();
3122+
3123+
if ( rng().roll( sunrise_chance ) )
31163124
{
31173125
p()->cooldowns.second_sunrise_icd->start();
31183126
// TODO(mserrano): verify this delay

engine/class_modules/paladin/sc_paladin_retribution.cpp

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,12 @@ struct divine_storm_t: public holy_power_consumer_t<paladin_melee_attack_t>
564564

565565
if ( p->talents.herald_of_the_sun.second_sunrise->ok() )
566566
{
567-
sunrise_echo = new divine_storm_echo_t( p, p->talents.herald_of_the_sun.second_sunrise->effectN( 2 ).percent() );
567+
// ret spec aura applies +20% to second sunrise effectiveness
568+
// temporary fix until register_passive_effect_modifier() is implemented
569+
auto effectiveness = p->talents.herald_of_the_sun.second_sunrise->effectN( 2 ).percent() +
570+
p->spec.retribution_paladin_2->effectN( 26 ).percent();
571+
572+
sunrise_echo = new divine_storm_echo_t( p, effectiveness );
568573
add_child( sunrise_echo );
569574
}
570575
}
@@ -592,7 +597,12 @@ struct divine_storm_t: public holy_power_consumer_t<paladin_melee_attack_t>
592597

593598
if ( p->talents.herald_of_the_sun.second_sunrise->ok() )
594599
{
595-
sunrise_echo = new divine_storm_echo_t( p, p->talents.herald_of_the_sun.second_sunrise->effectN( 2 ).percent() * mul );
600+
// ret spec aura applies +20% to second sunrise effectiveness
601+
// temporary fix until register_passive_effect_modifier() is implemented
602+
auto effectiveness = p->talents.herald_of_the_sun.second_sunrise->effectN( 2 ).percent() +
603+
p->spec.retribution_paladin_2->effectN( 26 ).percent();
604+
605+
sunrise_echo = new divine_storm_echo_t( p, effectiveness * mul );
596606
add_child( sunrise_echo );
597607
}
598608
}
@@ -625,7 +635,12 @@ struct divine_storm_t: public holy_power_consumer_t<paladin_melee_attack_t>
625635

626636
if ( sunrise_echo && p()->cooldowns.second_sunrise_icd->up() )
627637
{
628-
if ( rng().roll( p()->talents.herald_of_the_sun.second_sunrise->effectN( 1 ).percent() ) )
638+
// ret spec aura applies +5% to second sunrise chance
639+
// temporary fix until register_passive_effect_modifier() is implemented
640+
auto sunrise_chance = p()->talents.herald_of_the_sun.second_sunrise->effectN( 1 ).percent() +
641+
p()->spec.retribution_paladin_2->effectN( 25 ).percent();
642+
643+
if ( rng().roll( sunrise_chance ) )
629644
{
630645
p()->cooldowns.second_sunrise_icd->start();
631646
// TODO(mserrano): validate the correct delay here
@@ -1783,7 +1798,7 @@ void paladin_t::init_spells_retribution()
17831798
talents.healing_hands = find_talent_spell( talent_tree::CLASS, "Healing Hands" );
17841799
// Spec passives and useful spells
17851800
spec.retribution_paladin = find_specialization_spell( "Retribution Paladin" );
1786-
spec.retribution_paladin_2 = find_spell( 412314 );
1801+
spec.retribution_paladin_2 = specialization() == PALADIN_RETRIBUTION ? find_spell( 412314 ) : spell_data_t::not_found();
17871802
mastery.highlords_judgment = find_mastery_spell( PALADIN_RETRIBUTION );
17881803

17891804
if ( specialization() == PALADIN_RETRIBUTION )

0 commit comments

Comments
 (0)