Skip to content

Commit 2e8a2a0

Browse files
[Paladin] Herald initialize Talents, convolute Hammer of Wrath even more with Second Sunrise
1 parent 6fcb286 commit 2e8a2a0

File tree

2 files changed

+28
-5
lines changed

2 files changed

+28
-5
lines changed

engine/class_modules/paladin/sc_paladin.cpp

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1546,6 +1546,8 @@ struct divine_toll_hammer_of_wrath_ret_t : hammer_of_wrath_t
15461546
{
15471547
background = true;
15481548
aoe = 1; // Divine Toll's Hammer of Wraths don't cleave further
1549+
triggers_second_sunrise = false;
1550+
triggers_divine_resonance = false;
15491551
}
15501552
};
15511553
struct divine_resonance_hammer_of_wrath_t :hammer_of_wrath_t
@@ -1555,6 +1557,8 @@ struct divine_resonance_hammer_of_wrath_t :hammer_of_wrath_t
15551557
{
15561558
background = true;
15571559
base_multiplier *= p->buffs.divine_resonance->data().effectN( 2 ).percent();
1560+
triggers_second_sunrise = false;
1561+
triggers_divine_resonance = false;
15581562
}
15591563
};
15601564
struct divine_exaction_hammer_of_wrath_t :public hammer_of_wrath_t
@@ -1568,6 +1572,14 @@ struct divine_resonance_hammer_of_wrath_t :hammer_of_wrath_t
15681572
}
15691573
};
15701574

