diff --git a/data/sql/updates/pending_db_world/rev_1774496999317065090.sql b/data/sql/updates/pending_db_world/rev_1774496999317065090.sql new file mode 100644 index 0000000000..30f5d0d8b3 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1774496999317065090.sql @@ -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); diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index adb7cabbaf..38afc8509a 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -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 { diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h b/src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h index 73ec679f5a..433a964783 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h @@ -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,