Skip to content

Commit a524e12

Browse files
committed
[Gear] Signet of Azerothian Blessings fixes
1 parent a70b298 commit a524e12

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

engine/player/unique_gear_midnight.cpp

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -714,15 +714,32 @@ void thalassian_phoenix_torque( special_effect_t& effect )
714714
// 1252202 Buff
715715
void signet_of_azerothian_blessings( special_effect_t& effect )
716716
{
717-
auto value = effect.driver()->effectN( 1 ).average( effect );
718-
value *= 1.0 + ( effect.driver()->effectN( 2 ).percent() * unique_gem_list( effect.player, gem_colors ).size() );
719-
value *= bandolier_mul( effect.player );
717+
auto base_value = effect.driver()->effectN( 1 ).average( effect ) / 4;
718+
std::unordered_map<stat_e, double> values = { { STAT_HASTE_RATING, 1.0 },
719+
{ STAT_CRIT_RATING, 1.0 },
720+
{ STAT_MASTERY_RATING, 1.0 },
721+
{ STAT_VERSATILITY_RATING, 1.0 } };
722+
723+
std::unordered_map<stat_e, gem_color_e> gems = { { STAT_HASTE_RATING, GEM_PERIDOT },
724+
{ STAT_CRIT_RATING, GEM_GARNET },
725+
{ STAT_MASTERY_RATING, GEM_AMETHYST },
726+
{ STAT_VERSATILITY_RATING, GEM_LAPIS } };
720727

721728
auto buff = create_buff<stat_buff_t>( effect.player, "boon_of_azerothian_blessings",
722729
effect.driver()->effectN( 1 ).trigger() );
723730

724731
for ( auto stat : secondary_ratings )
725-
buff->add_stat( stat, value );
732+
{
733+
int count = 0;
734+
for( auto gem : equipped_gem_list( effect.player, gem_colors ) )
735+
if ( gem == gems.at( stat ) )
736+
count++;
737+
738+
values.at( stat ) =
739+
base_value * ( 1.0 + count * effect.driver()->effectN( 2 ).base_value() ) * bandolier_mul( effect.player );
740+
741+
buff->add_stat( stat, values.at( stat ) );
742+
}
726743

727744
effect.custom_buff = buff;
728745

0 commit comments

Comments
 (0)