@@ -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