From 2717fc350276f06a3fab8ebda3a6e127633c0615 Mon Sep 17 00:00:00 2001 From: HawkCorrigan Date: Wed, 11 Feb 2026 22:09:52 +0100 Subject: [PATCH 1/2] [ele] fix earthquake overload --- engine/class_modules/sc_shaman.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engine/class_modules/sc_shaman.cpp b/engine/class_modules/sc_shaman.cpp index 768e67427bf..816d80504fe 100644 --- a/engine/class_modules/sc_shaman.cpp +++ b/engine/class_modules/sc_shaman.cpp @@ -7413,6 +7413,7 @@ struct earthquake_overload_damage_t : public earthquake_damage_base_t earthquake_overload_damage_t( shaman_t* player, earthquake_base_t* parent ) : earthquake_damage_base_t( player, "earthquake_overload_damage", player->find_spell( 298765 ), parent ) { + } double action_multiplier() const override @@ -7424,6 +7425,9 @@ struct earthquake_overload_damage_t : public earthquake_damage_base_t m *= (1.0 + p()->spell.ascendance->effectN( 8 ).percent()); } + m *= p()->talent.mountains_will_fall->effectN( 1 ).percent() * + p()->mastery.elemental_overload->effectN( 2 ).percent(); + return m; } }; From a8932f082e2ef27a31f75276346522977631588e Mon Sep 17 00:00:00 2001 From: HawkCorrigan Date: Sat, 14 Feb 2026 13:24:35 +0100 Subject: [PATCH 2/2] [ele] add midnight 2piece --- dbc_extract3/dbc/generator.py | 1 + engine/class_modules/sc_shaman.cpp | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/dbc_extract3/dbc/generator.py b/dbc_extract3/dbc/generator.py index 4a6d85688a1..27b840731ab 100644 --- a/dbc_extract3/dbc/generator.py +++ b/dbc_extract3/dbc/generator.py @@ -2068,6 +2068,7 @@ class SpellDataGenerator(DataGenerator): ( 467283, 0 ), # Reactivity proc ( 408390, 0 ), # Elemental Weapons actual ( 1239170, 0 ), # TWW3 Enhancement 4 piece set bonus buff + ( 383009, 0), # Stormkeeper buff for tier set impl ), # Mage: diff --git a/engine/class_modules/sc_shaman.cpp b/engine/class_modules/sc_shaman.cpp index 368ad0f0210..620b466e58c 100644 --- a/engine/class_modules/sc_shaman.cpp +++ b/engine/class_modules/sc_shaman.cpp @@ -1225,6 +1225,7 @@ struct shaman_t : public parse_player_effects_t buff_t* ancestral_swiftness; buff_t* thunderstrike_ward; buff_t* purging_flames; + buff_t* mid1_ele_2pc; buff_t* storms_eye; @@ -8223,6 +8224,8 @@ struct stormkeeper_t : public shaman_spell_t p()->buff.stormkeeper->trigger(2); + p()->buff.mid1_ele_2pc->trigger(); + } bool ready() override @@ -11972,6 +11975,9 @@ void shaman_t::create_buffs() buff.purging_flames = make_buff( this, "purging_flames", find_spell( 1259491 ) ); + buff.mid1_ele_2pc = make_buff( this, "thunderous_velocity", find_spell( 1272101 ) ) + ->set_trigger_spell( sets->set( SHAMAN_ELEMENTAL, MID1, B2 ) ); + // // Enhancement // @@ -12266,16 +12272,12 @@ bool shaman_t::validate_actor() util::role_type_string( primary_role() ), util::specialization_string( specialization() ) ); return false; } -#ifdef NDEBUG - - if ( ( specialization() == SHAMAN_ELEMENTAL ) && ( sim->dbc->wowv() < wowv_t( 12, 0, 1 ) ) ) - { - throw sc_invalid_player_argument( "Elemental Shaman sims are non functional for Midnight prepatch" ); - return false; - } - -#endif // !NDEBUG + if ( !is_ptr() ) + { + throw sc_invalid_player_argument( "Elemental Shaman sims are non functional for Midnight prepatch" ); + return false; + } // Restoration isn't supported atm if ( !sim->allow_experimental_specializations && specialization() == SHAMAN_RESTORATION &&