fix(Scripts/Northrend): improve EoE encounter visuals (#25258)

Co-authored-by: Ryan Turner <16946913+TheSCREWEDSoftware@users.noreply.github.com>
Co-authored-by: sudlud <sudlud@users.noreply.github.com>
This commit is contained in:
sogladev
2026-06-30 18:27:10 +02:00
committed by GitHub
parent f7ee2f47e0
commit 89fde96ae2
3 changed files with 24 additions and 4 deletions

View File

@@ -0,0 +1,6 @@
--
-- npcflag +SPELLCLICK
-- unit_flag -NON_ATTACKABLE, +NOT_SELECTABLE
UPDATE `creature_template` SET `faction` = 14, `npcflag` = `npcflag` | 16777216, `unit_flags` = (`unit_flags` & (~2)) | 33554432 WHERE (`entry` IN (30248, 31749));
DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` = 31749;
INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES(31749, 61421, 0, 0);

View File

@@ -886,7 +886,10 @@ struct npc_nexus_lord : public ScriptedAI
{
me->SetReactState(REACT_PASSIVE);
timer = 0;
me->CastSpell(me, SPELL_TELEPORT_VISUAL, true);
ScheduleUniqueTimedEvent(0s, [&]
{
DoCastSelf(SPELL_TELEPORT_VISUAL, true);
}, EVENT_TELEPORT_VISUAL);
}
uint16 timer;
@@ -951,7 +954,10 @@ struct npc_scion_of_eternity : public ScriptedAI
npc_scion_of_eternity(Creature* creature) : ScriptedAI(creature)
{
me->SetReactState(REACT_PASSIVE);
me->CastSpell(me, SPELL_TELEPORT_VISUAL, true);
ScheduleUniqueTimedEvent(0s, [&]
{
DoCastSelf(SPELL_TELEPORT_VISUAL, true);
}, EVENT_TELEPORT_VISUAL);
ScheduleTimedEvent(20s, 25s, [&]
{
GuidVector guids;
@@ -993,6 +999,7 @@ struct npc_hover_disk : public VehicleAI
npc_hover_disk(Creature* creature) : VehicleAI(creature)
{
events.Reset();
me->SetAnimTier(AnimTier::Fly);
}
EventMap events;
@@ -1002,6 +1009,7 @@ struct npc_hover_disk : public VehicleAI
events.Reset();
if (!who)
return;
if (apply)
{
if (who->IsPlayer())
@@ -1034,6 +1042,9 @@ struct npc_hover_disk : public VehicleAI
me->SetDisableGravity(false);
me->SetCanFly(false);
me->GetMotionMaster()->MoveLand(0, me->GetPositionX(), me->GetPositionY(), 267.24f, 10.0f);
me->SetImmuneToNPC(true);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->SetFaction(FACTION_FRIENDLY);
if (who->IsPlayer())
{
@@ -1152,7 +1163,10 @@ struct npc_alexstrasza : public ScriptedAI
struct npc_eoe_wyrmrest_skytalon : public VehicleAI
{
npc_eoe_wyrmrest_skytalon(Creature* creature) : VehicleAI(creature) { }
npc_eoe_wyrmrest_skytalon(Creature* creature) : VehicleAI(creature)
{
me->SetAnimTier(AnimTier::Fly);
}
void IsSummonedBy(WorldObject* summoner) override
{

View File

@@ -73,7 +73,7 @@ enum eSpells
SPELL_POWER_SPARK_GROUND_BUFF = 55852,
SPELL_POWER_SPARK_MALYGOS_BUFF = 56152,
SPELL_TELEPORT_VISUAL = 52096,
SPELL_TELEPORT_VISUAL = 41232,
SPELL_SCION_ARCANE_BARRAGE = 56397,
SPELL_ARCANE_SHOCK = 57058,