diff options
| author | ccrs <ccrs@users.noreply.github.com> | 2025-10-10 18:36:33 +0200 |
|---|---|---|
| committer | ccrs <ccrs@users.noreply.github.com> | 2025-10-10 18:36:33 +0200 |
| commit | e7cb86d369b8e5e92daa3a8b9f123fea380fcc8c (patch) | |
| tree | 5975109ae5eb23cfa112f5f4a5f396621c0bb2b6 | |
| parent | 0ca034e3e2553edf3e320e8905d9620c4c640d0a (diff) | |
Scripts/ICC: override default jump behavior in Sindragosa's Icy Grip Jump - she pulls everyone up and into the model, not just to the unit's margin
| -rw-r--r-- | sql/updates/world/3.3.5/2025_10_10_02_world.sql | 4 | ||||
| -rw-r--r-- | src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp | 26 |
2 files changed, 30 insertions, 0 deletions
diff --git a/sql/updates/world/3.3.5/2025_10_10_02_world.sql b/sql/updates/world/3.3.5/2025_10_10_02_world.sql new file mode 100644 index 00000000000..291079ca4f8 --- /dev/null +++ b/sql/updates/world/3.3.5/2025_10_10_02_world.sql @@ -0,0 +1,4 @@ +-- Icy Grip Jump +DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_sindragosa_icy_grip_jump'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(70122, 'spell_sindragosa_icy_grip_jump'); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index c3a6050d473..d14184d4120 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1359,6 +1359,31 @@ class spell_sindragosa_icy_grip : public SpellScript } }; +// 70122 - Icy Grip Jump +class spell_sindragosa_icy_grip_jump : public SpellScript +{ + PrepareSpellScript(spell_sindragosa_icy_grip_jump); + + void HandleEffect(SpellEffIndex effIndex) + { + PreventHitDefaultEffect(effIndex); + + Unit* target = GetHitUnit(); + Unit* caster = GetCaster(); + if (!target || !caster) + return; + + Position destination = target->GetPosition(); + destination.m_positionZ += 1.5f; + caster->GetMotionMaster()->MoveJump(destination, caster->GetExactDist2d(destination), 10.f); + } + + void Register() override + { + OnEffectLaunchTarget += SpellEffectFn(spell_sindragosa_icy_grip_jump::HandleEffect, EFFECT_0, SPELL_EFFECT_JUMP); + } +}; + class MysticBuffetTargetFilter { public: @@ -1597,6 +1622,7 @@ void AddSC_boss_sindragosa() RegisterSpellScript(spell_sindragosa_frost_beacon); RegisterSpellScript(spell_sindragosa_ice_tomb_trap); RegisterSpellScript(spell_sindragosa_icy_grip); + RegisterSpellScript(spell_sindragosa_icy_grip_jump); RegisterSpellScript(spell_sindragosa_mystic_buffet); RegisterSpellScript(spell_rimefang_icy_blast); RegisterSpellScript(spell_frostwarden_handler_order_whelp); |
