From cac4a52819b67a90ed7d5c51477bda0444bf1bc1 Mon Sep 17 00:00:00 2001 From: Peter Kruse Date: Thu, 3 Oct 2024 15:07:39 +0200 Subject: [PATCH 01/11] [shaman][elemental] Flux Melting is provided by Icefury too This is true for PTR and Live --- engine/class_modules/sc_shaman.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engine/class_modules/sc_shaman.cpp b/engine/class_modules/sc_shaman.cpp index 6c9319c5f22..6f42cf67297 100644 --- a/engine/class_modules/sc_shaman.cpp +++ b/engine/class_modules/sc_shaman.cpp @@ -7365,6 +7365,8 @@ struct icefury_t : public shaman_spell_t p()->buff.icefury_dmg->trigger( as( p()->buff.icefury_dmg->data().effectN( 4 ).base_value() ) ); } + p()->buff.flux_melting->trigger(); + p()->buff.fusion_of_elements_nature->trigger(); p()->buff.fusion_of_elements_fire->trigger(); From 6a4945f31244d159deea55bb4d560136a4ac3a56 Mon Sep 17 00:00:00 2001 From: gastank <42421688+gastank@users.noreply.github.com> Date: Wed, 2 Oct 2024 18:53:15 -0700 Subject: [PATCH 02/11] [Gear] guiding stave of wisdom initial implementation --- engine/player/unique_gear_thewarwithin.cpp | 39 ++++++++++++++++++++++ engine/report/decorators.cpp | 2 +- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/engine/player/unique_gear_thewarwithin.cpp b/engine/player/unique_gear_thewarwithin.cpp index 12e55a9fd0c..f1b38f63fe3 100644 --- a/engine/player/unique_gear_thewarwithin.cpp +++ b/engine/player/unique_gear_thewarwithin.cpp @@ -5033,6 +5033,44 @@ void harvesters_interdiction( special_effect_t& effect ) new dbc_proc_callback_t( effect.player, effect ); } +// 469936 driver +// 469937 crit buff +// 469938 haste buff +// 469941 mastery buff +// 469942 versatility buff +// TODO: confirm buff cycle doesn't reset during middle of dungeon +void guiding_stave_of_wisdom( special_effect_t& effect ) +{ + struct guiding_stave_of_wisdom_cb_t : public dbc_proc_callback_t + { + std::vector buffs; + + guiding_stave_of_wisdom_cb_t( const special_effect_t& e ) : dbc_proc_callback_t( e.player, e ) + { + for ( auto id : { 469937, 469938, 469941, 469942 } ) + { + auto buff = create_buff( effect.player, effect.player->find_spell( id ) ) + ->set_stat_from_effect_type( A_MOD_RATING, effect.driver()->effectN( 1 ).average( effect ) ); + + buffs.push_back( buff ); + } + } + + void reset() override + { + std::rotate( buffs.begin(), buffs.begin() + effect.player->rng().range( 4 ), buffs.end() ); + } + + void execute( action_t*, action_state_t* ) override + { + buffs.front()->trigger(); + std::rotate( buffs.begin(), buffs.begin() + 1, buffs.end() ); + } + }; + + new guiding_stave_of_wisdom_cb_t( effect ); +} + // Armor // 457815 driver // 457918 nature damage driver @@ -5713,6 +5751,7 @@ void register_special_effects() register_special_effect( 442205, items::befoulers_syringe ); register_special_effect( 455887, items::voltaic_stormcaller ); register_special_effect( 455819, items::harvesters_interdiction ); + register_special_effect( 469936, items::guiding_stave_of_wisdom ); // Armor register_special_effect( 457815, items::seal_of_the_poisoned_pact ); diff --git a/engine/report/decorators.cpp b/engine/report/decorators.cpp index 25d2434a43e..5de8dbe9580 100644 --- a/engine/report/decorators.cpp +++ b/engine/report/decorators.cpp @@ -422,7 +422,7 @@ std::string decoration_domain( const sim_t& sim ) #if SC_BETA == 0 if ( maybe_ptr( sim.dbc->ptr ) ) { - return "ptr"; + return "ptr2"; } else { From 89ef4a1f8189e083a3234972a21fc44de0946a8e Mon Sep 17 00:00:00 2001 From: gastank <42421688+gastank@users.noreply.github.com> Date: Thu, 3 Oct 2024 08:17:57 -0700 Subject: [PATCH 03/11] [Gear] add range requirement to detachable fang --- engine/player/unique_gear_thewarwithin.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engine/player/unique_gear_thewarwithin.cpp b/engine/player/unique_gear_thewarwithin.cpp index f1b38f63fe3..4d29c0b5402 100644 --- a/engine/player/unique_gear_thewarwithin.cpp +++ b/engine/player/unique_gear_thewarwithin.cpp @@ -4695,6 +4695,12 @@ void detachable_fang( special_effect_t& effect ) effect.execute_action = create_proc_action( "gnash", effect ); new dbc_proc_callback_t( effect.player, effect ); + + effect.player->callbacks.register_callback_execute_function( effect.driver()->id(), + []( const dbc_proc_callback_t* cb, action_t*, const action_state_t* s ) { + if ( cb->listener->get_player_distance( *s->target ) <= cb->proc_action->range ) + cb->proc_action->execute_on_target( s->target ); + } ); } // 459222 driver From a22c5991eb2c297f2a0f5173654ffa0a3e4139f6 Mon Sep 17 00:00:00 2001 From: Peter Kruse Date: Thu, 3 Oct 2024 17:20:55 +0200 Subject: [PATCH 04/11] [shaman][elemental] update Routine Communication to deck of cards rng Also: PTR implementation of more spells triggering it. --- engine/class_modules/sc_shaman.cpp | 46 +++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/engine/class_modules/sc_shaman.cpp b/engine/class_modules/sc_shaman.cpp index 6f42cf67297..01e4da6ca52 100644 --- a/engine/class_modules/sc_shaman.cpp +++ b/engine/class_modules/sc_shaman.cpp @@ -663,6 +663,10 @@ struct shaman_t : public player_t unsigned ancient_fellowship_positive = 0U; unsigned ancient_fellowship_total = 0U; + // Routine Communication Deck-of-Cards RNG parametrization + unsigned routine_communication_positive = 0U; + unsigned routine_communication_total = 0U; + // Thunderstrike Ward Uniform RNG proc chance // TODO: Double check for CL. A ~5h LB test resulted in a ~30% chance. double thunderstrike_ward_proc_chance = 0.3; @@ -1069,6 +1073,7 @@ struct shaman_t : public player_t shuffled_rng_t* icefury; shuffled_rng_t* ancient_fellowship; + shuffled_rng_t* routine_communication; } rng_obj; // Cached pointer for ascendance / normal white melee @@ -5931,6 +5936,11 @@ struct chain_lightning_t : public chained_base_t { p()->buff.icefury_cast->trigger(); } + + if ( p()->talent.routine_communication.ok() && p()->rng_obj.routine_communication->trigger() ) + { + p()->summon_ancestor(); + } } } @@ -6791,9 +6801,9 @@ struct lava_burst_t : public shaman_spell_t p()->buff.icefury_cast->trigger(); } - if ( p()->talent.routine_communication.ok() && exec_type == spell_variant::NORMAL ) + if ( p()->talent.routine_communication.ok() && p()->rng_obj.routine_communication->trigger() && exec_type == spell_variant::NORMAL ) { - p()->summon_ancestor( p()->talent.routine_communication->effectN( 2 ).percent() ); + p()->summon_ancestor(); } // [BUG] 2024-08-23 Supercharge works on Lava Burst in-game @@ -7005,6 +7015,11 @@ struct lightning_bolt_t : public shaman_spell_t p()->buff.icefury_cast->trigger(); } } + + if ( p()->is_ptr() && p()->talent.routine_communication.ok() && p()->rng_obj.routine_communication->trigger() ) + { + p()->summon_ancestor(); + } } p()->trigger_flash_of_lightning(); @@ -7370,6 +7385,11 @@ struct icefury_t : public shaman_spell_t p()->buff.fusion_of_elements_nature->trigger(); p()->buff.fusion_of_elements_fire->trigger(); + if ( p()->is_ptr() && p()->talent.routine_communication.ok() && p()->rng_obj.routine_communication->trigger() ) + { + p()->summon_ancestor(); + } + p()->buff.icefury_cast->decrement(); } @@ -8503,6 +8523,11 @@ struct frost_shock_t : public shaman_spell_t p()->proc.surge_of_power_wasted->occur(); p()->buff.surge_of_power->decrement(); } + + if ( p()->is_ptr() && p()->talent.routine_communication.ok() && p()->rng_obj.routine_communication->trigger() ) + { + p()->summon_ancestor(); + } } bool ready() override @@ -10767,6 +10792,9 @@ void shaman_t::create_options() add_option( opt_uint( "shaman.ancient_fellowship_positive", options.ancient_fellowship_positive, 0U, 100U ) ); add_option( opt_uint( "shaman.ancient_fellowship_total", options.ancient_fellowship_total, 0U, 100U ) ); + add_option( opt_uint( "shaman.routine_communication_positive", options.routine_communication_positive, 0U, 100U ) ); + add_option( opt_uint( "shaman.routine_communication_total", options.routine_communication_total, 0U, 100U ) ); + add_option( opt_float( "shaman.thunderstrike_ward_proc_chance", options.thunderstrike_ward_proc_chance, 0.0, 1.0 ) ); @@ -12862,20 +12890,30 @@ void shaman_t::init_rng() if ( options.ancient_fellowship_positive == 0 ) { options.ancient_fellowship_positive = as( talent.ancient_fellowship->effectN( 3 ).base_value() ); } - if ( options.ancient_fellowship_total == 0 ) { options.ancient_fellowship_total = as( talent.ancient_fellowship->effectN( 2 ).base_value() ); } rng_obj.ancient_fellowship = get_shuffled_rng( "ancient_fellowship", options.ancient_fellowship_positive, options.ancient_fellowship_total ); + if ( options.icefury_positive == 0 ) { options.icefury_positive = as( talent.icefury->effectN( 1 ).base_value() ); } - if ( options.icefury_total == 0 ) { options.icefury_total = as( talent.icefury->effectN( 2 ).base_value() ); } rng_obj.icefury = get_shuffled_rng( "icefury", options.icefury_positive, options.icefury_total ); + + if ( options.routine_communication_positive == 0 ) { + options.routine_communication_positive = as( talent.routine_communication->effectN( 5 ).base_value() ); + } + if ( options.routine_communication_total == 0 ) { + // This is effect 6 based on live data. PTR data is confusing in comparison. + options.routine_communication_total = as( talent.routine_communication->effectN( 6 ).base_value() ); + } + rng_obj.routine_communication = + get_shuffled_rng( "routine_communication", options.routine_communication_positive, options.routine_communication_total ); + } // shaman_t::init_items ===================================================== From c42a964fff242d0a5d73d07065eba84eb688bdf4 Mon Sep 17 00:00:00 2001 From: gastank <42421688+gastank@users.noreply.github.com> Date: Thu, 3 Oct 2024 08:24:36 -0700 Subject: [PATCH 05/11] [Gear] add note about flame wrath --- engine/player/unique_gear_thewarwithin.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/engine/player/unique_gear_thewarwithin.cpp b/engine/player/unique_gear_thewarwithin.cpp index 4d29c0b5402..b5694a68831 100644 --- a/engine/player/unique_gear_thewarwithin.cpp +++ b/engine/player/unique_gear_thewarwithin.cpp @@ -5077,6 +5077,23 @@ void guiding_stave_of_wisdom( special_effect_t& effect ) new guiding_stave_of_wisdom_cb_t( effect ); } +// 470641 driver, trigger damage +// 470642 damage, trigger reflect +// 470643 reflect +void flame_wrath( special_effect_t& effect ) +{ + // TODO: damage does not match tooltip, split damage is inconsistent. waiting for blizz to fix before implementing. + // current value per target vs tooltip: + // 1t: (4140/7200) 57.5% + // 2t: (3120/7200) 43.3333..% + // 3t: (2610/7200) 36.25% + // 4t: (2304/7200) 32% + // 5t: (2100/7200) 29.1666..% + // 6t: (1800/7200) 25% + // 7t: (1575/7200) 21.875% + // 8t: (1400/7200) 19.4444..% +} + // Armor // 457815 driver // 457918 nature damage driver @@ -5758,6 +5775,7 @@ void register_special_effects() register_special_effect( 455887, items::voltaic_stormcaller ); register_special_effect( 455819, items::harvesters_interdiction ); register_special_effect( 469936, items::guiding_stave_of_wisdom ); + register_special_effect( 470641, items::flame_wrath ); // Armor register_special_effect( 457815, items::seal_of_the_poisoned_pact ); From 799857767da0a4325ff22147fbf77e2ab80c7046 Mon Sep 17 00:00:00 2001 From: gastank <42421688+gastank@users.noreply.github.com> Date: Thu, 3 Oct 2024 08:37:38 -0700 Subject: [PATCH 06/11] [Gear] add PTR checks to ptr items --- engine/player/unique_gear_thewarwithin.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/engine/player/unique_gear_thewarwithin.cpp b/engine/player/unique_gear_thewarwithin.cpp index b5694a68831..3fd328b9260 100644 --- a/engine/player/unique_gear_thewarwithin.cpp +++ b/engine/player/unique_gear_thewarwithin.cpp @@ -5047,6 +5047,9 @@ void harvesters_interdiction( special_effect_t& effect ) // TODO: confirm buff cycle doesn't reset during middle of dungeon void guiding_stave_of_wisdom( special_effect_t& effect ) { + if ( !effect.player->is_ptr() ) + return; + struct guiding_stave_of_wisdom_cb_t : public dbc_proc_callback_t { std::vector buffs; @@ -5082,6 +5085,8 @@ void guiding_stave_of_wisdom( special_effect_t& effect ) // 470643 reflect void flame_wrath( special_effect_t& effect ) { + if ( !effect.player->is_ptr() ) + return; // TODO: damage does not match tooltip, split damage is inconsistent. waiting for blizz to fix before implementing. // current value per target vs tooltip: // 1t: (4140/7200) 57.5% From 930a5ba74565d37d3fd1bcc4420ad06ca157fac4 Mon Sep 17 00:00:00 2001 From: Khazak Date: Thu, 3 Oct 2024 10:47:58 -0500 Subject: [PATCH 07/11] [Death Knight] IDT does not add Reaper's Mark stacks --- engine/class_modules/sc_death_knight.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/class_modules/sc_death_knight.cpp b/engine/class_modules/sc_death_knight.cpp index 0824a1875d9..c6ecfd62b2b 100644 --- a/engine/class_modules/sc_death_knight.cpp +++ b/engine/class_modules/sc_death_knight.cpp @@ -4771,7 +4771,7 @@ struct death_knight_action_t : public parse_action_effects_t } if ( p()->talent.deathbringer.reapers_mark.ok() && this->data().id() != p()->spell.reapers_mark_explosion->id() && - this->data().id() != 66198 ) // TODO-TWW verify if offhand obliterate bug is fixed + this->data().id() != 66198 && this->data().id() != 439539 ) // TODO-TWW verify if offhand obliterate bug is fixed { death_knight_td_t* td = get_td( s->target ); if ( td->debuff.reapers_mark->check() ) From 67f8b73ece7a8c9c730f470682803360a24239a6 Mon Sep 17 00:00:00 2001 From: gastank <42421688+gastank@users.noreply.github.com> Date: Thu, 3 Oct 2024 08:52:15 -0700 Subject: [PATCH 08/11] [Gear] hand of justice initial implementation --- engine/player/unique_gear_thewarwithin.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/engine/player/unique_gear_thewarwithin.cpp b/engine/player/unique_gear_thewarwithin.cpp index 3fd328b9260..3cc909c82c8 100644 --- a/engine/player/unique_gear_thewarwithin.cpp +++ b/engine/player/unique_gear_thewarwithin.cpp @@ -4835,6 +4835,24 @@ void kaheti_shadeweavers_emblem( special_effect_t& effect ) effect.execute_action = create_proc_action( "kaheti_shadeweavers_emblem", effect ); } +// 469927 driver +// 469928 damage +// TODO: confirm if rolemult gets implemented in-game +void hand_of_justice( special_effect_t& effect ) +{ + if ( !effect.player->is_ptr() ) + return; + + auto damage = create_proc_action( "quick_strike", effect, 469928 ); + damage->base_dd_min = damage->base_dd_max = effect.driver()->effectN( 1 ).average( effect ); + // TODO: currently not implemented in-game + // damage->base_multiplier *= role_mult( effect ); + + effect.execute_action = damage; + + new dbc_proc_callback_t( effect.player, effect ); +} + // Weapons // 443384 driver // 443585 damage @@ -5773,6 +5791,7 @@ void register_special_effects() register_special_effect( 442429, items::wildfire_wick ); register_special_effect( 455467, items::kaheti_shadeweavers_emblem, true ); register_special_effect( 455452, DISABLED_EFFECT ); // kaheti shadeweaver's emblem + register_special_effect( 469927, items::hand_of_justice ); // Weapons register_special_effect( 443384, items::fateweaved_needle ); From 8ef714d761506ebd296649cd5e6e682ed572350c Mon Sep 17 00:00:00 2001 From: gastank <42421688+gastank@users.noreply.github.com> Date: Thu, 3 Oct 2024 10:04:12 -0700 Subject: [PATCH 09/11] [Gear] golem gearbox initial implementation --- dbc_extract3/dbc/generator.py | 1 + engine/dbc/generated/sc_spell_data_ptr.inc | 398 ++++++++++---------- engine/dbc/generated/spelltext_data_ptr.inc | 8 +- engine/player/unique_gear_thewarwithin.cpp | 39 ++ 4 files changed, 255 insertions(+), 191 deletions(-) diff --git a/dbc_extract3/dbc/generator.py b/dbc_extract3/dbc/generator.py index 1699956da45..d35b9243b98 100644 --- a/dbc_extract3/dbc/generator.py +++ b/dbc_extract3/dbc/generator.py @@ -1521,6 +1521,7 @@ class SpellDataGenerator(DataGenerator): 455441, 455454, 455455, 455456, #Unstable Power Core Mastery Crit Haste Vers 455521, 455522, 457627, # Woven Dawn Tailoring Set 449441, # Fury of the Stormrook Set + 469917, 469920, # golem gearbox ), # Warrior: diff --git a/engine/dbc/generated/sc_spell_data_ptr.inc b/engine/dbc/generated/sc_spell_data_ptr.inc index f43b93c7ec1..d10f464426a 100644 --- a/engine/dbc/generated/sc_spell_data_ptr.inc +++ b/engine/dbc/generated/sc_spell_data_ptr.inc @@ -1,5 +1,5 @@ -// 28535 spells, wow build level 11.0.5.56865 -static spell_data_t __ptr_spell_data[28535] = { +// 28541 spells, wow build level 11.0.5.56865 +static spell_data_t __ptr_spell_data[28541] = { { "Power Word: Shield" , 17, 2, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000010, 0, 0, 0, 4, 0, 0, 0.000000, 40.000000, 7500, 1500, 0, 0, 0, 0, 1, 0, 15000, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 327680, 0, 2621696, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0 }, { 1, 0, 0, 0 }, 6, { 0, 0 }, { 0, 0 }, 0x88000000, 19, 0, 0, 0, 0, 0, 0, 2, 4, 0, 4 }, /* 13, 1028381 */ { "Backstab" , 53, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000008, 0, 0, 0, 14, 0, 0, 0.000000, 5.000000, 0, 1000, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 2, 0x00000000, 0x00008000, 0, { 327696, 201327104, 1048576, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, { 4, 4194304, 0, 0 }, 8, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 3 }, /* 30, 31, 32, 297239 */ { "Stun" , 56, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 49, 0.000000, 5.000000, 0, 0, 0, 0, 0, 32, 1, 0, 3000, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 262144, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1073741824, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 12, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* 33 */ @@ -28180,6 +28180,7 @@ static spell_data_t __ptr_spell_data[28535] = { { "Reactive Warding" , 462479, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000040, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 512, 0, 0 }, 11, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3 }, /* 1172306 */ { "Downpour" , 462486, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000040, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0x0000000400000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 192, 0, 0, 67108864, 0, 0, 0, 0, 4096, 0, 0, 0, 2147483648, 0, 0 }, { 0, 0, 0, 0 }, 11, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3 }, /* 1172315 */ { "Downpour" , 462488, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000040, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, 6000, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4194304, 0, 0, 2147483648, 128, 0 }, { 0, 0, 0, 0 }, 11, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4 }, /* 1172317, 1172562 */ + { "Severed Strands" , 462513, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, -1, 8, 101, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 2843738112, 1056, 268976389, 1245184, 8396928, 393224, 12292, 0, 4096, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 524288, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0 }, /* 1172364, 1172365, 1190833, 1190834, 1190835 */ { "Howl of the Pack" , 462515, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000004, 0, 0, 0, 0, 0, 0, 0.000000, 100.000000, 0, 0, 0, 0, 0, 0, 0, 0, 8000, 3, 101, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 2147483648, 1024, 268435456, 196608, 8388608, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 9, { 524288, 64 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 }, /* 1172368 */ { "Elemental Resistance" , 462568, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000040, 0, 0, 0, 0, 0, 0, 0.000000, 100.000000, 0, 0, 0, 0, 0, 0, 0, 0, 3000, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 1048576, 0 }, { 0, 0, 0, 0 }, 11, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3 }, /* 1172448 */ { "Arachnophile Spectacles" , 462576, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, 600000, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 150994944, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 536870912, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* 1172461 */ @@ -28438,6 +28439,11 @@ static spell_data_t __ptr_spell_data[28535] = { { "Refining Fire" , 469883, 6, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000002, 0, 0, 0, 0, 0, 0, 0.000000, 50000.000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0x0000000000011000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 64, 0, 0, 67108864, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 10, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3 }, /* 1184537 */ { "Authoritative Rebuke" , 469886, 2, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000002, 0, 0, 0, 0, 0, 0, 0.000000, 40.000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 64, 268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 10, { 0, 16448 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3 }, /* 1184542, 1184543 */ { "Golem Gearbox" , 469915, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0x0000000000041154, 2500, 0.000000, 0, 0x00000000, 0x00000000, 0, { 192, 0, 0, 67108864, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 }, /* 1184599, 1184606 */ + { "Winding Up" , 469917, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, -1, 5, 101, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* 1184601 */ + { "Torrent of Flames" , 469918, 4, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 45.000000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* 1184602 */ + { "Torrent of Flames" , 469919, 4, 20.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 100.000000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* 1184603 */ + { "Torrent of Flames" , 469920, 4, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 100.000000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0 }, /* 1184604 */ + { "Torrent of Flames" , 469921, 4, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 100.000000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* 1184605 */ { "Dope'rel's Calling Rune" , 469922, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0x0000000000051000, 0, 2.000000, 0, 0x00000000, 0x00000000, 0, { 64, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* 1184607 */ { "Ghostly Ambush" , 469924, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 100.000000, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0 }, /* 1184610 */ { "Burst of Knowledge" , 469925, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 120000, 0, 0, 0, 0, 0, 1, 0, 20000, 0, 100, 0, 0x0000000000015510, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 327680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* 1184611 */ @@ -28537,8 +28543,8 @@ static spell_data_t __ptr_spell_data[28535] = { { "Surge of Strength" , 472304, 1, 0.000000, 0.000000, 0.000000, 0x0000000000000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0.000000, 0.000000, 0, 0, 0, 0, 0, 0, 0, 0, 30000, 0, 0, 0, 0x0000000000000000, 0, 0.000000, 0, 0x00000000, 0x00000000, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 4, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, { 0, 0 }, { 0, 0 }, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0 }, /* 1190344 */ }; -// 46278 effects, wow build level 11.0.5.56865 -static spelleffect_data_t __ptr_spelleffect_data[46278] = { +// 46288 effects, wow build level 11.0.5.56865 +static spelleffect_data_t __ptr_spelleffect_data[46288] = { { 13, 17, 0, 6, 69, 0, 0x00000000, 0.000000, 0.050000, 0.000000, 4.032000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 127, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 21, 0, 0.000000, 1.000000, 0, 0 }, { 1028381, 17, 1, 6, 226, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1000, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 21, 0, 0.000000, 1.000000, 0, 0 }, { 30, 53, 0, 3, 0, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 1.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 6, 0, 0.000000, 1.000000, 0, 0 }, @@ -74277,6 +74283,11 @@ static spelleffect_data_t __ptr_spelleffect_data[46278] = { { 1172315, 462486, 0, 6, 4, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 100.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, { 1172317, 462488, 0, 6, 332, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 462603.0000, 0, 0, { 0, 0, 1048576, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, { 1172562, 462488, 1, 6, 332, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 462603.0000, 444995, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, + { 1172364, 462513, 0, 6, 79, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 127, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, + { 1172365, 462513, 1, 6, 136, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 127, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, + { 1190833, 462513, 2, 6, 421, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, + { 1190834, 462513, 3, 6, 429, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, + { 1190835, 462513, 4, 6, 531, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, { 1172368, 462515, 0, 6, 163, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 5.0000, 127, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, { 1172448, 462568, 0, 6, 87, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, -6.0000, 28, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 21, 0, 0.000000, 1.000000, 0, 0 }, { 1172461, 462576, 0, 6, 233, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 550.0000, 7825, 240, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, @@ -74680,6 +74691,11 @@ static spelleffect_data_t __ptr_spelleffect_data[46278] = { { 1184543, 469886, 1, 6, 4, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 100.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, { 1184599, 469915, 0, 6, 4, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 3.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, { 1184606, 469915, 1, 6, 4, -9, 0x00000000, 12.897768, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 0, 0, 0.000000, 1.000000, 0, 0 }, + { 1184601, 469917, 0, 6, 4, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 1.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, + { 1184602, 469918, 0, 3, 0, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 6, 0, 0.000000, 1.000000, 0, 0 }, + { 1184603, 469919, 0, 32, 0, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 469920, 1.000000, 0.000000, 0.000000, 0, 0, 6, 0, 0.000000, 1.000000, 0, 0 }, + { 1184604, 469920, 0, 2, 0, -9, 0x00000000, 27.331718, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 6, 0, 0.000000, 1.000000, 0, 0 }, + { 1184605, 469921, 0, 64, 0, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 469920, 1.000000, 0.000000, 0.000000, 0, 0, 6, 0, 0.000000, 1.000000, 0, 0 }, { 1184607, 469922, 0, 6, 42, -9, 0x00000000, 37.136784, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 469924, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, { 1184610, 469924, 0, 2, 0, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 25, 0, 0.000000, 1.000000, 0, 0 }, { 1184611, 469925, 0, 6, 42, 0, 0x00000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 469926, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, @@ -74819,7 +74835,7 @@ static spelleffect_data_t __ptr_spelleffect_data[46278] = { { 1190344, 472304, 0, 6, 29, -8, 0x00000000, 1.565655, 0.000000, 0.000000, 0.000000, 0.000000, 0, 0.000000, 0.000000, 0.0000, 0, 0, { 0, 0, 0, 0 }, 0, 1.000000, 0.000000, 0.000000, 0, 0, 1, 0, 0.000000, 1.000000, 0, 0 }, }; -static const std::array __ptr_spelleffect_id_index { { +static const std::array __ptr_spelleffect_id_index { { 0, 2, 3, 4, 6, 8, 9, 10, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 33, 35, @@ -80417,128 +80433,129 @@ static const std::array __ptr_spelleffect_id_index { { 45720, 45721, 11818, 45722, 45723, 45725, 42034, 4901, 4902, 4903, 4904, 36612, 45726, 45727, 45728, 45729, 45730, 5920, 45731, 45733, 45734, 45735, 45736, 12804, - 45042, 30742, 45738, 4016, 45739, 45740, 45741, 45742, - 31285, 31286, 45743, 31536, 7897, 40618, 45744, 45745, - 45746, 45747, 45737, 42699, 32175, 45749, 45750, 45752, - 39331, 45753, 45755, 45756, 45757, 45758, 45759, 45760, - 45761, 45762, 45763, 5893, 40151, 14292, 45724, 45764, - 45765, 30667, 45766, 45767, 45768, 28215, 45769, 45770, - 45771, 45772, 45773, 7952, 9407, 9408, 44627, 45776, - 43995, 45778, 45779, 45780, 30974, 45777, 13129, 45781, - 45783, 45784, 45785, 45782, 45786, 45787, 45788, 44683, - 45790, 45791, 45792, 45793, 45794, 43650, 31600, 36600, - 40594, 43996, 7926, 31376, 45795, 41789, 10745, 10746, - 23361, 8822, 8823, 45789, 45796, 45797, 45798, 8827, - 8828, 45799, 45800, 45801, 45802, 45803, 45804, 45805, - 45806, 45807, 45808, 45809, 45810, 45811, 45812, 41946, - 45813, 44528, 45814, 45815, 45816, 45817, 45818, 31327, - 31328, 45819, 45820, 13730, 13731, 39390, 45821, 45822, - 45823, 43997, 45774, 34672, 4136, 4132, 45824, 45825, - 43930, 43931, 43932, 43933, 43934, 45826, 17103, 28388, - 43425, 40339, 45827, 45828, 45830, 45831, 45832, 40032, - 40645, 40647, 32475, 32476, 32477, 32478, 32479, 41432, - 45833, 40892, 8086, 43290, 45834, 45835, 45836, 45837, - 45841, 45842, 45843, 45844, 7953, 43998, 36630, 43407, - 43408, 45845, 45846, 45847, 45848, 4137, 43430, 40014, - 45849, 45587, 45588, 7372, 45850, 45851, 45592, 45596, - 45597, 45603, 45608, 45618, 45619, 45622, 45623, 45625, - 45629, 45633, 45640, 45653, 45654, 45655, 45852, 45853, - 41152, 7979, 41580, 39435, 43359, 45838, 45854, 45855, - 45856, 45839, 45840, 41288, 41177, 41159, 11015, 11016, - 45857, 45858, 45859, 45860, 45861, 45862, 45863, 45864, - 45865, 45866, 45867, 45751, 45775, 5785, 5786, 6418, - 6419, 45020, 6334, 6335, 6336, 43222, 6343, 6344, - 6345, 45868, 30883, 45869, 45870, 45872, 45873, 45874, - 45875, 45876, 45877, 43551, 43552, 45878, 45879, 45880, - 42561, 41214, 42568, 45881, 45882, 45871, 45883, 45884, - 45885, 45886, 45887, 45888, 45889, 45890, 45891, 45892, - 45893, 45894, 45895, 45896, 45897, 45898, 45899, 45900, - 7744, 45046, 40500, 40501, 7954, 40003, 7459, 8053, - 40764, 41140, 41141, 7354, 7355, 7356, 45901, 45902, - 45903, 45904, 45905, 45906, 45907, 45908, 45909, 45910, - 45748, 30812, 7818, 41609, 12717, 44981, 12730, 45911, - 45913, 45915, 45912, 45914, 45916, 39834, 42408, 7615, - 34977, 7927, 44294, 42520, 45917, 4115, 43662, 43663, - 43664, 45918, 45919, 7447, 8054, 8055, 8056, 7473, - 31421, 31422, 1761, 41150, 41586, 41587, 41588, 41535, - 38790, 38791, 38792, 38793, 7373, 43395, 37232, 43980, - 7415, 7416, 7417, 7418, 7419, 40921, 40922, 40923, - 44145, 44146, 38794, 45155, 45156, 45157, 45158, 45159, - 45160, 45161, 45162, 45163, 45164, 45165, 45166, 45167, - 45168, 45169, 45170, 38795, 38796, 33727, 43999, 43811, - 44310, 44311, 44312, 7402, 7955, 7956, 26814, 45920, - 45921, 45922, 45923, 45924, 8057, 8058, 8059, 33565, - 45925, 45926, 45927, 45928, 45929, 43334, 43629, 43630, - 7837, 45930, 45931, 45932, 45933, 44507, 44508, 44500, - 44501, 10599, 41929, 41279, 45935, 45936, 45937, 45938, - 45939, 45940, 43, 45941, 45942, 45943, 45945, 8663, - 45947, 45951, 5787, 5788, 45948, 45949, 4310, 30073, - 26363, 26364, 45954, 30766, 30767, 30674, 30770, 45110, - 43541, 30771, 45111, 30768, 45112, 5921, 5922, 5923, - 5908, 5894, 45955, 45956, 5909, 5910, 5911, 5912, - 31878, 5924, 32056, 45957, 45958, 32952, 41605, 45959, - 45960, 45961, 45963, 45964, 45965, 45967, 45968, 45969, - 41593, 45970, 24825, 41594, 40774, 40775, 43605, 31991, - 45971, 45972, 45973, 45974, 45975, 38864, 39088, 45976, - 45977, 45979, 45980, 45978, 45981, 45982, 45983, 45986, - 45987, 45988, 45989, 45990, 45991, 43539, 11848, 45992, - 45993, 45994, 43295, 45950, 45946, 34183, 45995, 45996, - 45997, 45998, 7957, 45732, 5895, 5896, 45999, 45962, - 5897, 9409, 46000, 46001, 46002, 46004, 45984, 45985, - 46003, 43754, 38825, 38826, 38827, 5898, 33239, 8087, - 8088, 11525, 26455, 26456, 10705, 20242, 46005, 26457, - 43801, 46006, 46007, 45944, 46008, 42060, 42061, 42062, - 44373, 45703, 46013, 46009, 46010, 46014, 45754, 46015, - 46016, 46017, 46018, 30291, 11057, 26458, 46019, 46020, - 46021, 46022, 30688, 46023, 46024, 46025, 46026, 46027, - 46028, 46029, 40282, 39439, 46030, 46031, 33341, 31423, - 46032, 46034, 46035, 39702, 46036, 46037, 46038, 46039, - 32075, 40389, 40390, 39878, 40776, 40777, 46040, 46041, - 46042, 46043, 26375, 31096, 31097, 31618, 31619, 46044, - 31885, 45089, 46045, 46046, 46047, 42390, 46048, 46049, - 46050, 46051, 45934, 46052, 46053, 46054, 477, 478, - 479, 480, 46055, 46056, 46057, 46058, 46059, 46060, - 46061, 46062, 46063, 46064, 46065, 46066, 46067, 46068, - 46069, 46070, 46071, 46072, 46073, 46074, 46075, 46076, - 46078, 46079, 46080, 46081, 46082, 46083, 46084, 46085, - 46086, 1814, 50, 46087, 36025, 46088, 41289, 41290, - 76, 46089, 46090, 46091, 46092, 46093, 42711, 43174, - 46094, 46095, 34803, 42936, 46096, 46097, 46098, 46099, - 46103, 31917, 46104, 39455, 46105, 8473, 7474, 7475, - 7476, 7522, 37233, 37234, 42940, 46107, 46109, 46110, - 46111, 46112, 46113, 46116, 46118, 46119, 46120, 46121, - 46117, 46106, 46108, 46122, 46126, 46127, 46123, 46124, - 30960, 30961, 46125, 46128, 136, 481, 46114, 46115, - 46129, 11638, 46130, 38797, 38798, 41775, 41776, 41778, - 46131, 46132, 46134, 46135, 46136, 46133, 46137, 46138, - 46139, 46140, 46141, 46142, 46143, 46144, 46145, 46146, - 46147, 46148, 46149, 46150, 46151, 46153, 46154, 46155, - 46156, 46157, 46158, 46159, 46160, 46161, 46162, 46163, - 43048, 46164, 39747, 40798, 42993, 46165, 46166, 41854, - 44701, 43620, 41529, 39072, 40537, 45103, 46167, 46168, - 46170, 46171, 46173, 46174, 46176, 46175, 33398, 45829, - 46177, 46178, 46179, 46169, 46180, 46181, 46182, 46183, - 46184, 46185, 46186, 46187, 46188, 46189, 31918, 31926, - 12042, 42653, 23373, 46190, 23374, 46191, 46192, 46193, - 46194, 46195, 46196, 46197, 46198, 46199, 46011, 46012, - 8901, 46200, 46201, 46202, 46203, 46204, 12760, 46205, - 46206, 46208, 46209, 46210, 46211, 42203, 42637, 42638, - 42639, 46172, 46213, 46214, 46215, 46216, 46217, 46218, - 46219, 46221, 46222, 46224, 46223, 46226, 46227, 46228, - 46229, 46230, 46231, 46232, 46233, 46234, 46236, 46237, - 46238, 46239, 46240, 46241, 46242, 46243, 46244, 46245, - 46246, 46247, 46248, 31370, 46249, 46250, 46251, 46252, - 46253, 46254, 46255, 39134, 42155, 12761, 46207, 7448, - 7403, 7523, 38799, 8012, 8013, 7980, 7958, 7959, - 46256, 46257, 7327, 46212, 5925, 5913, 5899, 46258, - 46259, 32852, 43559, 5900, 5901, 5914, 5915, 5926, - 5927, 46260, 46261, 7678, 7679, 34488, 42478, 46262, - 10600, 46263, 45952, 45953, 45132, 42256, 46235, 46152, - 46225, 46264, 46265, 46266, 46267, 46100, 46101, 46102, - 41398, 41399, 46220, 16014, 16015, 16028, 16803, 16796, - 16797, 16798, 46268, 46269, 46270, 46271, 46272, 46273, - 46274, 46275, 46276, 46277, 46077, 46033, 40406, 40396, - 45966, 42319, + 45042, 30742, 45738, 45739, 45743, 4016, 45744, 45745, + 45746, 45747, 31285, 31286, 45748, 31536, 7897, 40618, + 45749, 45750, 45751, 45752, 45737, 42699, 32175, 45754, + 45755, 45757, 39331, 45758, 45760, 45761, 45762, 45763, + 45764, 45765, 45766, 45767, 45768, 5893, 40151, 14292, + 45724, 45769, 45770, 30667, 45771, 45772, 45773, 28215, + 45774, 45775, 45776, 45777, 45778, 7952, 9407, 9408, + 44627, 45781, 43995, 45783, 45784, 45785, 30974, 45782, + 13129, 45786, 45788, 45789, 45790, 45787, 45791, 45792, + 45793, 44683, 45795, 45796, 45797, 45798, 45799, 43650, + 31600, 36600, 40594, 43996, 7926, 31376, 45800, 41789, + 10745, 10746, 23361, 8822, 8823, 45794, 45801, 45802, + 45803, 8827, 8828, 45804, 45805, 45806, 45807, 45808, + 45809, 45810, 45811, 45812, 45813, 45814, 45815, 45816, + 45817, 41946, 45818, 44528, 45819, 45820, 45821, 45822, + 45823, 31327, 31328, 45824, 45825, 13730, 13731, 39390, + 45826, 45827, 45828, 43997, 45779, 34672, 4136, 4132, + 45829, 45830, 43930, 43931, 43932, 43933, 43934, 45831, + 17103, 28388, 43425, 40339, 45832, 45833, 45835, 45836, + 45837, 40032, 40645, 40647, 32475, 32476, 32477, 32478, + 32479, 41432, 45838, 40892, 8086, 43290, 45839, 45840, + 45841, 45842, 45846, 45847, 45848, 45849, 7953, 43998, + 36630, 43407, 43408, 45850, 45851, 45852, 45853, 4137, + 43430, 40014, 45854, 45587, 45588, 7372, 45855, 45856, + 45592, 45596, 45597, 45603, 45608, 45618, 45619, 45622, + 45623, 45625, 45629, 45633, 45640, 45653, 45654, 45655, + 45857, 45858, 41152, 7979, 41580, 39435, 43359, 45843, + 45859, 45860, 45861, 45844, 45845, 41288, 41177, 41159, + 11015, 11016, 45862, 45863, 45864, 45865, 45866, 45867, + 45868, 45869, 45870, 45871, 45872, 45756, 45780, 5785, + 5786, 6418, 6419, 45020, 6334, 6335, 6336, 43222, + 6343, 6344, 6345, 45873, 30883, 45874, 45875, 45877, + 45878, 45879, 45880, 45881, 45882, 43551, 43552, 45883, + 45884, 45885, 42561, 41214, 42568, 45886, 45887, 45876, + 45888, 45889, 45890, 45891, 45892, 45893, 45894, 45895, + 45896, 45897, 45898, 45899, 45900, 45901, 45902, 45903, + 45904, 45905, 7744, 45046, 40500, 40501, 7954, 40003, + 7459, 8053, 40764, 41140, 41141, 7354, 7355, 7356, + 45906, 45907, 45908, 45909, 45910, 45911, 45912, 45913, + 45914, 45915, 45753, 30812, 7818, 41609, 12717, 44981, + 12730, 45916, 45918, 45920, 45917, 45919, 45921, 39834, + 42408, 7615, 34977, 7927, 44294, 42520, 45922, 4115, + 43662, 43663, 43664, 45923, 45924, 7447, 8054, 8055, + 8056, 7473, 31421, 31422, 1761, 41150, 41586, 41587, + 41588, 41535, 38790, 38791, 38792, 38793, 7373, 43395, + 37232, 43980, 7415, 7416, 7417, 7418, 7419, 40921, + 40922, 40923, 44145, 44146, 38794, 45155, 45156, 45157, + 45158, 45159, 45160, 45161, 45162, 45163, 45164, 45165, + 45166, 45167, 45168, 45169, 45170, 38795, 38796, 33727, + 43999, 43811, 44310, 44311, 44312, 7402, 7955, 7956, + 26814, 45925, 45926, 45927, 45928, 45929, 8057, 8058, + 8059, 33565, 45930, 45931, 45932, 45933, 45934, 43334, + 43629, 43630, 7837, 45935, 45936, 45937, 45938, 44507, + 44508, 44500, 44501, 10599, 41929, 41279, 45940, 45941, + 45942, 45943, 45944, 45945, 43, 45946, 45947, 45948, + 45950, 8663, 45952, 45956, 5787, 5788, 45953, 45954, + 4310, 30073, 26363, 26364, 45959, 30766, 30767, 30674, + 30770, 45110, 43541, 30771, 45111, 30768, 45112, 5921, + 5922, 5923, 5908, 5894, 45960, 45961, 5909, 5910, + 5911, 5912, 31878, 5924, 32056, 45962, 45963, 32952, + 41605, 45964, 45965, 45966, 45968, 45969, 45970, 45972, + 45973, 45974, 41593, 45975, 24825, 41594, 40774, 40775, + 43605, 31991, 45976, 45977, 45978, 45979, 45980, 38864, + 39088, 45981, 45982, 45984, 45985, 45983, 45986, 45987, + 45988, 45991, 45992, 45993, 45994, 45995, 45996, 43539, + 11848, 45997, 45998, 45999, 43295, 45955, 45951, 34183, + 46000, 46001, 46002, 46003, 7957, 45732, 5895, 5896, + 46004, 45967, 5897, 9409, 46005, 46006, 46007, 46009, + 45989, 45990, 46008, 43754, 38825, 38826, 38827, 5898, + 33239, 8087, 8088, 11525, 26455, 26456, 10705, 20242, + 46010, 26457, 43801, 46011, 46012, 45949, 46013, 42060, + 42061, 42062, 44373, 45703, 46018, 46014, 46015, 46019, + 45759, 46020, 46021, 46022, 46023, 30291, 11057, 26458, + 46024, 46025, 46026, 46027, 30688, 46028, 46029, 46030, + 46031, 46032, 46033, 46034, 40282, 39439, 46035, 46036, + 33341, 31423, 46037, 46039, 46040, 39702, 46041, 46042, + 46043, 46044, 32075, 40389, 40390, 39878, 40776, 40777, + 46045, 46046, 46047, 46048, 26375, 31096, 31097, 31618, + 31619, 46049, 31885, 45089, 46050, 46051, 46052, 42390, + 46053, 46054, 46055, 46056, 45939, 46057, 46058, 46059, + 477, 478, 479, 480, 46060, 46061, 46062, 46063, + 46064, 46065, 46066, 46067, 46068, 46069, 46070, 46071, + 46072, 46073, 46074, 46075, 46076, 46077, 46078, 46079, + 46080, 46081, 46083, 46084, 46085, 46086, 46087, 46088, + 46089, 46090, 46091, 1814, 50, 46092, 36025, 46093, + 41289, 41290, 76, 46094, 46095, 46096, 46097, 46098, + 42711, 43174, 46099, 46100, 34803, 42936, 46101, 46102, + 46103, 46104, 46108, 31917, 46109, 39455, 46110, 8473, + 7474, 7475, 7476, 7522, 37233, 37234, 42940, 46112, + 46114, 46115, 46116, 46117, 46118, 46121, 46123, 46124, + 46125, 46126, 46122, 46111, 46113, 46127, 46131, 46132, + 46128, 46129, 30960, 30961, 46130, 46133, 136, 481, + 46119, 46120, 46134, 11638, 46135, 38797, 38798, 41775, + 41776, 41778, 46136, 46137, 46139, 46140, 46141, 46138, + 46142, 46143, 46144, 46146, 46147, 46148, 46149, 46150, + 46145, 46151, 46152, 46153, 46154, 46155, 46156, 46157, + 46158, 46159, 46160, 46161, 46163, 46164, 46165, 46166, + 46167, 46168, 46169, 46170, 46171, 46172, 46173, 43048, + 46174, 39747, 40798, 42993, 46175, 46176, 41854, 44701, + 43620, 41529, 39072, 40537, 45103, 46177, 46178, 46180, + 46181, 46183, 46184, 46186, 46185, 33398, 45834, 46187, + 46188, 46189, 46179, 46190, 46191, 46192, 46193, 46194, + 46195, 46196, 46197, 46198, 46199, 31918, 31926, 12042, + 42653, 23373, 46200, 23374, 46201, 46202, 46203, 46204, + 46205, 46206, 46207, 46208, 46209, 46016, 46017, 8901, + 46210, 46211, 46212, 46213, 46214, 12760, 46215, 46216, + 46218, 46219, 46220, 46221, 42203, 42637, 42638, 42639, + 46182, 46223, 46224, 46225, 46226, 46227, 46228, 46229, + 46231, 46232, 46234, 46233, 46236, 46237, 46238, 46239, + 46240, 46241, 46242, 46243, 46244, 46246, 46247, 46248, + 46249, 46250, 46251, 46252, 46253, 46254, 46255, 46256, + 46257, 46258, 31370, 46259, 46260, 46261, 46262, 46263, + 46264, 46265, 39134, 42155, 12761, 46217, 7448, 7403, + 7523, 38799, 8012, 8013, 7980, 7958, 7959, 46266, + 46267, 7327, 46222, 5925, 5913, 5899, 46268, 46269, + 32852, 43559, 5900, 5901, 5914, 5915, 5926, 5927, + 46270, 46271, 7678, 7679, 34488, 42478, 46272, 10600, + 46273, 45957, 45958, 45132, 42256, 46245, 46162, 46235, + 46274, 46275, 46276, 46277, 46105, 46106, 46107, 41398, + 41399, 46230, 16014, 16015, 16028, 16803, 16796, 16797, + 16798, 46278, 46279, 46280, 46281, 46282, 46283, 46284, + 46285, 46286, 46287, 46082, 46038, 40406, 40396, 45971, + 42319, 45740, 45741, 45742, } }; // Spell powers, wow build 11.0.5.56865 @@ -134330,7 +134347,7 @@ static constexpr std::array __ptr_effect_hotfi static constexpr std::array __ptr_power_hotfix_data { { } }; -static constexpr std::array __ptr_spelldriver_index_data { { +static constexpr std::array __ptr_spelldriver_index_data { { &__ptr_spell_data[225], &__ptr_spell_data[3601], &__ptr_spell_data[23958], &__ptr_spell_data[21410], @@ -134358,7 +134375,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[241], &__ptr_spell_data[256], &__ptr_spell_data[259], - &__ptr_spell_data[28242], + &__ptr_spell_data[28243], &__ptr_spell_data[272], &__ptr_spell_data[281], &__ptr_spell_data[19109], @@ -134432,7 +134449,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[626], &__ptr_spell_data[1182], &__ptr_spell_data[10325], - &__ptr_spell_data[28530], + &__ptr_spell_data[28536], &__ptr_spell_data[10337], &__ptr_spell_data[11157], &__ptr_spell_data[11161], @@ -134707,7 +134724,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[2029], &__ptr_spell_data[2031], &__ptr_spell_data[2033], - &__ptr_spell_data[2040], &__ptr_spell_data[28241], + &__ptr_spell_data[2040], &__ptr_spell_data[28242], &__ptr_spell_data[1402], &__ptr_spell_data[1740], &__ptr_spell_data[2072], @@ -134857,7 +134874,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[2634], &__ptr_spell_data[2635], &__ptr_spell_data[2638], - &__ptr_spell_data[28242], + &__ptr_spell_data[28243], &__ptr_spell_data[16222], &__ptr_spell_data[19347], &__ptr_spell_data[2681], &__ptr_spell_data[2686], @@ -134902,7 +134919,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[2855], &__ptr_spell_data[2813], &__ptr_spell_data[2833], &__ptr_spell_data[2834], &__ptr_spell_data[2835], &__ptr_spell_data[2836], &__ptr_spell_data[2837], &__ptr_spell_data[2838], &__ptr_spell_data[2839], &__ptr_spell_data[2840], &__ptr_spell_data[2854], &__ptr_spell_data[2841], &__ptr_spell_data[2842], &__ptr_spell_data[2843], &__ptr_spell_data[2844], &__ptr_spell_data[2845], &__ptr_spell_data[2846], &__ptr_spell_data[2847], &__ptr_spell_data[2848], &__ptr_spell_data[2849], &__ptr_spell_data[2850], &__ptr_spell_data[2855], - &__ptr_spell_data[2868], &__ptr_spell_data[28370], + &__ptr_spell_data[2868], &__ptr_spell_data[28371], &__ptr_spell_data[2871], &__ptr_spell_data[2873], &__ptr_spell_data[2878], @@ -135707,7 +135724,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[6733], &__ptr_spell_data[6734], &__ptr_spell_data[6735], - &__ptr_spell_data[28473], + &__ptr_spell_data[28479], &__ptr_spell_data[18936], &__ptr_spell_data[6767], &__ptr_spell_data[6768], @@ -136404,7 +136421,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[11016], &__ptr_spell_data[14973], &__ptr_spell_data[17375], &__ptr_spell_data[10760], &__ptr_spell_data[7756], - &__ptr_spell_data[5387], &__ptr_spell_data[5388], &__ptr_spell_data[28213], &__ptr_spell_data[28215], + &__ptr_spell_data[5387], &__ptr_spell_data[5388], &__ptr_spell_data[28214], &__ptr_spell_data[28216], &__ptr_spell_data[11074], &__ptr_spell_data[11076], &__ptr_spell_data[11474], @@ -138027,13 +138044,13 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[17778], &__ptr_spell_data[18438], &__ptr_spell_data[18689], &__ptr_spell_data[17747], - &__ptr_spell_data[28409], + &__ptr_spell_data[28410], &__ptr_spell_data[17735], &__ptr_spell_data[17767], &__ptr_spell_data[18262], &__ptr_spell_data[17753], &__ptr_spell_data[17758], &__ptr_spell_data[17824], - &__ptr_spell_data[28409], + &__ptr_spell_data[28410], &__ptr_spell_data[18465], &__ptr_spell_data[18463], &__ptr_spell_data[18466], @@ -138417,7 +138434,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[19435], &__ptr_spell_data[19698], &__ptr_spell_data[19699], &__ptr_spell_data[22555], - &__ptr_spell_data[28424], + &__ptr_spell_data[28425], &__ptr_spell_data[19721], &__ptr_spell_data[19742], &__ptr_spell_data[19726], &__ptr_spell_data[19590], @@ -138526,7 +138543,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[20263], &__ptr_spell_data[20269], &__ptr_spell_data[22133], &__ptr_spell_data[22134], &__ptr_spell_data[22135], - &__ptr_spell_data[17011], &__ptr_spell_data[28468], + &__ptr_spell_data[17011], &__ptr_spell_data[28474], &__ptr_spell_data[20291], &__ptr_spell_data[20294], &__ptr_spell_data[20300], @@ -138648,7 +138665,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[20905], &__ptr_spell_data[20907], &__ptr_spell_data[20908], &__ptr_spell_data[20910], - &__ptr_spell_data[28318], + &__ptr_spell_data[28319], &__ptr_spell_data[20922], &__ptr_spell_data[20924], &__ptr_spell_data[22196], @@ -139783,7 +139800,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[26821], &__ptr_spell_data[27520], &__ptr_spell_data[27521], &__ptr_spell_data[27676], &__ptr_spell_data[27677], - &__ptr_spell_data[27670], &__ptr_spell_data[27673], &__ptr_spell_data[28216], &__ptr_spell_data[28221], + &__ptr_spell_data[27670], &__ptr_spell_data[27673], &__ptr_spell_data[28217], &__ptr_spell_data[28222], &__ptr_spell_data[26608], &__ptr_spell_data[25733], &__ptr_spell_data[26822], @@ -139795,7 +139812,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[27005], &__ptr_spell_data[26837], &__ptr_spell_data[26837], - &__ptr_spell_data[27011], &__ptr_spell_data[28222], + &__ptr_spell_data[27011], &__ptr_spell_data[28223], &__ptr_spell_data[26889], &__ptr_spell_data[26869], &__ptr_spell_data[27016], @@ -139810,7 +139827,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[27043], &__ptr_spell_data[27044], &__ptr_spell_data[27057], - &__ptr_spell_data[27060], &__ptr_spell_data[28235], + &__ptr_spell_data[27060], &__ptr_spell_data[28236], &__ptr_spell_data[19257], &__ptr_spell_data[19235], &__ptr_spell_data[26877], @@ -139830,7 +139847,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[27121], &__ptr_spell_data[27124], &__ptr_spell_data[27128], - &__ptr_spell_data[27140], &__ptr_spell_data[27151], &__ptr_spell_data[28247], &__ptr_spell_data[28250], + &__ptr_spell_data[27140], &__ptr_spell_data[27151], &__ptr_spell_data[28248], &__ptr_spell_data[28251], &__ptr_spell_data[27139], &__ptr_spell_data[27140], &__ptr_spell_data[27145], &__ptr_spell_data[27146], @@ -139841,7 +139858,7 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[26850], &__ptr_spell_data[27183], &__ptr_spell_data[26852], - &__ptr_spell_data[28224], &__ptr_spell_data[28234], + &__ptr_spell_data[28225], &__ptr_spell_data[28235], &__ptr_spell_data[27203], &__ptr_spell_data[25930], &__ptr_spell_data[26902], @@ -139948,64 +139965,65 @@ static constexpr std::array __ptr_spelldriver_index_d &__ptr_spell_data[26963], &__ptr_spell_data[27437], &__ptr_spell_data[27462], &__ptr_spell_data[27463], &__ptr_spell_data[27464], &__ptr_spell_data[27471], &__ptr_spell_data[27377], &__ptr_spell_data[27454], &__ptr_spell_data[27455], &__ptr_spell_data[27456], &__ptr_spell_data[27457], &__ptr_spell_data[27458], &__ptr_spell_data[27459], &__ptr_spell_data[27460], &__ptr_spell_data[27461], &__ptr_spell_data[27466], &__ptr_spell_data[27467], &__ptr_spell_data[27469], &__ptr_spell_data[28167], - &__ptr_spell_data[28203], - &__ptr_spell_data[28203], + &__ptr_spell_data[28204], + &__ptr_spell_data[28204], &__ptr_spell_data[3858], &__ptr_spell_data[27205], - &__ptr_spell_data[28233], - &__ptr_spell_data[28233], - &__ptr_spell_data[28233], - &__ptr_spell_data[26825], &__ptr_spell_data[28249], - &__ptr_spell_data[28247], - &__ptr_spell_data[28255], - &__ptr_spell_data[28264], - &__ptr_spell_data[28266], - &__ptr_spell_data[28269], - &__ptr_spell_data[28271], - &__ptr_spell_data[28273], - &__ptr_spell_data[28276], - &__ptr_spell_data[28278], + &__ptr_spell_data[28234], + &__ptr_spell_data[28234], + &__ptr_spell_data[28234], + &__ptr_spell_data[26825], &__ptr_spell_data[28250], + &__ptr_spell_data[28248], + &__ptr_spell_data[28256], + &__ptr_spell_data[28265], + &__ptr_spell_data[28267], + &__ptr_spell_data[28270], + &__ptr_spell_data[28272], + &__ptr_spell_data[28274], + &__ptr_spell_data[28277], + &__ptr_spell_data[28279], &__ptr_spell_data[27415], &__ptr_spell_data[27415], &__ptr_spell_data[20286], + &__ptr_spell_data[28322], + &__ptr_spell_data[28326], + &__ptr_spell_data[28336], + &__ptr_spell_data[28334], &__ptr_spell_data[28321], - &__ptr_spell_data[28325], - &__ptr_spell_data[28335], - &__ptr_spell_data[28333], - &__ptr_spell_data[28320], - &__ptr_spell_data[28310], + &__ptr_spell_data[28311], &__ptr_spell_data[24420], - &__ptr_spell_data[28369], + &__ptr_spell_data[28370], &__ptr_spell_data[17093], &__ptr_spell_data[20286], - &__ptr_spell_data[28379], - &__ptr_spell_data[28389], - &__ptr_spell_data[28392], - &__ptr_spell_data[28394], - &__ptr_spell_data[28396], + &__ptr_spell_data[28380], + &__ptr_spell_data[28390], + &__ptr_spell_data[28393], + &__ptr_spell_data[28395], + &__ptr_spell_data[28397], &__ptr_spell_data[24596], - &__ptr_spell_data[28419], - &__ptr_spell_data[28421], - &__ptr_spell_data[28435], - &__ptr_spell_data[28438], - &__ptr_spell_data[28440], - &__ptr_spell_data[28447], - &__ptr_spell_data[28456], - &__ptr_spell_data[28466], + &__ptr_spell_data[28420], + &__ptr_spell_data[28422], + &__ptr_spell_data[28436], + &__ptr_spell_data[28441], &__ptr_spell_data[28443], + &__ptr_spell_data[28444], + &__ptr_spell_data[28446], + &__ptr_spell_data[28453], + &__ptr_spell_data[28462], + &__ptr_spell_data[28472], &__ptr_spell_data[15172], - &__ptr_spell_data[28492], - &__ptr_spell_data[28494], - &__ptr_spell_data[28496], - &__ptr_spell_data[28499], - &__ptr_spell_data[28501], &__ptr_spell_data[28498], + &__ptr_spell_data[28500], &__ptr_spell_data[28502], - &__ptr_spell_data[28504], - &__ptr_spell_data[28506], + &__ptr_spell_data[28505], &__ptr_spell_data[28507], + &__ptr_spell_data[28504], + &__ptr_spell_data[28508], &__ptr_spell_data[28510], - &__ptr_spell_data[28518], - &__ptr_spell_data[28529], - &__ptr_spell_data[28532], - &__ptr_spell_data[28533], + &__ptr_spell_data[28512], + &__ptr_spell_data[28513], + &__ptr_spell_data[28516], + &__ptr_spell_data[28524], + &__ptr_spell_data[28535], + &__ptr_spell_data[28538], + &__ptr_spell_data[28539], } }; diff --git a/engine/dbc/generated/spelltext_data_ptr.inc b/engine/dbc/generated/spelltext_data_ptr.inc index 99439964d79..1a496fa2a36 100644 --- a/engine/dbc/generated/spelltext_data_ptr.inc +++ b/engine/dbc/generated/spelltext_data_ptr.inc @@ -1,5 +1,5 @@ // Spell text, wow build 11.0.5.56865 -static const std::array __ptr_spelltext_data { { +static const std::array __ptr_spelltext_data { { { 17, "Shields an ally for $d, absorbing $s1 damage.", "Absorbs $w1 damage.", 0 }, { 53, "Stab the target, causing ${$s2*$} Physical damage. Damage increased by $s4% when you are behind your target$?s319949[, and critical strikes apply Find Weakness for $319949s1 sec][].\r\n\r\n|cFFFFFFFFAwards $s3 combo $lpoint:points;.|r", 0, 0 }, { 56, "Stuns target for $d.", "Stunned.", 0 }, @@ -26165,6 +26165,7 @@ static const std::array __ptr_spelltext_data { { { 462479, "$@spelldesc462454", 0, 0 }, { 462486, "Casting $?a455630[Surging Totem][Healing Rain] has a $s1% chance to activate Downpour, allowing you to cast Downpour within $462488d.\r\n\r\n$@spellicon207778 $@spellname207778\r\n$@spelldesc207778", 0, 0 }, { 462488, "$@spelldesc462486", "Downpour can be cast!", 0 }, + { 462513, "The Severed Threads lend you their aid, increasing your damage dealt & healing done while inside Nerub-ar Palace by $s1%.", "Damage dealt increased by $s1%.\r\nHealing and absorption effects increased by $s2%.", 0 }, { 462515, "$@spelldesc445707", "Critical damage dealt increased by $s1%.", 0 }, { 462568, "$@spelldesc462368", "Fire, Frost, and Nature damage taken reduced by $w1%.", 0 }, { 462576, "Something skitters in the corner of your eyes. Everywhere.", "Something skitters in the corner of your eyes. Everywhere.", 0 }, @@ -26421,6 +26422,11 @@ static const std::array __ptr_spelltext_data { { { 469883, "$@spelldesc469882", 0, 0 }, { 469886, "Successfully interrupting an enemy spellcast reduces your Rebuke's cooldown by ${$s1/1000}.1 sec. Effect increased by $s2% while wielding a Holy Armament.", 0, 0 }, { 469915, "The gearbox is Wound each time you cause a critical strike. When Wound $s1 times, unleash a Torrent of Flames dealing ${$*$s2} Fire damage. The gearbox cannot be Wound more than once every 2.5 sec.", 0, 0 }, + { 469917, "Wind the Golem Gearbox. When Wound $469915s1 times, release a Torent of Flames dealing $469915s2 Fire damage.", "When wound 3 times release a Torrent of Flames.", 0 }, + { 469918, "Deals $469915s2 Fire damage.", 0, 0 }, + { 469919, "$@spelldesc469918", 0, 0 }, + { 469920, "$@spelldesc469918", 0, 0 }, + { 469921, "$@spelldesc469918", 0, 0 }, { 469922, "Your spells have a chance to call on Dope'rel to Backstab your target dealing ${$*$s1} Physical damage.", 0, 0 }, { 469924, "$@spelldesc469922", 0, 0 }, { 469925, "Each spell cast within 20 seconds will grant a stacking bonus of $469926s1 Intellect up to $469926u stacks. Expires after $d. Abilities with no mana cost will not trigger this trinket.", "Chance to gain Intellect.", 0 }, diff --git a/engine/player/unique_gear_thewarwithin.cpp b/engine/player/unique_gear_thewarwithin.cpp index 3cc909c82c8..8259a6adbc9 100644 --- a/engine/player/unique_gear_thewarwithin.cpp +++ b/engine/player/unique_gear_thewarwithin.cpp @@ -4853,6 +4853,44 @@ void hand_of_justice( special_effect_t& effect ) new dbc_proc_callback_t( effect.player, effect ); } +// 469915 driver +// e1: counter threshold +// e2: damage coeff +// 469917 counter +// 469918 unknown +// 469919 missile, trigger damage +// 469920 damage +// e1: damage coeff (unused?) +void golem_gearbox( special_effect_t& effect ) +{ + if ( !effect.player->is_ptr() ) + return; + + auto counter = create_buff( effect.player, effect.player->find_spell( 469917 ) ) + ->set_max_stack( as( effect.driver()->effectN( 1 ).base_value() ) ); + + auto missile = create_proc_action( "torrent_of_flames", effect, 469919 ); + auto damage = + create_proc_action( "torrent_of_flames_damage", effect, missile->data().effectN( 1 ).trigger() ); + damage->dual = damage->background = true; + // TODO: confirm driver coeff is used and not damage spell coeff + damage->base_dd_min = damage->base_dd_max = effect.driver()->effectN( 2 ).average( effect ); + // TODO: currently not implemented in-game + // damage->base_multiplier *= role_mult( effect ); + + missile->impact_action = damage; + // use missile stat obj and remove unused damage stats obj + range::erase_remove( effect.player->stats_list, damage->stats ); + delete damage->stats; + damage->stats = missile->stats; + + effect.proc_flags2_ = PF2_CRIT; + effect.custom_buff = counter; + effect.execute_action = missile; + + new dbc_proc_callback_t( effect.player, effect ); +} + // Weapons // 443384 driver // 443585 damage @@ -5792,6 +5830,7 @@ void register_special_effects() register_special_effect( 455467, items::kaheti_shadeweavers_emblem, true ); register_special_effect( 455452, DISABLED_EFFECT ); // kaheti shadeweaver's emblem register_special_effect( 469927, items::hand_of_justice ); + register_special_effect( 469915, items::golem_gearbox ); // Weapons register_special_effect( 443384, items::fateweaved_needle ); From d521370bc5506e7dc2055007443739ebba408d00 Mon Sep 17 00:00:00 2001 From: Saeldur <5496498+Saeldur@users.noreply.github.com> Date: Thu, 3 Oct 2024 18:29:24 +0100 Subject: [PATCH 10/11] [Aug] They fixed the overlord bug --- engine/class_modules/sc_evoker.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/engine/class_modules/sc_evoker.cpp b/engine/class_modules/sc_evoker.cpp index 65cca5e35f1..8ac5883558a 100644 --- a/engine/class_modules/sc_evoker.cpp +++ b/engine/class_modules/sc_evoker.cpp @@ -5273,23 +5273,24 @@ struct eruption_t : public essence_spell_t ->buffs.blistering_scales->bump( as( p()->talent.regenerative_chitin->effectN( 3 ).base_value() ) ); } - if ( p()->talent.scalecommander.mass_eruption.enabled() && p()->buff.mass_eruption_stacks->check() && execute_state ) + if ( !is_overlord ) { - int eruptions = 1; - for ( auto potential_target : target_list() ) + if ( p()->talent.scalecommander.mass_eruption.enabled() && p()->buff.mass_eruption_stacks->check() && + execute_state ) { - if ( potential_target == execute_state->target ) - continue; + int eruptions = 1; + for ( auto potential_target : target_list() ) + { + if ( potential_target == execute_state->target ) + continue; - mass_eruption->execute_on_target( potential_target ); + mass_eruption->execute_on_target( potential_target ); - if ( ++eruptions >= mass_eruption_max_targets ) - break; + if ( ++eruptions >= mass_eruption_max_targets ) + break; + } } - } - if ( !is_overlord ) - { p()->buff.volcanic_upsurge->decrement(); p()->buff.mass_eruption_stacks->decrement(); } From b355db685a341f21feccbe930bb625c37e1b75d0 Mon Sep 17 00:00:00 2001 From: gastank <42421688+gastank@users.noreply.github.com> Date: Thu, 3 Oct 2024 11:18:55 -0700 Subject: [PATCH 11/11] [Gear] dope'rel's calling rune initial implementation --- engine/player/unique_gear_thewarwithin.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/engine/player/unique_gear_thewarwithin.cpp b/engine/player/unique_gear_thewarwithin.cpp index 8259a6adbc9..4d251b627a2 100644 --- a/engine/player/unique_gear_thewarwithin.cpp +++ b/engine/player/unique_gear_thewarwithin.cpp @@ -4891,6 +4891,21 @@ void golem_gearbox( special_effect_t& effect ) new dbc_proc_callback_t( effect.player, effect ); } +// 469922 driver, trigger damage +// 469924 damage +void doperels_calling_rune( special_effect_t& effect ) +{ + if ( !effect.player->is_ptr() ) + return; + + auto damage = create_proc_action( "ghostly_ambush", effect, effect.trigger() ); + damage->base_dd_min = damage->base_dd_max = effect.driver()->effectN( 1 ).average( effect ); + // TODO: currently not implemented in-game + // damage->base_multiplier *= role_mult( effect ); + + new dbc_proc_callback_t( effect.player, effect ); +} + // Weapons // 443384 driver // 443585 damage @@ -5831,6 +5846,7 @@ void register_special_effects() register_special_effect( 455452, DISABLED_EFFECT ); // kaheti shadeweaver's emblem register_special_effect( 469927, items::hand_of_justice ); register_special_effect( 469915, items::golem_gearbox ); + register_special_effect( 469922, items::doperels_calling_rune ); // Weapons register_special_effect( 443384, items::fateweaved_needle );