From 530a1bbd4dc80ca5a592546cc5a463ea1803d389 Mon Sep 17 00:00:00 2001 From: Christian Seestern Hyllested Date: Thu, 25 Jun 2026 21:28:56 +0200 Subject: [PATCH 1/4] [Gear] Weapon - Jan'thrazet, the Soul Fang --- engine/player/unique_gear_midnight.cpp | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/engine/player/unique_gear_midnight.cpp b/engine/player/unique_gear_midnight.cpp index c742a6f870f..39d2cbeee02 100644 --- a/engine/player/unique_gear_midnight.cpp +++ b/engine/player/unique_gear_midnight.cpp @@ -3387,6 +3387,38 @@ void murder_row_fishhook( special_effect_t& effect ) new dbc_proc_callback_t( effect.player, effect ); } + +// Jan'thrazet, the Soul Fang +// 1298085 driver +// 1305360 Soul Fang Alacrity (haste buff) +void janthrazet_the_soul_fang( special_effect_t& effect ) +{ + auto buff = create_buff( effect.player, "soul_fang_alacrity", effect.player->find_spell( 1305360 ) ) + ->add_stat( STAT_HASTE_RATING, effect.driver()->effectN( 2 ).average( effect ) ); + + effect.custom_buff = buff; + + new dbc_proc_callback_t( effect.player, effect ); +} + +// Jan'thrazet, the Soul Fang - Venomcursed Haste +// 1307928 driver +// 1307927 buff (haste gain, crit/mastery/vers loss) +void venomcursed_haste( special_effect_t& effect ) +{ + auto haste_amt = effect.driver()->effectN( 1 ).average( effect ); + auto loss_amt = effect.driver()->effectN( 2 ).average( effect ); + + auto buff = create_buff( effect.player, "venomcursed_haste", effect.player->find_spell( 1307927 ) ) + ->add_stat( STAT_HASTE_RATING, haste_amt ) + ->add_stat( STAT_CRIT_RATING, -loss_amt ) + ->add_stat( STAT_MASTERY_RATING, -loss_amt ) + ->add_stat( STAT_VERSATILITY_RATING, -loss_amt ); + + effect.custom_buff = buff; + + new dbc_proc_callback_t( effect.player, effect ); +} } // namespace weapons namespace armors @@ -4325,6 +4357,8 @@ void register_special_effects() register_special_effect( { 1253357, 1253359 }, weapons::torments_duality ); // umbral sabre & radiant foil register_special_effect( 1266257, weapons::lightless_lament ); register_special_effect( 1250529, weapons::murder_row_fishhook ); + register_special_effect( 1298085, weapons::janthrazet_the_soul_fang ); + // register_special_effect( 1307928, weapons::venomcursed_haste ); // not yet attached to an item in PTR data // Armor register_special_effect( 1271211, armors::eternal_voidsong_chain ); register_special_effect( 1243883, armors::necrotic_hexweave ); From 726cdf311bf276a1ad83ba5d1869a69b2a03d759 Mon Sep 17 00:00:00 2001 From: Christian Seestern Hyllested Date: Thu, 25 Jun 2026 21:37:59 +0200 Subject: [PATCH 2/4] set min version --- engine/player/unique_gear_midnight.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engine/player/unique_gear_midnight.cpp b/engine/player/unique_gear_midnight.cpp index 39d2cbeee02..140095032ad 100644 --- a/engine/player/unique_gear_midnight.cpp +++ b/engine/player/unique_gear_midnight.cpp @@ -4357,7 +4357,10 @@ void register_special_effects() register_special_effect( { 1253357, 1253359 }, weapons::torments_duality ); // umbral sabre & radiant foil register_special_effect( 1266257, weapons::lightless_lament ); register_special_effect( 1250529, weapons::murder_row_fishhook ); + reset_version_check(); + set_min_version( wowv_t( 12, 1, 0 ) ); register_special_effect( 1298085, weapons::janthrazet_the_soul_fang ); + reset_version_check(); // register_special_effect( 1307928, weapons::venomcursed_haste ); // not yet attached to an item in PTR data // Armor register_special_effect( 1271211, armors::eternal_voidsong_chain ); From f7997a5c60e77078986da91f35bf20346956e7b6 Mon Sep 17 00:00:00 2001 From: Lucasmingus Date: Sun, 28 Jun 2026 14:12:13 +0200 Subject: [PATCH 3/4] use stat from effect type --- engine/player/unique_gear_midnight.cpp | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/engine/player/unique_gear_midnight.cpp b/engine/player/unique_gear_midnight.cpp index 140095032ad..5bccf23096a 100644 --- a/engine/player/unique_gear_midnight.cpp +++ b/engine/player/unique_gear_midnight.cpp @@ -3394,26 +3394,7 @@ void murder_row_fishhook( special_effect_t& effect ) void janthrazet_the_soul_fang( special_effect_t& effect ) { auto buff = create_buff( effect.player, "soul_fang_alacrity", effect.player->find_spell( 1305360 ) ) - ->add_stat( STAT_HASTE_RATING, effect.driver()->effectN( 2 ).average( effect ) ); - - effect.custom_buff = buff; - - new dbc_proc_callback_t( effect.player, effect ); -} - -// Jan'thrazet, the Soul Fang - Venomcursed Haste -// 1307928 driver -// 1307927 buff (haste gain, crit/mastery/vers loss) -void venomcursed_haste( special_effect_t& effect ) -{ - auto haste_amt = effect.driver()->effectN( 1 ).average( effect ); - auto loss_amt = effect.driver()->effectN( 2 ).average( effect ); - - auto buff = create_buff( effect.player, "venomcursed_haste", effect.player->find_spell( 1307927 ) ) - ->add_stat( STAT_HASTE_RATING, haste_amt ) - ->add_stat( STAT_CRIT_RATING, -loss_amt ) - ->add_stat( STAT_MASTERY_RATING, -loss_amt ) - ->add_stat( STAT_VERSATILITY_RATING, -loss_amt ); + ->add_stat_from_effect_type( A_MOD_RATING, effect.driver()->effectN( 2 ).average( effect ) ); effect.custom_buff = buff; From b1722a05a85c73ed26bb0658bdada975e28ac591 Mon Sep 17 00:00:00 2001 From: Lucasmingus Date: Sat, 11 Jul 2026 21:49:30 +0200 Subject: [PATCH 4/4] cleanup --- engine/player/unique_gear_midnight.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/engine/player/unique_gear_midnight.cpp b/engine/player/unique_gear_midnight.cpp index 1280164d736..610c9088260 100644 --- a/engine/player/unique_gear_midnight.cpp +++ b/engine/player/unique_gear_midnight.cpp @@ -4551,7 +4551,6 @@ void register_special_effects() register_special_effect( { 1253357, 1253359 }, weapons::torments_duality ); // umbral sabre & radiant foil register_special_effect( 1266257, weapons::lightless_lament ); register_special_effect( 1250529, weapons::murder_row_fishhook ); - reset_version_check(); set_min_version( wowv_t( 12, 1, 0 ) ); register_special_effect( 1296874, weapons::polished_lightwood_channeler ); register_special_effect( 1298085, weapons::janthrazet_the_soul_fang );