diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index 96e15eb4f..86f631274 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -235,7 +235,7 @@ struct npc_madrigosa : public NullCreatureAI { case EVENT_MAD_1: me->SetVisible(true); - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) { me->SetTarget(brutallus->GetGUID()); brutallus->SetReactState(REACT_PASSIVE); @@ -261,12 +261,12 @@ struct npc_madrigosa : public NullCreatureAI events.ScheduleEvent(EVENT_MAD_4, 7000); break; case EVENT_MAD_4: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) brutallus->AI()->Talk(YELL_INTRO); events.ScheduleEvent(EVENT_MAD_5, 5000); break; case EVENT_MAD_5: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) { brutallus->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACK1H); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACK1H); @@ -274,7 +274,7 @@ struct npc_madrigosa : public NullCreatureAI events.ScheduleEvent(EVENT_MAD_6, 10000); break; case EVENT_MAD_6: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) { brutallus->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); @@ -297,11 +297,11 @@ struct npc_madrigosa : public NullCreatureAI events.ScheduleEvent(EVENT_MAD_8, 14000); break; case EVENT_MAD_8: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) me->CastSpell(brutallus, SPELL_MADRIGOSA_FROSTBOLT, false); break; case EVENT_MAD_9: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) { brutallus->CastSpell(brutallus, SPELL_BRUTALLUS_FLAME_RING, true); brutallus->RemoveAllAuras(); @@ -323,7 +323,7 @@ struct npc_madrigosa : public NullCreatureAI events.ScheduleEvent(EVENT_MAD_14, 2000); break; case EVENT_MAD_14: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) { brutallus->SetDisableGravity(true); brutallus->GetMotionMaster()->MovePoint(0, brutallus->GetPositionX(), brutallus->GetPositionY() - 30.0f, brutallus->GetPositionZ() + 15.0f, false, true); @@ -331,7 +331,7 @@ struct npc_madrigosa : public NullCreatureAI events.ScheduleEvent(EVENT_MAD_15, 10000); break; case EVENT_MAD_15: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) { brutallus->RemoveAllAuras(); brutallus->SetDisableGravity(false); @@ -341,12 +341,12 @@ struct npc_madrigosa : public NullCreatureAI events.ScheduleEvent(EVENT_MAD_16, 1400); break; case EVENT_MAD_16: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) brutallus->CastSpell(me, SPELL_BRUTALLUS_CHARGE, true); events.ScheduleEvent(EVENT_MAD_17, 1200); break; case EVENT_MAD_17: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) brutallus->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK1H); events.ScheduleEvent(EVENT_MAD_18, 500); break; @@ -357,14 +357,14 @@ struct npc_madrigosa : public NullCreatureAI events.ScheduleEvent(EVENT_MAD_19, 6000); break; case EVENT_MAD_19: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) brutallus->AI()->Talk(YELL_INTRO_KILL_MADRIGOSA); events.ScheduleEvent(EVENT_MAD_20, 7000); break; case EVENT_MAD_20: me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetFaction(FACTION_FRIENDLY); - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) { brutallus->AI()->Talk(YELL_INTRO_TAUNT); brutallus->CastSpell(brutallus, SPELL_BRUTALLUS_BREAK_ICE, false); @@ -372,7 +372,7 @@ struct npc_madrigosa : public NullCreatureAI events.ScheduleEvent(EVENT_MAD_21, 4000); break; case EVENT_MAD_21: - if (Creature* brutallus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BRUTALLUS))) + if (Creature* brutallus = instance->GetCreature(DATA_BRUTALLUS)) { brutallus->SetReactState(REACT_AGGRESSIVE); brutallus->SetHealth(brutallus->GetMaxHealth()); @@ -382,7 +382,7 @@ struct npc_madrigosa : public NullCreatureAI break; case EVENT_SPAWN_FELMYST: me->DespawnOrUnsummon(1); - if (Creature* felmyst = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_FELMYST))) + if (Creature* felmyst = instance->GetCreature(DATA_FELMYST)) felmyst->AI()->DoAction(ACTION_START_EVENT); break; } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp index 92f91e14b..2c41d4a80 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp @@ -184,7 +184,7 @@ struct boss_kalecgos : public BossAI events.Reset(); events2.ScheduleEvent(EVENT_TALK_GOOD_1, 1000); ClearPlayerAuras(); - if (Creature* Sath = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_SATHROVARR))) + if (Creature* Sath = instance->GetCreature(DATA_SATHROVARR)) { Sath->RemoveAllAuras(); Sath->GetMotionMaster()->MovementExpired(); @@ -243,7 +243,7 @@ struct boss_kalecgos : public BossAI events2.ScheduleEvent(EVENT_TALK_GOOD_2, 1000); break; case EVENT_TALK_GOOD_2: - if (Creature* Sath = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_SATHROVARR))) + if (Creature* Sath = instance->GetCreature(DATA_SATHROVARR)) { summons.Despawn(Sath); Unit::Kill(me, Sath); @@ -329,7 +329,7 @@ struct boss_kalecgos : public BossAI case EVENT_CHECK_HEALTH: if (me->HealthBelowPct(10)) { - if (Creature* Sath = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_SATHROVARR))) + if (Creature* Sath = instance->GetCreature(DATA_SATHROVARR)) Sath->AI()->DoAction(ACTION_ENRAGE_OTHER); DoAction(ACTION_ENRAGE); break; @@ -403,7 +403,7 @@ struct boss_kalec : public ScriptedAI void JustDied(Unit*) override { if (InstanceScript* instance = me->GetInstanceScript()) - if (Creature* kalecgos = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS))) + if (Creature* kalecgos = instance->GetCreature(DATA_KALECGOS)) kalecgos->AI()->DoAction(ACTION_KALEC_DIED); } @@ -576,7 +576,7 @@ struct boss_sathrovarr : public ScriptedAI case EVENT_CHECK_HEALTH2: if (me->HealthBelowPct(1)) { - if (Creature* kalecgos = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS))) + if (Creature* kalecgos = instance->GetCreature(DATA_KALECGOS)) kalecgos->AI()->DoAction(ACTION_SATH_BANISH); DoAction(ACTION_BANISH); break; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index 50d05cddb..3bf22491d 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -176,8 +176,8 @@ struct npc_kiljaeden_controller : public NullCreatureAI void ResetOrbs() { - for (uint8 i = 0; i < 4; ++i) - if (GameObject* orb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 + i))) + for (uint8 i = DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1; i < DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4 + 1; ++i) + if (GameObject* orb = instance->GetGameObject(i)) orb->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); } @@ -333,7 +333,7 @@ struct boss_kiljaeden : public ScriptedAI { Talk(SAY_KJ_DEATH); instance->SetBossState(DATA_KILJAEDEN, DONE); - if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KILJAEDEN_CONTROLLER))) + if (Creature* controller = instance->GetCreature(DATA_KJ_CONTROLLER)) Unit::Kill(controller, controller); } @@ -393,17 +393,17 @@ struct boss_kiljaeden : public ScriptedAI me->CastSpell(me, SPELL_REBIRTH, false); break; case EVENT_EMPOWER_ORBS1: - if (Creature* kalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS_KJ))) + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) kalec->AI()->Talk(SAY_KALECGOS_READY1); EmpowerOrb(false); break; case EVENT_EMPOWER_ORBS2: - if (Creature* kalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS_KJ))) + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) kalec->AI()->Talk(SAY_KALECGOS_READY2); EmpowerOrb(false); break; case EVENT_EMPOWER_ORBS3: - if (Creature* kalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS_KJ))) + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) kalec->AI()->Talk(SAY_KALECGOS_READY_ALL); EmpowerOrb(true); break; @@ -413,56 +413,56 @@ struct boss_kiljaeden : public ScriptedAI me->SetInCombatWithZone(); return; case EVENT_TEXT_SPEACH11: - if (Creature* kalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS_KJ))) + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) kalec->AI()->Talk(SAY_KALECGOS_JOIN); break; case EVENT_TEXT_SPEACH21: - if (Creature* kalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS_KJ))) + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) kalec->AI()->Talk(SAY_KALECGOS_AWAKEN); break; case EVENT_TEXT_SPEACH22: - if (Creature* anveena = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ANVEENA))) + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) sCreatureTextMgr->SendChat(anveena, SAY_ANVEENA_IMPRISONED, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); break; case EVENT_TEXT_SPEACH23: Talk(SAY_KJ_PHASE3); break; case EVENT_TEXT_SPEACH31: - if (Creature* kalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS_KJ))) + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) kalec->AI()->Talk(SAY_KALECGOS_LETGO); break; case EVENT_TEXT_SPEACH32: - if (Creature* anveena = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ANVEENA))) + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) sCreatureTextMgr->SendChat(anveena, SAY_ANVEENA_LOST, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); break; case EVENT_TEXT_SPEACH33: Talk(SAY_KJ_PHASE4); break; case EVENT_TEXT_SPEACH41: - if (Creature* kalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS_KJ))) + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) kalec->AI()->Talk(SAY_KALECGOS_FOCUS); break; case EVENT_TEXT_SPEACH42: - if (Creature* anveena = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ANVEENA))) + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) sCreatureTextMgr->SendChat(anveena, SAY_ANVEENA_KALEC, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); break; case EVENT_TEXT_SPEACH43: - if (Creature* kalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KALECGOS_KJ))) + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) kalec->AI()->Talk(SAY_KALECGOS_FATE); break; case EVENT_TEXT_SPEACH44: - if (Creature* anveena = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ANVEENA))) + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) sCreatureTextMgr->SendChat(anveena, SAY_ANVEENA_GOODBYE, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); break; case EVENT_TEXT_SPEACH45: - if (Creature* anveena = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ANVEENA))) + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) { anveena->RemoveAllAuras(); anveena->DespawnOrUnsummon(3500); } break; case EVENT_TEXT_SPEACH46: - if (Creature* anveena = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ANVEENA))) + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) { anveena->CastSpell(anveena, SPELL_SACRIFICE_OF_ANVEENA, true); me->CastSpell(me, SPELL_CUSTOM_08_STATE, true); @@ -627,9 +627,9 @@ struct boss_kiljaeden : public ScriptedAI void EmpowerOrb(bool empowerAll) { - for (uint8 i = 0; i < 4; ++i) + for (uint8 i = DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1; i < DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4 + 1; ++i) { - if (GameObject* orb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 + i))) + if (GameObject* orb = instance->GetGameObject(i)) { if (orb->HasGameObjectFlag(GO_FLAG_NOT_SELECTABLE)) { @@ -637,7 +637,7 @@ struct boss_kiljaeden : public ScriptedAI if (Creature* trigger = me->SummonTrigger(orb->GetPositionX(), orb->GetPositionY(), orb->GetPositionZ(), 0, 10 * MINUTE * IN_MILLISECONDS)) { trigger->CastSpell(trigger, SPELL_RING_OF_BLUE_FLAMES, true, nullptr, nullptr, trigger->GetGUID()); - if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_KILJAEDEN_CONTROLLER))) + if (Creature* controller = instance->GetCreature(DATA_KJ_CONTROLLER)) controller->AI()->JustSummoned(trigger); } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index a53becd5f..b1d719894 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -166,7 +166,7 @@ struct boss_entropius : public ScriptedAI void EnterEvadeMode(EvadeReason why) override { if (InstanceScript* instance = me->GetInstanceScript()) - if (Creature* muru = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_MURU))) + if (Creature* muru = instance->GetCreature(DATA_MURU)) if (!muru->IsInEvadeMode()) muru->AI()->EnterEvadeMode(why); @@ -195,7 +195,7 @@ struct boss_entropius : public ScriptedAI void JustDied(Unit* /*killer*/) override { if (InstanceScript* instance = me->GetInstanceScript()) - if (Creature* muru = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_MURU))) + if (Creature* muru = instance->GetCreature(DATA_MURU)) Unit::Kill(muru, muru); } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp index 9c51e79c1..8f2d41cc1 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp @@ -35,10 +35,28 @@ DoorData const doorData[] = ObjectData const creatureData[] = { - { NPC_LADY_SACROLASH, DATA_SACROLASH }, - { NPC_GRAND_WARLOCK_ALYTHESS, DATA_ALYTHESS }, - { NPC_MADRIGOSA, DATA_MADRIGOSA }, - { 0, 0, } + { NPC_KALECGOS, DATA_KALECGOS }, + { NPC_BRUTALLUS, DATA_BRUTALLUS }, + { NPC_FELMYST, DATA_FELMYST }, + { NPC_MURU, DATA_MURU }, + { NPC_LADY_SACROLASH, DATA_SACROLASH }, + { NPC_GRAND_WARLOCK_ALYTHESS, DATA_ALYTHESS }, + { NPC_MADRIGOSA, DATA_MADRIGOSA }, + { NPC_SATHROVARR, DATA_SATHROVARR }, + { NPC_KILJAEDEN_CONTROLLER, DATA_KJ_CONTROLLER }, + { NPC_ANVEENA, DATA_ANVEENA }, + { NPC_KALECGOS_KJ, DATA_KALECGOS_KJ }, + { 0, 0, } +}; + +ObjectData const gameObjectData[] = +{ + { GO_ICE_BARRIER, DATA_ICEBARRIER }, + { GO_ORB_OF_THE_BLUE_DRAGONFLIGHT1, DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 }, + { GO_ORB_OF_THE_BLUE_DRAGONFLIGHT2, DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_2 }, + { GO_ORB_OF_THE_BLUE_DRAGONFLIGHT3, DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_3 }, + { GO_ORB_OF_THE_BLUE_DRAGONFLIGHT4, DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4 }, + { 0, 0 } }; class instance_sunwell_plateau : public InstanceMapScript @@ -53,36 +71,17 @@ public: SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTERS); LoadDoorData(doorData); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, gameObjectData); } void OnPlayerEnter(Player* player) override { instance->LoadGrid(1477.94f, 643.22f); instance->LoadGrid(1641.45f, 988.08f); - if (GameObject* gobj = instance->GetGameObject(IceBarrierGUID)) + if (GameObject* gobj = GetGameObject(DATA_ICEBARRIER)) gobj->SendUpdateToPlayer(player); } - Player const* GetPlayerInMap() const - { - Map::PlayerList const& players = instance->GetPlayers(); - - if (!players.IsEmpty()) - { - for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) - { - Player* player = itr->GetSource(); - if (player && !player->HasAura(45839)) - return player; - } - } - //else - // LOG_DEBUG("scripts", "Instance Sunwell Plateau: GetPlayerInMap, but PlayerList is empty!"); - - return nullptr; - } - void OnCreatureCreate(Creature* creature) override { if (creature->GetSpawnId() > 0 || !creature->GetOwnerGUID().IsPlayer()) @@ -90,55 +89,24 @@ public: switch (creature->GetEntry()) { - case NPC_KALECGOS: - KalecgosDragonGUID = creature->GetGUID(); - break; - case NPC_SATHROVARR: - SathrovarrGUID = creature->GetGUID(); - break; - case NPC_BRUTALLUS: - BrutallusGUID = creature->GetGUID(); - break; - case NPC_FELMYST: - FelmystGUID = creature->GetGUID(); - break; - case NPC_MURU: - MuruGUID = creature->GetGUID(); - break; - case NPC_KILJAEDEN: - KilJaedenGUID = creature->GetGUID(); - break; - case NPC_KILJAEDEN_CONTROLLER: - KilJaedenControllerGUID = creature->GetGUID(); - break; - case NPC_ANVEENA: - AnveenaGUID = creature->GetGUID(); - break; - case NPC_KALECGOS_KJ: - KalecgosKjGUID = creature->GetGUID(); - break; - - // Xinef: Felmyst encounter case NPC_DEMONIC_VAPOR_TRAIL: case NPC_UNYIELDING_DEAD: - if (Creature* felmyst = instance->GetCreature(FelmystGUID)) + if (Creature* felmyst = GetCreature(DATA_FELMYST)) felmyst->AI()->JustSummoned(creature); break; - // Xinef: M'uru encounter case NPC_DARKNESS: case NPC_VOID_SENTINEL: case NPC_VOID_SPAWN: - if (Creature* muru = instance->GetCreature(MuruGUID)) + if (Creature* muru = GetCreature(DATA_MURU)) muru->AI()->JustSummoned(creature); break; - // Xinef: Kil'jaeden encounter case NPC_FELFIRE_PORTAL: case NPC_VOLATILE_FELFIRE_FIEND: case NPC_SHIELD_ORB: case NPC_SINISTER_REFLECTION: - if (Creature* kiljaedenC = instance->GetCreature(KilJaedenControllerGUID)) + if (Creature* kiljaedenC = GetCreature(DATA_KJ_CONTROLLER)) kiljaedenC->AI()->JustSummoned(creature); break; default: @@ -147,87 +115,6 @@ public: InstanceScript::OnCreatureCreate(creature); } - - void OnGameObjectCreate(GameObject* go) override - { - switch (go->GetEntry()) - { - case GO_FORCE_FIELD: - case GO_BOSS_COLLISION_1: - case GO_BOSS_COLLISION_2: - case GO_FIRE_BARRIER: - case GO_MURUS_GATE_1: - case GO_MURUS_GATE_2: - AddDoor(go); - break; - case GO_ICE_BARRIER: - IceBarrierGUID = go->GetGUID(); - go->setActive(true); - break; - case GO_ORB_OF_THE_BLUE_DRAGONFLIGHT1: - blueFlightOrbGUID[0] = go->GetGUID(); - break; - case GO_ORB_OF_THE_BLUE_DRAGONFLIGHT2: - blueFlightOrbGUID[1] = go->GetGUID(); - break; - case GO_ORB_OF_THE_BLUE_DRAGONFLIGHT3: - blueFlightOrbGUID[2] = go->GetGUID(); - break; - case GO_ORB_OF_THE_BLUE_DRAGONFLIGHT4: - blueFlightOrbGUID[3] = go->GetGUID(); - break; - default: - break; - } - } - - ObjectGuid GetGuidData(uint32 id) const override - { - switch (id) - { - case NPC_KALECGOS: - return KalecgosDragonGUID; - case NPC_SATHROVARR: - return SathrovarrGUID; - case NPC_BRUTALLUS: - return BrutallusGUID; - case NPC_FELMYST: - return FelmystGUID; - case NPC_MURU: - return MuruGUID; - case NPC_ANVEENA: - return AnveenaGUID; - case NPC_KALECGOS_KJ: - return KalecgosKjGUID; - case NPC_KILJAEDEN_CONTROLLER: - return KilJaedenControllerGUID; - case NPC_KILJAEDEN: - return KilJaedenGUID; - - // Orbs - case DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1: - case DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_2: - case DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_3: - case DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4: - return blueFlightOrbGUID[id - DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1]; - } - - return ObjectGuid::Empty; - } - - protected: - ObjectGuid KalecgosDragonGUID; - ObjectGuid SathrovarrGUID; - ObjectGuid BrutallusGUID; - ObjectGuid FelmystGUID; - ObjectGuid MuruGUID; - ObjectGuid KilJaedenGUID; - ObjectGuid KilJaedenControllerGUID; - ObjectGuid AnveenaGUID; - ObjectGuid KalecgosKjGUID; - - ObjectGuid IceBarrierGUID; - ObjectGuid blueFlightOrbGUID[4]; }; InstanceScript* GetInstanceScript(InstanceMap* map) const override diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h b/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h index 74969b0bb..e40dfc057 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h @@ -38,15 +38,22 @@ enum BossIds enum DataTypes { - DATA_SACROLASH = 0, - DATA_ALYTHESS = 1, - DATA_MADRIGOSA = 2, + DATA_SACROLASH = 7, + DATA_ALYTHESS = 8, + DATA_MADRIGOSA = 9, + DATA_SATHROVARR = 10, + DATA_KJ_CONTROLLER = 11, + DATA_ANVEENA = 12, + DATA_KALECGOS_KJ = 13 +}; - // GameObject GUIDs - DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 = 10, - DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_2 = 11, - DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_3 = 12, - DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4 = 13 +enum DataTypesObjects +{ + DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 = 0, + DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_2 = 1, + DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_3 = 2, + DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4 = 3, + DATA_ICEBARRIER = 4, }; enum CreatureIds