diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index 3bb4678ef..b497b00ed 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -227,11 +227,6 @@ struct boss_high_astromancer_solarian : public BossAI summon->SetInCombatWithZone(); } } - - bool CheckEvadeIfOutOfCombatArea() const override - { - return me->GetDistance2d(432.59f, -371.93f) > 105.0f; - } }; class spell_astromancer_wrath_of_the_astromancer : public AuraScript diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 5577cfeff..6dedc4864 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -1014,7 +1014,7 @@ struct npc_thaladred : public ScriptedAI scheduler.CancelAll(); me->SetReactState(REACT_PASSIVE); _hasDied = false; - me->SetWalk(true); + me->SetWalk(false); } void JustEngagedWith(Unit* /*who*/) override @@ -1023,6 +1023,7 @@ struct npc_thaladred : public ScriptedAI { Talk(SAY_THALADRED_AGGRO); } + me->SetWalk(true); ScheduleTimedEvent(100ms, [&] { DoResetThreatList(); @@ -1046,7 +1047,7 @@ struct npc_thaladred : public ScriptedAI { if (victim->IsNonMeleeSpellCast(false, false, true)) { - DoCastVictim(SPELL_SILENCE); + DoCastSelf(SPELL_SILENCE); } } }, 3600ms, 15200ms); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp index 271f06cdf..90bdecbc8 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp @@ -107,11 +107,6 @@ struct boss_void_reaver : public BossAI }); } - bool CheckEvadeIfOutOfCombatArea() const override - { - return me->GetDistance2d(432.59f, 371.93f) > 105.0f; - } - private: bool _recentlySpoken; }; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp index 8c61fdd93..835e9e9b2 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp @@ -33,7 +33,21 @@ ObjectData const creatureData[] = ObjectData const gameObjectData[] = { - { 0, 0 } + { 0, 0, } +}; + +DoorData const doorData[] = +{ + { GO_KAEL_DOOR_1, DATA_KAELTHAS, DOOR_TYPE_ROOM }, + { GO_KAEL_DOOR_2, DATA_KAELTHAS, DOOR_TYPE_ROOM }, + { 0, 0, DOOR_TYPE_ROOM } +}; + +BossBoundaryData const boundaries = +{ + { DATA_REAVER, new CircleBoundary(Position(432.741809f, 371.859589f), 105.052554f) }, + { DATA_ALAR, new CircleBoundary(Position(331.000000f, -2.38000000f), 108.29246f) }, + { DATA_ASTROMANCER, new CircleBoundary(Position(432.869202f, -374.213806f), 103.74374f) } }; class instance_the_eye : public InstanceMapScript @@ -46,8 +60,10 @@ public: instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map) { SetHeaders(DataHeader); - LoadObjectData(creatureData, gameObjectData); SetBossNumber(MAX_ENCOUNTER); + LoadObjectData(creatureData, gameObjectData); + LoadDoorData(doorData); + LoadBossBoundaries(boundaries); } ObjectGuid ThaladredTheDarkenerGUID; @@ -100,6 +116,7 @@ public: KaelStateLeftGUID = gobject->GetGUID(); break; } + InstanceScript::OnGameObjectCreate(gobject); } ObjectGuid GetGuidData(uint32 identifier) const override diff --git a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h index f66fceb71..ad911b563 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h +++ b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h @@ -39,7 +39,10 @@ enum EyeData DATA_THALADRED = 10, DATA_LORD_SANGUINAR = 11, DATA_CAPERNIAN = 12, - DATA_TELONICUS = 13 + DATA_TELONICUS = 13, + + DATA_KAEL_DOOR_1 = 14, + DATA_KAEL_DOOR_2 = 15 }; enum EyeNPCs @@ -56,7 +59,9 @@ enum EyeGOs { GO_BRIDGE_WINDOW = 184069, GO_KAEL_STATUE_RIGHT = 184596, - GO_KAEL_STATUE_LEFT = 184597 + GO_KAEL_STATUE_LEFT = 184597, + GO_KAEL_DOOR_1 = 184324, + GO_KAEL_DOOR_2 = 184325 }; template