mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Scripts: Cleanup in instance_black_temple and added missing datas (#18246)
* Core/Scripts: Cleanup in instance_black_temple and added missing datas
* Fixed door timing issue
* Remove redundant call
(cherry picked from commit 81edee5648)
This commit is contained in:
@@ -49,27 +49,29 @@ enum BTDataTypes
|
||||
DATA_BLOOD_ELF_COUNCIL_VOICE = 15,
|
||||
|
||||
DATA_GO_ILLIDAN_GATE = 16,
|
||||
DATA_GO_ILLIDAN_DOOR_R = 17,
|
||||
DATA_GO_ILLIDAN_DOOR_L = 18
|
||||
};
|
||||
|
||||
enum BTCreatureIds
|
||||
{
|
||||
//Bosses
|
||||
NPC_HIGH_WARLORD_NAJENTUS = 22887,
|
||||
NPC_SUPREMUS = 22898,
|
||||
NPC_SHADE_OF_AKAMA = 22841,
|
||||
NPC_AKAMA_SHADE = 23191, // This is the Akama that starts the Shade of Akama encounter.
|
||||
NPC_AKAMA = 23089, // This is the Akama that starts the Illidan encounter.
|
||||
NPC_TERON_GOREFIEND = 22871,
|
||||
NPC_GURTOGG_BLOODBOIL = 22948,
|
||||
NPC_RELIQUARY_OF_SOULS = 22856,
|
||||
NPC_MOTHER_SHAHRAZ = 22947,
|
||||
NPC_ILLIDARI_COUNCIL = 23426,
|
||||
NPC_ILLIDAN_STORMRAGE = 22917,
|
||||
|
||||
//Misc
|
||||
NPC_GATHIOS_THE_SHATTERER = 22949,
|
||||
NPC_HIGH_NETHERMANCER_ZEREVOR = 22950,
|
||||
NPC_LADY_MALANDE = 22951,
|
||||
NPC_VERAS_DARKSHADOW = 22952,
|
||||
NPC_ILLIDARI_COUNCIL = 23426,
|
||||
NPC_BLOOD_ELF_COUNCIL_VOICE = 23499,
|
||||
|
||||
NPC_ILLIDAN_STORMRAGE = 22917,
|
||||
|
||||
NPC_AKAMA = 23089, // This is the Akama that starts the Illidan encounter.
|
||||
NPC_AKAMA_SHADE = 23191, // This is the Akama that starts the Shade of Akama encounter.
|
||||
NPC_SUPREMUS_VOLCANO = 23085
|
||||
};
|
||||
|
||||
|
||||
@@ -544,8 +544,7 @@ public:
|
||||
void EnterCombat(Unit* /*who*/) override
|
||||
{
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
me->setActive(true);
|
||||
DoZoneInCombat();
|
||||
_EnterCombat();
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who) override
|
||||
@@ -566,9 +565,6 @@ public:
|
||||
{
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
for (uint8 i = DATA_GO_ILLIDAN_DOOR_R; i < DATA_GO_ILLIDAN_DOOR_L + 1; ++i)
|
||||
instance->HandleGameObject(instance->GetGuidData(i), true);
|
||||
|
||||
_JustDied();
|
||||
}
|
||||
|
||||
@@ -1417,23 +1413,13 @@ public:
|
||||
|
||||
IllidanGUID = instance->GetGuidData(DATA_ILLIDAN_STORMRAGE);
|
||||
GateGUID = instance->GetGuidData(DATA_GO_ILLIDAN_GATE);
|
||||
DoorGUID[0] = instance->GetGuidData(DATA_GO_ILLIDAN_DOOR_R);
|
||||
DoorGUID[1] = instance->GetGuidData(DATA_GO_ILLIDAN_DOOR_L);
|
||||
|
||||
if (JustCreated) // close all doors at create
|
||||
{
|
||||
instance->HandleGameObject(GateGUID, false);
|
||||
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
instance->HandleGameObject(DoorGUID[i], false);
|
||||
}
|
||||
else // open all doors, raid wiped
|
||||
{
|
||||
instance->HandleGameObject(GateGUID, true);
|
||||
WalkCount = 1; // skip first wp
|
||||
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
instance->HandleGameObject(DoorGUID[i], true);
|
||||
}
|
||||
|
||||
KillAllElites();
|
||||
@@ -1485,9 +1471,6 @@ public:
|
||||
|
||||
void BeginTalk()
|
||||
{
|
||||
instance->SetBossState(DATA_ILLIDAN_STORMRAGE, IN_PROGRESS);
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
instance->HandleGameObject(DoorGUID[i], false);
|
||||
if (Creature* illidan = ObjectAccessor::GetCreature(*me, IllidanGUID))
|
||||
{
|
||||
illidan->RemoveAurasDueToSpell(SPELL_KNEEL);
|
||||
@@ -1679,10 +1662,6 @@ public:
|
||||
{
|
||||
switch (WalkCount)
|
||||
{
|
||||
case 6:
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
instance->HandleGameObject(DoorGUID[i], true);
|
||||
break;
|
||||
case 8:
|
||||
if (Phase == PHASE_WALK)
|
||||
EnterPhase(PHASE_TALK);
|
||||
@@ -1800,7 +1779,6 @@ public:
|
||||
ObjectGuid ChannelGUID;
|
||||
ObjectGuid SpiritGUID[2];
|
||||
ObjectGuid GateGUID;
|
||||
ObjectGuid DoorGUID[2];
|
||||
uint32 ChannelCount;
|
||||
uint32 WalkCount;
|
||||
uint32 TalkCount;
|
||||
|
||||
@@ -251,7 +251,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_START_CHANNELERS_AND_SPAWNERS, Seconds(1));
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE);
|
||||
events.ScheduleEvent(EVENT_EVADE_CHECK, Seconds(10));
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
if (Creature* akama = instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
AttackStart(akama);
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ public:
|
||||
{
|
||||
DoCastSelf(SPELL_SHADE_OF_AKAMA_TRIGGER);
|
||||
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
if (Creature* akama = instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
akama->AI()->DoAction(ACTION_SHADE_OF_AKAMA_DEAD);
|
||||
|
||||
for (ObjectGuid const& spawnerGuid : _spawners)
|
||||
@@ -406,7 +406,7 @@ public:
|
||||
_isInCombat = true;
|
||||
me->SetWalk(false);
|
||||
me->RemoveAurasDueToSpell(SPELL_AKAMA_SOUL_CHANNEL);
|
||||
if (Creature* shade = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
|
||||
if (Creature* shade = _instance->GetCreature(DATA_SHADE_OF_AKAMA))
|
||||
{
|
||||
shade->RemoveAurasDueToSpell(SPELL_AKAMA_SOUL_CHANNEL);
|
||||
AttackStart(shade);
|
||||
@@ -546,7 +546,7 @@ public:
|
||||
{
|
||||
_summons.DespawnAll();
|
||||
Talk(SAY_DEAD);
|
||||
if (Creature* shade = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
|
||||
if (Creature* shade = _instance->GetCreature(DATA_SHADE_OF_AKAMA))
|
||||
if (shade->IsAlive())
|
||||
shade->AI()->EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
}
|
||||
@@ -592,7 +592,7 @@ public:
|
||||
{
|
||||
_scheduler.Schedule(Seconds(2), [this](TaskContext channel)
|
||||
{
|
||||
if (Creature* shade = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
|
||||
if (Creature* shade = _instance->GetCreature(DATA_SHADE_OF_AKAMA))
|
||||
{
|
||||
if (shade->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
|
||||
DoCastSelf(SPELL_SHADE_SOUL_CHANNEL);
|
||||
@@ -741,16 +741,13 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
if (Creature* shade = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
|
||||
if (Creature* shade = _instance->GetCreature(DATA_SHADE_OF_AKAMA))
|
||||
{
|
||||
if (shade->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
|
||||
me->GetMotionMaster()->MovePoint(0, shade->GetPosition());
|
||||
|
||||
else
|
||||
{
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
AttackStart(akama);
|
||||
}
|
||||
else if (Creature* akama = _instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
AttackStart(akama);
|
||||
}
|
||||
Initialize();
|
||||
}
|
||||
@@ -782,7 +779,7 @@ public:
|
||||
|
||||
_scheduler.Schedule(Seconds(1) + Milliseconds(500), [this](TaskContext sorcer_channel)
|
||||
{
|
||||
if (Creature* shade = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
|
||||
if (Creature* shade = _instance->GetCreature(DATA_SHADE_OF_AKAMA))
|
||||
{
|
||||
if (shade->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
|
||||
{
|
||||
@@ -794,7 +791,7 @@ public:
|
||||
{
|
||||
me->InterruptSpell(CURRENT_CHANNELED_SPELL);
|
||||
_switchToCombat = true;
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
if (Creature* akama = _instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
AttackStart(akama);
|
||||
}
|
||||
}
|
||||
@@ -842,7 +839,7 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
if (Creature* akama = _instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
AttackStart(akama);
|
||||
}
|
||||
|
||||
@@ -920,7 +917,7 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
if (Creature* akama = _instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
AttackStart(akama);
|
||||
}
|
||||
|
||||
@@ -989,7 +986,7 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
if (Creature* akama = _instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
AttackStart(akama);
|
||||
}
|
||||
|
||||
@@ -1067,7 +1064,7 @@ public:
|
||||
{
|
||||
Initialize();
|
||||
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
if (Creature* akama = _instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
AttackStart(akama);
|
||||
}
|
||||
|
||||
@@ -1162,7 +1159,7 @@ public:
|
||||
if (motionType != POINT_MOTION_TYPE)
|
||||
return;
|
||||
|
||||
if (Creature* akama = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_AKAMA_SHADE)))
|
||||
if (Creature* akama = _instance->GetCreature(DATA_AKAMA_SHADE))
|
||||
me->SetFacingToObject(akama);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,17 +26,20 @@
|
||||
DoorData const doorData[] =
|
||||
{
|
||||
{ GO_NAJENTUS_GATE, DATA_HIGH_WARLORD_NAJENTUS, DOOR_TYPE_PASSAGE },
|
||||
{ GO_NAJENTUS_GATE, DATA_SUPREMUS, DOOR_TYPE_ROOM },
|
||||
{ GO_NAJENTUS_GATE, DATA_SUPREMUS, DOOR_TYPE_ROOM },
|
||||
{ GO_SUPREMUS_GATE, DATA_SUPREMUS, DOOR_TYPE_PASSAGE },
|
||||
{ GO_SHADE_OF_AKAMA_DOOR, DATA_SHADE_OF_AKAMA, DOOR_TYPE_ROOM },
|
||||
{ GO_TERON_DOOR_1, DATA_TERON_GOREFIEND, DOOR_TYPE_ROOM },
|
||||
{ GO_TERON_DOOR_2, DATA_TERON_GOREFIEND, DOOR_TYPE_ROOM },
|
||||
{ GO_SHADE_OF_AKAMA_DOOR, DATA_SHADE_OF_AKAMA, DOOR_TYPE_ROOM },
|
||||
{ GO_TERON_DOOR_1, DATA_TERON_GOREFIEND, DOOR_TYPE_ROOM },
|
||||
{ GO_TERON_DOOR_2, DATA_TERON_GOREFIEND, DOOR_TYPE_ROOM },
|
||||
{ GO_GURTOGG_DOOR, DATA_GURTOGG_BLOODBOIL, DOOR_TYPE_PASSAGE },
|
||||
{ GO_TEMPLE_DOOR, DATA_RELIQUARY_OF_SOULS, DOOR_TYPE_PASSAGE },
|
||||
{ GO_MOTHER_SHAHRAZ_DOOR, DATA_MOTHER_SHAHRAZ, DOOR_TYPE_PASSAGE },
|
||||
{ GO_COUNCIL_DOOR_1, DATA_ILLIDARI_COUNCIL, DOOR_TYPE_ROOM },
|
||||
{ GO_COUNCIL_DOOR_2, DATA_ILLIDARI_COUNCIL, DOOR_TYPE_ROOM },
|
||||
{ 0, 0, DOOR_TYPE_ROOM } // END
|
||||
{ GO_COUNCIL_DOOR_1, DATA_ILLIDARI_COUNCIL, DOOR_TYPE_ROOM },
|
||||
{ GO_COUNCIL_DOOR_2, DATA_ILLIDARI_COUNCIL, DOOR_TYPE_ROOM },
|
||||
//{ GO_ILLIDAN_GATE, DATA_GO_ILLIDAN_GATE, DOOR_TYPE_PASSAGE },
|
||||
{ GO_ILLIDAN_DOOR_R, DATA_ILLIDAN_STORMRAGE, DOOR_TYPE_ROOM },
|
||||
{ GO_ILLIDAN_DOOR_L, DATA_ILLIDAN_STORMRAGE, DOOR_TYPE_ROOM },
|
||||
{ 0, 0, DOOR_TYPE_ROOM } // END
|
||||
};
|
||||
|
||||
BossBoundaryData const boundaries =
|
||||
@@ -53,6 +56,27 @@ BossBoundaryData const boundaries =
|
||||
{ DATA_ILLIDAN_STORMRAGE, new EllipseBoundary(Position(694.8f, 309.0f), 70.0 , 85.0) }
|
||||
};
|
||||
|
||||
ObjectData const creatureData[] =
|
||||
{
|
||||
{ NPC_HIGH_WARLORD_NAJENTUS, DATA_HIGH_WARLORD_NAJENTUS },
|
||||
{ NPC_SUPREMUS, DATA_SUPREMUS },
|
||||
{ NPC_SHADE_OF_AKAMA, DATA_SHADE_OF_AKAMA },
|
||||
{ NPC_TERON_GOREFIEND, DATA_TERON_GOREFIEND },
|
||||
{ NPC_GURTOGG_BLOODBOIL, DATA_GURTOGG_BLOODBOIL },
|
||||
{ NPC_RELIQUARY_OF_SOULS, DATA_RELIQUARY_OF_SOULS },
|
||||
{ NPC_MOTHER_SHAHRAZ, DATA_MOTHER_SHAHRAZ },
|
||||
{ NPC_ILLIDARI_COUNCIL, DATA_ILLIDARI_COUNCIL },
|
||||
{ NPC_ILLIDAN_STORMRAGE, DATA_ILLIDAN_STORMRAGE },
|
||||
{ NPC_AKAMA_SHADE, DATA_AKAMA_SHADE },
|
||||
{ NPC_AKAMA, DATA_AKAMA },
|
||||
{ NPC_GATHIOS_THE_SHATTERER, DATA_GATHIOS_THE_SHATTERER },
|
||||
{ NPC_HIGH_NETHERMANCER_ZEREVOR, DATA_HIGH_NETHERMANCER_ZEREVOR },
|
||||
{ NPC_LADY_MALANDE, DATA_LADY_MALANDE },
|
||||
{ NPC_VERAS_DARKSHADOW, DATA_VERAS_DARKSHADOW },
|
||||
{ NPC_BLOOD_ELF_COUNCIL_VOICE, DATA_BLOOD_ELF_COUNCIL_VOICE },
|
||||
{ 0, 0 } // end
|
||||
};
|
||||
|
||||
class instance_black_temple : public InstanceMapScript
|
||||
{
|
||||
public:
|
||||
@@ -65,165 +89,28 @@ class instance_black_temple : public InstanceMapScript
|
||||
SetHeaders(DataHeader);
|
||||
SetBossNumber(EncounterCount);
|
||||
LoadDoorData(doorData);
|
||||
LoadObjectData(creatureData, nullptr);
|
||||
LoadBossBoundaries(boundaries);
|
||||
}
|
||||
|
||||
void OnCreatureCreate(Creature* creature) override
|
||||
{
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_HIGH_WARLORD_NAJENTUS:
|
||||
NajentusGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_SUPREMUS:
|
||||
SupremusGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_SHADE_OF_AKAMA:
|
||||
ShadeOfAkamaGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_AKAMA_SHADE:
|
||||
AkamaShadeGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_AKAMA:
|
||||
AkamaGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_GATHIOS_THE_SHATTERER:
|
||||
GathiosTheShattererGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_HIGH_NETHERMANCER_ZEREVOR:
|
||||
HighNethermancerZerevorGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_LADY_MALANDE:
|
||||
LadyMalandeGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_VERAS_DARKSHADOW:
|
||||
VerasDarkshadowGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_ILLIDARI_COUNCIL:
|
||||
IllidariCouncilGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_BLOOD_ELF_COUNCIL_VOICE:
|
||||
BloodElfCouncilVoiceGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_ILLIDAN_STORMRAGE:
|
||||
IllidanStormrageGUID = creature->GetGUID();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* go) override
|
||||
{
|
||||
switch (go->GetEntry())
|
||||
{
|
||||
case GO_NAJENTUS_GATE:
|
||||
case GO_SUPREMUS_GATE:
|
||||
case GO_SHADE_OF_AKAMA_DOOR:
|
||||
case GO_TERON_DOOR_1:
|
||||
case GO_TERON_DOOR_2:
|
||||
case GO_GURTOGG_DOOR:
|
||||
case GO_TEMPLE_DOOR:
|
||||
case GO_MOTHER_SHAHRAZ_DOOR:
|
||||
case GO_COUNCIL_DOOR_1:
|
||||
case GO_COUNCIL_DOOR_2:
|
||||
AddDoor(go, true);
|
||||
break;
|
||||
case GO_ILLIDAN_GATE:
|
||||
IllidanGateGUID = go->GetGUID();
|
||||
break;
|
||||
case GO_ILLIDAN_DOOR_R:
|
||||
IllidanDoorGUIDs[0] = go->GetGUID();
|
||||
break;
|
||||
case GO_ILLIDAN_DOOR_L:
|
||||
IllidanDoorGUIDs[1] = go->GetGUID();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (go->GetEntry() == GO_ILLIDAN_GATE)
|
||||
IllidanGateGUID = go->GetGUID();
|
||||
|
||||
void OnGameObjectRemove(GameObject* go) override
|
||||
{
|
||||
switch (go->GetEntry())
|
||||
{
|
||||
case GO_NAJENTUS_GATE:
|
||||
case GO_SUPREMUS_GATE:
|
||||
case GO_SHADE_OF_AKAMA_DOOR:
|
||||
case GO_TERON_DOOR_1:
|
||||
case GO_TERON_DOOR_2:
|
||||
case GO_GURTOGG_DOOR:
|
||||
case GO_TEMPLE_DOOR:
|
||||
case GO_MOTHER_SHAHRAZ_DOOR:
|
||||
case GO_COUNCIL_DOOR_1:
|
||||
case GO_COUNCIL_DOOR_2:
|
||||
AddDoor(go, false);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
InstanceScript::OnGameObjectCreate(go);
|
||||
}
|
||||
|
||||
ObjectGuid GetGuidData(uint32 type) const override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DATA_HIGH_WARLORD_NAJENTUS:
|
||||
return NajentusGUID;
|
||||
case DATA_SUPREMUS:
|
||||
return SupremusGUID;
|
||||
case DATA_SHADE_OF_AKAMA:
|
||||
return ShadeOfAkamaGUID;
|
||||
case DATA_AKAMA_SHADE:
|
||||
return AkamaShadeGUID;
|
||||
case DATA_AKAMA:
|
||||
return AkamaGUID;
|
||||
case DATA_GATHIOS_THE_SHATTERER:
|
||||
return GathiosTheShattererGUID;
|
||||
case DATA_HIGH_NETHERMANCER_ZEREVOR:
|
||||
return HighNethermancerZerevorGUID;
|
||||
case DATA_LADY_MALANDE:
|
||||
return LadyMalandeGUID;
|
||||
case DATA_VERAS_DARKSHADOW:
|
||||
return VerasDarkshadowGUID;
|
||||
case DATA_ILLIDARI_COUNCIL:
|
||||
return IllidariCouncilGUID;
|
||||
case DATA_BLOOD_ELF_COUNCIL_VOICE:
|
||||
return BloodElfCouncilVoiceGUID;
|
||||
case DATA_ILLIDAN_STORMRAGE:
|
||||
return IllidanStormrageGUID;
|
||||
case DATA_GO_ILLIDAN_GATE:
|
||||
return IllidanGateGUID;
|
||||
case DATA_GO_ILLIDAN_DOOR_R:
|
||||
return IllidanDoorGUIDs[0];
|
||||
case DATA_GO_ILLIDAN_DOOR_L:
|
||||
return IllidanDoorGUIDs[1];
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (type == DATA_GO_ILLIDAN_GATE)
|
||||
return IllidanGateGUID;
|
||||
|
||||
return ObjectGuid::Empty;
|
||||
return InstanceScript::GetGuidData(type);
|
||||
}
|
||||
|
||||
protected:
|
||||
ObjectGuid NajentusGUID;
|
||||
ObjectGuid SupremusGUID;
|
||||
ObjectGuid ShadeOfAkamaGUID;
|
||||
ObjectGuid AkamaShadeGUID;
|
||||
ObjectGuid AkamaGUID;
|
||||
|
||||
ObjectGuid GathiosTheShattererGUID;
|
||||
ObjectGuid HighNethermancerZerevorGUID;
|
||||
ObjectGuid LadyMalandeGUID;
|
||||
ObjectGuid VerasDarkshadowGUID;
|
||||
|
||||
ObjectGuid IllidariCouncilGUID;
|
||||
ObjectGuid BloodElfCouncilVoiceGUID;
|
||||
|
||||
ObjectGuid IllidanStormrageGUID;
|
||||
|
||||
ObjectGuid IllidanGateGUID;
|
||||
ObjectGuid IllidanDoorGUIDs[2];
|
||||
};
|
||||
|
||||
InstanceScript* GetInstanceScript(InstanceMap* map) const override
|
||||
|
||||
Reference in New Issue
Block a user