Skip to content

Commit 45e7948

Browse files
committed
[Gear] Keeper's Seething Core, fix some implementation issues
1 parent 9a17810 commit 45e7948

1 file changed

Lines changed: 15 additions & 16 deletions

File tree

engine/player/unique_gear_midnight.cpp

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3454,36 +3454,35 @@ void keepers_seething_core( special_effect_t& effect )
34543454
{
34553455
double mult;
34563456
focus_of_ulatek_t( player_t* p, std::string_view name, const special_effect_t& e )
3457-
: stat_buff_t( p, name, e.trigger() ), mult ( 0 )
3457+
: stat_buff_t( p, name, e.trigger() ), mult( 0 )
34583458
{
34593459
set_stat_from_effect_type( A_MOD_RATING, e.driver()->effectN( 1 ).average( e ) );
3460+
set_default_value( e.driver()->effectN( 1 ).average( e ) );
3461+
add_invalidate( CACHE_HASTE );
3462+
disable_ticking( true );
34603463
mult = e.driver()->effectN( 2 ).percent();
34613464
}
34623465

3463-
double check_value() const override
3466+
double calc_stat_val()
34643467
{
3465-
double v = stat_buff_t::check_value();
3466-
// Tooltip is only indicator for N stacks before the effect is increased
3468+
double value = default_value;
3469+
3470+
// Stack requirement not in data. basing implementation off tooltip text.
34673471
if ( check() >= 2 )
3468-
v *= 1.0 + mult;
3472+
value *= 1.0 + mult;
34693473

3470-
return v;
3474+
return value;
34713475
}
34723476

3473-
double value() override
3477+
void bump( int s, double v ) override
34743478
{
3475-
double v = stat_buff_t::value();
3476-
// Tooltip is only indicator for N stacks before the effect is increased
3477-
if ( check() >= 2 )
3478-
v *= 1.0 + mult;
3479-
3480-
return v;
3479+
for ( auto& s : stats )
3480+
s.amount = calc_stat_val();
3481+
stat_buff_t::bump( s, v );
34813482
}
34823483
};
34833484

3484-
auto buff = create_buff<focus_of_ulatek_t>( effect.player, "focus_of_ulatek", effect );
3485-
3486-
effect.custom_buff = buff;
3485+
effect.custom_buff = create_buff<focus_of_ulatek_t>( effect.player, "focus_of_ulatek", effect );
34873486

34883487
new dbc_proc_callback_t( effect.player, effect );
34893488
}

0 commit comments

Comments
 (0)