From 9e53591e98401c55b4c75d2b7f9af4f9353d88fa Mon Sep 17 00:00:00 2001 From: ccrs Date: Tue, 14 Oct 2025 17:57:53 +0200 Subject: Scripts/ICC: improve Lich King's Valkyr charge and path cosmetics --- .../IcecrownCitadel/boss_the_lich_king.cpp | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 8e3728ac0a0..a8b8db34056 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -1475,7 +1475,7 @@ struct npc_valkyr_shadowguard : public ScriptedAI triggers.sort(Trinity::ObjectDistanceOrderPred(me)); DoCast(target, SPELL_VALKYR_CARRY); - _dropPoint.Relocate(triggers.front()); + _dropPoint.Relocate(triggers.front()->GetPositionX(), triggers.front()->GetPositionY(), me->GetFloorZ() + 2.f); _events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 1s + 500ms); } } @@ -2821,6 +2821,30 @@ class spell_the_lich_king_harvest_souls_teleport : public SpellScript } }; +// 74399 - Charge (Valkyr) +class spell_the_lich_king_valkyr_charge : public SpellScript +{ + PrepareSpellScript(spell_the_lich_king_valkyr_charge); + + void ChargeDest(SpellEffIndex effIndex) + { + PreventHitDefaultEffect(effIndex); + + Unit* caster = GetCaster(); + Unit* target = GetExplTargetUnit(); + if (!target) + return; + + Position pos = target->GetPosition(); + caster->GetMotionMaster()->MoveCharge(pos.m_positionX, pos.m_positionY, caster->GetFloorZ() + 2.f); + } + + void Register() override + { + OnEffectLaunch += SpellEffectFn(spell_the_lich_king_valkyr_charge::ChargeDest, EFFECT_0, SPELL_EFFECT_CHARGE_DEST); + } +}; + class achievement_been_waiting_long_time : public AchievementCriteriaScript { public: @@ -2895,6 +2919,7 @@ void AddSC_boss_the_lich_king() RegisterSpellScriptWithArgs(spell_trigger_spell_from_caster, "spell_the_lich_king_mass_resurrection", SPELL_MASS_RESURRECTION_REAL); RegisterSpellScript(spell_the_lich_king_play_movie); RegisterSpellScript(spell_the_lich_king_harvest_souls_teleport); + RegisterSpellScript(spell_the_lich_king_valkyr_charge); // Achievements new achievement_been_waiting_long_time(); -- cgit v1.2.3