aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2025-10-10 18:36:33 +0200
committerccrs <ccrs@users.noreply.github.com>2025-10-10 18:36:33 +0200
commite7cb86d369b8e5e92daa3a8b9f123fea380fcc8c (patch)
tree5975109ae5eb23cfa112f5f4a5f396621c0bb2b6
parent0ca034e3e2553edf3e320e8905d9620c4c640d0a (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.sql4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp26
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);