diff options
author | offl <11556157+offl@users.noreply.github.com> | 2021-03-11 20:19:23 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-03-07 00:18:14 +0100 |
commit | 7b57dc02d1eb78f82b0482ee47015da178cd0d5d (patch) | |
tree | 2707879f3a44d6d65f28099aaf2e477cce75dd2e | |
parent | 18beee8ba19c8848c868fdb9b9a7bad296e74d53 (diff) |
Scripts/The Eye: Update instance script (#26190)
(cherry picked from commit 5a22cd868a2a2eafbd914235fa62016d26729703)
5 files changed, 48 insertions, 89 deletions
diff --git a/sql/updates/world/master/2022_03_06_83_world_2021_03_11_06_world.sql b/sql/updates/world/master/2022_03_06_83_world_2021_03_11_06_world.sql new file mode 100644 index 00000000000..4af23a45fee --- /dev/null +++ b/sql/updates/world/master/2022_03_06_83_world_2021_03_11_06_world.sql @@ -0,0 +1,5 @@ +-- +UPDATE `instance_spawn_groups` SET `bossStateId` = 3 WHERE `instanceMapId` = 550 AND `bossStateId` = 0 AND `spawnGroupId` = 47; +UPDATE `instance_spawn_groups` SET `bossStateId` = 0 WHERE `instanceMapId` = 550 AND `bossStateId` = 1 AND `spawnGroupId` = 44; +UPDATE `instance_spawn_groups` SET `bossStateId` = 2 WHERE `instanceMapId` = 550 AND `bossStateId` = 2 AND `spawnGroupId` = 46; +UPDATE `instance_spawn_groups` SET `bossStateId` = 1 WHERE `instanceMapId` = 550 AND `bossStateId` = 3 AND `spawnGroupId` = 45; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index 929220c33c6..240ccf07c10 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -98,7 +98,7 @@ class boss_high_astromancer_solarian : public CreatureScript struct boss_high_astromancer_solarianAI : public BossAI { - boss_high_astromancer_solarianAI(Creature* creature) : BossAI(creature, DATA_HIGH_ASTROMANCER_SOLARIAN) + boss_high_astromancer_solarianAI(Creature* creature) : BossAI(creature, DATA_SOLARIAN) { Initialize(); @@ -457,7 +457,7 @@ class npc_solarium_priest : public CreatureScript switch (urand(0, 1)) { case 0: - target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_ASTROMANCER)); + target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_SOLARIAN)); break; case 1: target = me; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 3886f1c4fa8..7b40529fae8 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -486,10 +486,10 @@ class boss_kaelthas : public CreatureScript Talk(SAY_INTRO); me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - _advisorGuid[ADVISOR_THALADRED] = instance->GetGuidData(DATA_THALADREDTHEDARKENER); - _advisorGuid[ADVISOR_SANGUINAR] = instance->GetGuidData(DATA_LORDSANGUINAR); - _advisorGuid[ADVISOR_CAPERNIAN] = instance->GetGuidData(DATA_GRANDASTROMANCERCAPERNIAN); - _advisorGuid[ADVISOR_TELONICUS] = instance->GetGuidData(DATA_MASTERENGINEERTELONICUS); + _advisorGuid[ADVISOR_THALADRED] = instance->GetGuidData(DATA_THALADRED); + _advisorGuid[ADVISOR_SANGUINAR] = instance->GetGuidData(DATA_SANGUINAR); + _advisorGuid[ADVISOR_CAPERNIAN] = instance->GetGuidData(DATA_CAPERNIAN); + _advisorGuid[ADVISOR_TELONICUS] = instance->GetGuidData(DATA_TELONICUS); _phase = PHASE_INTRO; instance->SetBossState(DATA_KAELTHAS, IN_PROGRESS); 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 dcd2df56c41..0832efd40fe 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp @@ -15,23 +15,16 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Instance_The_Eye -SD%Complete: 100 -SDComment: -SDCategory: Tempest Keep, The Eye -EndScriptData */ - #include "ScriptMgr.h" #include "Creature.h" #include "InstanceScript.h" #include "the_eye.h" /* The Eye encounters: -0 - Kael'thas event -1 - Al' ar event -2 - Solarian Event -3 - Void Reaver event +0 - Al'ar +1 - Void Reaver +2 - Solarian +3 - Kael'thas */ DoorData const doorData[] = @@ -41,6 +34,19 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +ObjectData const creatureData[] = +{ + { NPC_ALAR, DATA_ALAR }, + { NPC_VOID_REAVER, DATA_VOID_REAVER }, + { NPC_SOLARIAN, DATA_SOLARIAN }, + { NPC_KAELTHAS, DATA_KAELTHAS }, + { NPC_CAPERNIAN, DATA_CAPERNIAN }, + { NPC_SANGUINAR, DATA_SANGUINAR }, + { NPC_TELONICUS, DATA_TELONICUS }, + { NPC_THALADRED, DATA_THALADRED }, + { 0, 0 } // END +}; + ObjectData const gameObjectData[] = { { GO_KAEL_STATUE_RIGHT, DATA_KAEL_STATUE_RIGHT }, @@ -61,60 +67,7 @@ class instance_the_eye : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); - LoadObjectData(nullptr, gameObjectData); - } - - ObjectGuid ThaladredTheDarkener; - ObjectGuid LordSanguinar; - ObjectGuid GrandAstromancerCapernian; - ObjectGuid MasterEngineerTelonicus; - ObjectGuid Kaelthas; - ObjectGuid Astromancer; - ObjectGuid Alar; - - void OnCreatureCreate(Creature* creature) override - { - switch (creature->GetEntry()) - { - case NPC_SANGUINAR: - LordSanguinar = creature->GetGUID(); - break; - case NPC_CAPERNIAN: - GrandAstromancerCapernian = creature->GetGUID(); - break; - case NPC_TELONICUS: - MasterEngineerTelonicus = creature->GetGUID(); - break; - case NPC_THALADRED: - ThaladredTheDarkener = creature->GetGUID(); - break; - case NPC_KAELTHAS: - Kaelthas = creature->GetGUID(); - break; - case NPC_HIGH_ASTROMANCER_SOLARIAN: - Astromancer = creature->GetGUID(); - break; - case NPC_ALAR: - Alar = creature->GetGUID(); - break; - default: - break; - } - } - - ObjectGuid GetGuidData(uint32 identifier) const override - { - switch (identifier) - { - case DATA_THALADREDTHEDARKENER: return ThaladredTheDarkener; - case DATA_LORDSANGUINAR: return LordSanguinar; - case DATA_GRANDASTROMANCERCAPERNIAN: return GrandAstromancerCapernian; - case DATA_MASTERENGINEERTELONICUS: return MasterEngineerTelonicus; - case DATA_KAELTHAS: return Kaelthas; - case DATA_HIGH_ASTROMANCER_SOLARIAN: return Astromancer; - case DATA_ALAR: return Alar; - } - return ObjectGuid::Empty; + LoadObjectData(creatureData, gameObjectData); } }; @@ -123,6 +76,7 @@ class instance_the_eye : public InstanceMapScript return new instance_the_eye_InstanceMapScript(map); } }; + void AddSC_instance_the_eye() { new instance_the_eye; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h index f65b6714248..3cc84c659a9 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h +++ b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.h @@ -27,33 +27,33 @@ uint32 const EncounterCount = 4; enum TEDataTypes { - // Encounter States/Boss GUIDs - DATA_KAELTHAS = 0, - DATA_ALAR = 1, - DATA_HIGH_ASTROMANCER_SOLARIAN = 2, - DATA_VOID_REAVER = 3, - - DATA_ASTROMANCER = 4, - DATA_GRANDASTROMANCERCAPERNIAN = 5, - DATA_LORDSANGUINAR = 6, - DATA_MASTERENGINEERTELONICUS = 7, - DATA_THALADREDTHEDARKENER = 8, + // Encounter States + DATA_ALAR = 0, + DATA_VOID_REAVER = 1, + DATA_SOLARIAN = 2, + DATA_KAELTHAS = 3, // Additional Data - DATA_KAEL_STATUE_LEFT = 9, - DATA_KAEL_STATUE_RIGHT = 10, - DATA_TEMPEST_BRIDGE_WINDOW = 11 + DATA_CAPERNIAN = 4, + DATA_SANGUINAR = 5, + DATA_TELONICUS = 6, + DATA_THALADRED = 7, + + DATA_KAEL_STATUE_LEFT = 8, + DATA_KAEL_STATUE_RIGHT = 9, + DATA_TEMPEST_BRIDGE_WINDOW = 10 }; enum TECreatureIds { + NPC_ALAR = 19514, + NPC_VOID_REAVER = 19516, + NPC_SOLARIAN = 18805, + NPC_KAELTHAS = 19622, NPC_SANGUINAR = 20060, NPC_CAPERNIAN = 20062, NPC_TELONICUS = 20063, - NPC_THALADRED = 20064, - NPC_KAELTHAS = 19622, - NPC_HIGH_ASTROMANCER_SOLARIAN = 18805, - NPC_ALAR = 19514 + NPC_THALADRED = 20064 }; enum TEGameObjectIds |