Skip to content

Commit 525a073

Browse files
committed
[Gear] update zathatek breath of corruption
* stacking damage increase is a debuff, not a buff * use percent value for stacking damage multiplier
1 parent e9c4102 commit 525a073

1 file changed

Lines changed: 19 additions & 16 deletions

File tree

engine/player/unique_gear_midnight.cpp

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4276,40 +4276,44 @@ void sharpened_lightwood_slasher( special_effect_t& effect )
42764276
new dbc_proc_callback_t( effect.player, effect );
42774277
}
42784278

4279-
// Za'thek, Breath of Corruption
4279+
// Zatha'tek, Breath of Corruption
42804280
// 1298023 Driver
4281-
// 1305391 Buff (contains damage coefficient)
4281+
// 1305391 Buff
42824282
// 1305395 Damage
4283-
void zathek_breath_of_corruption( special_effect_t& effect )
4283+
void zathatek_breath_of_corruption( special_effect_t& effect )
42844284
{
42854285
struct breath_of_corruption_t : generic_proc_t
42864286
{
4287-
buff_t* necrotic_tear;
4287+
double necrotic_tear_mul;
42884288

42894289
breath_of_corruption_t( const special_effect_t& effect )
4290-
: generic_proc_t( effect, "breath_of_corruption", effect.player->find_spell( 1305395 ) ), necrotic_tear( nullptr )
4290+
: generic_proc_t( effect, "breath_of_corruption", effect.player->find_spell( 1305395 ) ),
4291+
necrotic_tear_mul( effect.driver()->effectN( 2 ).percent() )
42914292
{
4292-
auto buff = player->find_spell( 1305391 );
4293-
4294-
base_dd_min = base_dd_max = buff->effectN( 1 ).average( effect );
4293+
base_dd_min = base_dd_max = effect.driver()->effectN( 1 ).average( effect );
42954294
base_multiplier *= role_mult( effect );
4295+
target_debuff = effect.player->find_spell( 1305391 );
4296+
}
42964297

4297-
necrotic_tear =
4298-
create_buff( player, "necrotic_tear", buff )->set_default_value( effect.driver()->effectN( 2 ).base_value() );
4298+
buff_t* create_debuff( player_t* t ) override
4299+
{
4300+
return generic_proc_t::create_debuff( t )
4301+
->set_constant_behavior( buff_constant_behavior::NEVER_CONSTANT )
4302+
->set_default_value( necrotic_tear_mul );
42994303
}
43004304

4301-
void execute() override
4305+
void impact( action_state_t* s ) override
43024306
{
4303-
generic_proc_t::execute();
4307+
generic_proc_t::impact( s );
43044308

4305-
necrotic_tear->trigger();
4309+
get_debuff( s->target )->trigger();
43064310
}
43074311

43084312
double composite_da_multiplier( const action_state_t* state ) const override
43094313
{
43104314
double m = generic_proc_t::composite_da_multiplier( state );
43114315

4312-
m *= 1.0 + necrotic_tear->stack_value();
4316+
m *= 1.0 + find_debuff( state->target )->check_stack_value();
43134317

43144318
return m;
43154319
}
@@ -5437,7 +5441,7 @@ void register_special_effects()
54375441
register_special_effect( 1296874, weapons::polished_lightwood_channeler );
54385442
register_special_effect( 1298085, weapons::janthrazet_the_soul_fang );
54395443
register_special_effect( 1296732, weapons::sharpened_lightwood_slasher );
5440-
register_special_effect( 1298023, weapons::zathek_breath_of_corruption );
5444+
register_special_effect( 1298023, weapons::zathatek_breath_of_corruption );
54415445
register_special_effect( 1291718, bite_of_zuljan::venomfang );
54425446
reset_version_check();
54435447
// Armor
@@ -5450,7 +5454,6 @@ void register_special_effects()
54505454
set_min_version( wowv_t( 12, 0, 7 ) );
54515455
register_special_effect( 1285138, armors::sporecallers_blooming_loop );
54525456
register_special_effect( 1285139, armors::rotmires_sporeheart );
5453-
reset_version_check();
54545457
set_min_version( wowv_t( 12, 1, 0 ) );
54555458
register_special_effect( { 1307906, 1307923, 1307928 }, armors::venomcursed );
54565459
reset_version_check();

0 commit comments

Comments
 (0)