mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/The Eye: Update instance script (#26190)
This commit is contained in:
5
sql/updates/world/3.3.5/2021_03_11_06_world.sql
Normal file
5
sql/updates/world/3.3.5/2021_03_11_06_world.sql
Normal file
@@ -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;
|
||||
@@ -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;
|
||||
|
||||
@@ -486,10 +486,10 @@ class boss_kaelthas : public CreatureScript
|
||||
Talk(SAY_INTRO);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, 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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user