1575+
hammer_of_wrath_t::hammer_of_wrath_t(paladin_t* p)
1576+
: judgment_base_t(p, "Hammer of Wrath Echo", "", p->spells.hammer_of_wrath_ret)
1577+
{
1578+
background = true;
1579+
triggers_divine_resonance = true;
1580+
triggers_second_sunrise = false;
1581+
}
1582+
15711583
hammer_of_wrath_t::hammer_of_wrath_t( paladin_t* p, util::string_view name, util::string_view options_str, const spell_data_t* s )
15721584
: judgment_base_t( p, name, options_str, s ),
15731585
echo( nullptr )
@@ -1578,6 +1590,8 @@ hammer_of_wrath_t::hammer_of_wrath_t( paladin_t* p, util::string_view name, util
15781590
add_child( p->active.background_blessed_hammer );
15791591
}
15801592
triggers_higher_calling = true;
1593+
triggers_second_sunrise = !background;
1594+
triggers_divine_resonance = !background;
15811595
may_block = may_parry = may_dodge = false;
15821596
// force effect 1 to be used for direct ratios
15831597
parse_effect_data( data().effectN( 1 ) );
@@ -1590,7 +1604,7 @@ hammer_of_wrath_t::hammer_of_wrath_t( paladin_t* p, util::string_view name, util
15901604

15911605
if ( p->talents.herald_of_the_sun.second_sunrise->ok() )
15921606
{
1593-
echo = new hammer_of_wrath_t( p, "Hammer of Wrath Echo", "", s );
1607+
echo = new hammer_of_wrath_t( p );
15941608
echo->base_multiplier = base_multiplier;
15951609
echo->aoe = aoe;
15961610
echo->base_aoe_multiplier = base_aoe_multiplier;
@@ -1611,7 +1625,7 @@ void hammer_of_wrath_t::execute()
16111625
{
16121626
judgment_base_t::execute();
16131627

1614-
if ( !background && p()->specialization() == PALADIN_RETRIBUTION && p()->buffs.divine_resonance->up() )
1628+
if ( triggers_divine_resonance && p()->specialization() == PALADIN_RETRIBUTION && p()->buffs.divine_resonance->up() )
16151629
{
16161630
p()->active.divine_resonance_ret_how->execute_on_target( execute_state->target );
16171631
p()->buffs.divine_resonance->decrement();
@@ -1632,7 +1646,7 @@ void hammer_of_wrath_t::impact( action_state_t* s )
16321646
p()->active.sun_sear->execute();
16331647
}
16341648

1635-
if ( echo != nullptr && s->chain_target == 0 && p()->cooldowns.second_sunrise_icd->up() )
1649+
if ( triggers_second_sunrise && echo != nullptr && s->chain_target == 0 && p()->cooldowns.second_sunrise_icd->up() )
16361650
{
16371651
if ( rng().roll( p()->talents.herald_of_the_sun.second_sunrise->effectN( 1 ).percent() ) )
16381652
{
@@ -4226,14 +4240,17 @@ void paladin_t::init_spells()
42264240
talents.herald_of_the_sun.morning_star = find_talent_spell( talent_tree::HERO, "Morning Star");
42274241
talents.herald_of_the_sun.gleaming_rays = find_talent_spell( talent_tree::HERO, "Gleaming Rays" );
42284242
talents.herald_of_the_sun.luminosity = find_talent_spell( talent_tree::HERO, "Luminosity" );
4243+
talents.herald_of_the_sun.endless_gleam = find_talent_spell( talent_tree::HERO, "Endless Gleam" );
42294244

42304245
talents.herald_of_the_sun.blessing_of_anshe = find_talent_spell( talent_tree::HERO, "Blessing of An'she" );
42314246
talents.herald_of_the_sun.lingering_radiance = find_talent_spell( talent_tree::HERO, "Lingering Radiance" );
42324247
talents.herald_of_the_sun.sun_sear = find_talent_spell( talent_tree::HERO, "Sun Sear" );
4248+
talents.herald_of_the_sun.solar_grace = find_talent_spell( talent_tree::HERO, "Solar Grace" );
42334249

42344250
talents.herald_of_the_sun.aurora = find_talent_spell( talent_tree::HERO, "Aurora" );
4235-
talents.herald_of_the_sun.solar_grace = find_talent_spell( talent_tree::HERO, "Solar Grace" );
4251+
talents.herald_of_the_sun.walk_into_light = find_talent_spell( talent_tree::HERO, "Walk Into Light" );
42364252
talents.herald_of_the_sun.second_sunrise = find_talent_spell( talent_tree::HERO, "Second Sunrise" );
4253+
talents.herald_of_the_sun.born_in_sunlight = find_talent_spell( talent_tree::HERO, "Born in Sunlight" );
42374254

42384255
talents.herald_of_the_sun.suns_avatar = find_talent_spell( talent_tree::HERO, "Sun's Avatar" );
42394256

engine/class_modules/paladin/sc_paladin.hpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -719,16 +719,19 @@ struct paladin_t : public player_t
719719
const spell_data_t* gleaming_rays;
720720
const spell_data_t* eternal_flame;
721721
const spell_data_t* luminosity;
722+
const spell_data_t* endless_gleam;
722723

723724
const spell_data_t* illumine;
724725
const spell_data_t* will_of_the_dawn;
725726
const spell_data_t* blessing_of_anshe;
726727
const spell_data_t* lingering_radiance;
727728
const spell_data_t* sun_sear;
729+
const spell_data_t* solar_grace;
728730

729731
const spell_data_t* aurora;
730-
const spell_data_t* solar_grace;
732+
const spell_data_t* walk_into_light;
731733
const spell_data_t* second_sunrise;
734+
const spell_data_t* born_in_sunlight;
732735

733736
const spell_data_t* suns_avatar;
734737
} herald_of_the_sun;
@@ -1744,6 +1747,9 @@ struct hammer_of_wrath_t : public judgment_base_t
17441747
hammer_of_wrath_t* echo;
17451748

17461749
public:
1750+
bool triggers_second_sunrise = false;
1751+
bool triggers_divine_resonance = false;
1752+
hammer_of_wrath_t( paladin_t* p );
17471753
hammer_of_wrath_t( paladin_t* p, util::string_view name, util::string_view options_str, const spell_data_t* s = spell_data_t::nil());
17481754
void impact( action_state_t* s ) override;
17491755
double composite_target_multiplier( player_t* target ) const override;

0 commit comments

Comments
 (0)