Scripts/Naxxramas: Full Kel'thuzad rework.

- Sniffed timers
- Sniffed spawn behavior
- Sniffed everything else
- Sniffed sniff. Mmmm
 - In all seriousness though:
    - Fixed P2 cast behavior, now obeys category cooldowns as intended
    - Fixed P1 pathing and abomination behavior
    - Fixed P1 passive minion aggro logic
    - Fixed P1->P2 transition logic
    - Fixed P3 guardian spawn/despawn logic
    - Fixed all minions' cast behavior
    - Fixed melee hitbox for Kel'thuzad, abominations, banshees and guardians
    - Fixed reset behavior
    - Fixed post-Sapphiron event to no longer open the KT door for a few seconds before slamming it closed again by treeston
This commit is contained in:
Aokromes committed 2016-08-24 19:20:37 +02:00
1 parent 4554c9b46a
commit 332feace2c
6 files changed
+1078 -689

No files matched your search

@@ -0,0 +1,190 @@
-- !!!!!!!!!!!!!!!!!!!!!!!!!!! --
-- KEL'THUZAD ENCOUNTER REWORK --
-- !!!!!!!!!!!!!!!!!!!!!!!!!!! --
-- =============== --
-- Difficulty data --
-- =============== --
DELETE FROM `spelldifficulty_dbc` WHERE `id` IN (28478,28479,28457,28459);
INSERT INTO `spelldifficulty_dbc` (`id`,`spellid0`,`spellid1`) VALUES
(28478,28478,55802),
(28479,28479,55807),
(28457,28457,55714),
(28459,28459,55765);
-- ======================================================================== --
-- Summon groups: --
-- groups 1 to 4 are the 4 guardian of icecrown spawns for P3 --
-- groups 5 to 11 are the spawn groups for each of the minion pockets in P1 --
-- ======================================================================== --
DELETE FROM `creature_summon_groups` WHERE `summonerId`=15990;
INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`,`summonTime`) VALUES
(15990,0, 1,16441,3700.7,-5182.372,144.0006,3.525565,5,0),
(15990,0, 2,16441,3759.62,-5172.79,143.835,2.275546,5,0),
(15990,0, 3,16441,3777.213,-5066.177,143.7245,3.854439,5,0),
(15990,0, 4,16441,3732.598,-5028.03,144.1175,5.951573,5,0),
(15990,0, 5,23561,3767.448,-5085.221,143.3204,1.099557,6,2500),
(15990,0, 5,23561,3763.589,-5077.779,143.2613,3.263766,6,2500),
(15990,0, 5,23561,3778.311,-5070.924,143.6698,0.383972,6,2500),
(15990,0, 5,23561,3777.016,-5076.336,143.6931,2.443461,6,2500),
(15990,0, 5,23561,3768.994,-5072.449,143.2920,1.221730,6,2500),
(15990,0, 5,23561,3765.200,-5066.542,143.5911,5.969026,6,2500),
(15990,0, 5,23561,3760.120,-5071.032,143.2545,4.049164,6,2500),
(15990,0, 5,23561,3772.377,-5065.624,143.5756,3.595378,6,2500),
(15990,0, 5,23561,3769.112,-5080.867,143.4122,3.473205,6,2500),
(15990,0, 5,23561,3777.380,-5061.792,143.7722,3.246312,6,2500),
(15990,0, 5,23562,3760.199,-5065.446,143.6439,1.762783,6,2500),
(15990,0, 5,23562,3770.308,-5079.318,143.4988,0.261799,6,2500),
(15990,0, 5,23562,3768.820,-5068.979,143.4071,1.518436,6,2500),
(15990,0, 5,23563,3769.489,-5073.855,143.3546,5.253441,6,2500),
(15990,0, 6,23561,3737.419,-5052.975,143.7604,1.169371,6,2500),
(15990,0, 6,23561,3727.097,-5048.372,143.4038,3.857178,6,2500),
(15990,0, 6,23561,3737.439,-5041.781,143.7740,3.857178,6,2500),
(15990,0, 6,23561,3732.787,-5045.659,143.5814,1.937315,6,2500),
(15990,0, 6,23561,3721.843,-5044.510,143.6988,2.827433,6,2500),
(15990,0, 6,23561,3728.000,-5031.103,143.8964,0.750492,6,2500),
(15990,0, 6,23561,3732.647,-5051.030,143.5529,3.246312,6,2500),
(15990,0, 6,23561,3733.721,-5032.996,143.8625,6.021386,6,2500),
(15990,0, 6,23561,3728.706,-5043.684,143.4527,1.483530,6,2500),
(15990,0, 6,23561,3725.062,-5036.629,143.7767,3.874631,6,2500),
(15990,0, 6,23562,3729.237,-5039.866,143.5873,4.607669,6,2500),
(15990,0, 6,23562,3718.425,-5046.168,143.7998,5.480334,6,2500),
(15990,0, 6,23562,3735.658,-5045.499,143.7014,3.595378,6,2500),
(15990,0, 6,23563,3730.488,-5043.493,143.4955,0.541052,6,2500),
(15990,0, 7,23561,3681.355,-5048.864,143.5021,6.195919,6,2500),
(15990,0, 7,23561,3681.005,-5062.944,143.2552,5.131268,6,2500),
(15990,0, 7,23561,3678.148,-5062.077,143.3822,0.663225,6,2500),
(15990,0, 7,23561,3679.336,-5055.365,143.3906,4.118977,6,2500),
(15990,0, 7,23561,3687.639,-5053.579,143.3244,4.736891,6,2500),
(15990,0, 7,23561,3686.921,-5045.933,143.7372,2.373648,6,2500),
(15990,0, 7,23561,3683.435,-5059.344,143.2643,3.979351,6,2500),
(15990,0, 7,23561,3673.546,-5053.107,143.6368,3.595378,6,2500),
(15990,0, 7,23561,3682.695,-5052.478,143.3708,4.293510,6,2500),
(15990,0, 7,23561,3689.501,-5058.241,143.2562,2.251475,6,2500),
(15990,0, 7,23562,3691.315,-5055.122,143.3179,0.191986,6,2500),
(15990,0, 7,23562,3676.070,-5064.142,143.5163,2.548181,6,2500),
(15990,0, 7,23562,3682.844,-5058.052,143.2656,5.393067,6,2500),
(15990,0, 7,23563,3683.868,-5047.447,143.5984,3.176499,6,2500),
(15990,0, 8,23561,3645.270,-5095.199,143.5504,5.044002,6,2500),
(15990,0, 8,23561,3649.625,-5084.568,143.7628,5.899213,6,2500),
(15990,0, 8,23561,3653.785,-5104.293,143.8255,0.314159,6,2500),
(15990,0, 8,23561,3652.523,-5094.354,143.4423,5.270895,6,2500),
(15990,0, 8,23561,3660.487,-5089.280,143.6040,3.071779,6,2500),
(15990,0, 8,23561,3657.886,-5092.163,143.4859,5.201081,6,2500),
(15990,0, 8,23561,3652.059,-5098.256,143.6083,0.488692,6,2500),
(15990,0, 8,23561,3654.281,-5085.585,143.7745,3.787364,6,2500),
(15990,0, 8,23561,3659.438,-5098.578,143.4740,0.890118,6,2500),
(15990,0, 8,23561,3648.554,-5088.838,143.5358,2.914700,6,2500),
(15990,0, 8,23562,3655.752,-5101.823,143.6867,1.500983,6,2500),
(15990,0, 8,23562,3660.398,-5085.446,143.7791,0.959931,6,2500),
(15990,0, 8,23562,3653.763,-5092.355,143.4888,1.832596,6,2500),
(15990,0, 8,23563,3648.262,-5095.589,143.5233,2.356194,6,2500),
(15990,0, 9,23561,3658.025,-5142.342,143.5081,5.305801,6,2500),
(15990,0, 9,23561,3669.560,-5134.747,143.2598,1.535890,6,2500),
(15990,0, 9,23561,3661.139,-5135.697,143.5744,4.450590,6,2500),
(15990,0, 9,23561,3664.328,-5145.051,143.4375,3.124139,6,2500),
(15990,0, 9,23561,3667.805,-5142.171,143.2627,3.019420,6,2500),
(15990,0, 9,23561,3664.311,-5132.388,143.3373,2.391101,6,2500),
(15990,0, 9,23561,3672.570,-5140.829,143.2567,0.261799,6,2500),
(15990,0, 9,23561,3670.688,-5145.027,143.4145,1.588250,6,2500),
(15990,0, 9,23561,3663.013,-5138.814,143.3694,2.164208,6,2500),
(15990,0, 9,23561,3665.966,-5146.641,143.5444,6.195919,6,2500),
(15990,0, 9,23562,3657.254,-5134.812,143.7300,3.403392,6,2500),
(15990,0, 9,23562,3668.447,-5147.539,143.6403,1.919862,6,2500),
(15990,0, 9,23562,3668.889,-5138.345,143.2660,5.393067,6,2500),
(15990,0, 9,23563,3657.367,-5146.094,143.5471,4.537856,6,2500),
(15990,0,10,23561,3711.224,-5164.672,143.6237,3.246312,6,2500),
(15990,0,10,23561,3700.833,-5172.231,143.5864,5.201081,6,2500),
(15990,0,10,23561,3699.030,-5176.604,143.7459,1.832596,6,2500),
(15990,0,10,23561,3697.229,-5170.590,143.6790,0.296706,6,2500),
(15990,0,10,23561,3704.382,-5182.113,143.8819,1.535890,6,2500),
(15990,0,10,23561,3703.449,-5161.482,143.3858,1.169371,6,2500),
(15990,0,10,23561,3705.811,-5165.041,143.4159,5.096361,6,2500),
(15990,0,10,23561,3709.738,-5173.312,143.7188,3.385939,6,2500),
(15990,0,10,23561,3699.682,-5163.227,143.5664,2.722714,6,2500),
(15990,0,10,23561,3705.211,-5171.760,143.5495,6.003932,6,2500),
(15990,0,10,23562,3713.235,-5169.006,143.7999,5.096361,6,2500),
(15990,0,10,23562,3701.653,-5167.655,143.4993,5.026548,6,2500),
(15990,0,10,23562,3692.469,-5163.676,143.8974,4.468043,6,2500),
(15990,0,10,23563,3704.658,-5178.262,143.7575,0.541052,6,2500),
(15990,0,11,23561,3744.357,-5156.203,143.2584,6.265732,6,2500),
(15990,0,11,23561,3749.947,-5158.716,143.2683,5.916666,6,2500),
(15990,0,11,23561,3751.198,-5167.764,143.6369,3.979351,6,2500),
(15990,0,11,23561,3756.085,-5155.776,143.5713,1.413717,6,2500),
(15990,0,11,23561,3753.844,-5153.094,143.3717,2.129302,6,2500),
(15990,0,11,23561,3757.361,-5169.438,143.6923,3.595378,6,2500),
(15990,0,11,23561,3756.383,-5148.479,143.4877,4.188790,6,2500),
(15990,0,11,23561,3746.525,-5152.034,143.2641,1.483530,6,2500),
(15990,0,11,23561,3743.098,-5161.342,143.5548,1.396263,6,2500),
(15990,0,11,23561,3757.974,-5164.038,143.6063,2.775074,6,2500),
(15990,0,11,23562,3753.185,-5160.274,143.3716,0.680678,6,2500),
(15990,0,11,23562,3757.442,-5152.137,143.6637,2.565634,6,2500),
(15990,0,11,23562,3744.791,-5162.307,143.6026,3.508112,6,2500),
(15990,0,11,23563,3750.655,-5162.939,143.4338,3.176499,6,2500);
-- =============================== --
-- Creature hitbox fixes (sniffed) --
-- =============================== --
UPDATE `creature_model_info` SET `BoundingRadius`=4,`CombatReach`=6 WHERE `DisplayID`=15945;
UPDATE `creature_model_info` SET `BoundingRadius`=1.25,`CombatReach`=3.125 WHERE `DisplayID`=16178;
UPDATE `creature_model_info` SET `BoundingRadius`=0.25,`CombatReach`=5 WHERE `DisplayID`=16586;
-- ==================================================== --
-- New creature_text for Guardian of Icecrown (sniffed) --
-- ==================================================== --
DELETE FROM `creature_text` WHERE `entry`=16441;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`probability`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(16441,0,0,"%s fleets after seeing Kel'thuzad fall!",16,100,12391,3,"Guardian of Icecrown EMOTE_FLEE"),
(16441,1,0,"A Guardian of Icecrown enters the fight!",41,100,32804,3,"Guardian of Icecrown EMOTE_APPEAR");
-- =============================== --
-- Fix Void Zone delay from sniffs --
-- =============================== --
UPDATE `creature_template` SET `BaseAttackTime`=5500 WHERE `entry`=16129;
-- ====================================== --
-- New AI Names & correct movement speeds --
-- ====================================== --
DELETE FROM `smart_scripts` WHERE `entryorguid` in (16427,16428,16429,16441,23561,23562,23563) AND `source_type`=0;
UPDATE `creature_template` SET `speed_walk`=0.25,`speed_run`=0.285715,`ScriptName`="npc_kelthuzad_skeleton",`AIName`="" WHERE `Entry` in (16427,23561);
UPDATE `creature_template` SET `speed_walk`=0.1,`speed_run`=0.114286,`ScriptName`="npc_kelthuzad_banshee",`AIName`="" WHERE `Entry` in (16429,23563);
UPDATE `creature_template` SET `speed_walk`=0.7,`speed_run`=0.800002,`ScriptName`="npc_kelthuzad_abomination",`AIName`="" WHERE `Entry` in (16428,23562);
UPDATE `creature_template` SET `ScriptName`="npc_kelthuzad_guardian",`AIName`="" WHERE `Entry`=16441;
-- ========================================================= --
-- Trigger aura for Skeleton explosion and Banshee knockback --
-- ========================================================= --
DELETE FROM `creature_template_addon` WHERE `entry` in (16427,23561,16429,23563,30015,30016,30018,30047);
INSERT INTO `creature_template_addon` (`entry`,`auras`) VALUES
(16427,"28458"),
(30015,"28458"),
(23561,"28458"),
(30016,"28458"),
(16429,"28460"),
(30018,"28460"),
(23563,"28460"),
(30047,"28460");
-- ======================================================= --
-- Sniffed spawn positions for various objects in the room --
-- ======================================================= --
UPDATE `gameobject` SET `position_x`=3635.355, `position_y`=-5090.291, `position_z`=142.9834, `rotation0`=0, `rotation1`=0, `rotation2`=-0.7743921, `rotation3`=0.632706 WHERE `guid`=150159; -- door
UPDATE `gameobject` SET `position_x`=3716.382, `position_y`=-5106.474, `position_z`=141.2899, `rotation0`=0, `rotation1`=0, `rotation2`=-0.6819983, `rotation3`=0.7313538 WHERE `guid`=150160; -- throne
UPDATE `gameobject` SET `position_x`=3732.656, `position_y`=-5026.173, `position_z`=152.7197, `rotation0`=0, `rotation1`=0, `rotation2`=-0.7743921, `rotation3`=0.632706 WHERE `guid`=150155; -- portal 01
UPDATE `gameobject` SET `position_x`=3784.165, `position_y`=-5062.077, `position_z`=152.5704, `rotation0`=0, `rotation1`=0, `rotation2`=-0.957571, `rotation3`=0.2881973 WHERE `guid`=150156; -- portal 02
UPDATE `gameobject` SET `position_x`=3760.238, `position_y`=-5175.256, `position_z`=152.5706, `rotation0`=0, `rotation1`=0, `rotation2`=0.8698883, `rotation3`=0.4932488 WHERE `guid`=150157; -- portal 03
UPDATE `gameobject` SET `position_x`=3698.601, `position_y`=-5187.073, `position_z`=152.7199, `rotation0`=0, `rotation1`=0, `rotation2`=0.6149149, `rotation3`=0.7885935 WHERE `guid`=150158; -- portal 04
-- ================================== --
-- Chains spell script (scale factor) --
-- ================================== --
DELETE FROM `spell_script_names` WHERE `ScriptName`="spell_kelthuzad_chains";
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
(28410,"spell_kelthuzad_chains");
-- ================================================= --
-- Fix throne to only be interactable after KT death --
-- Also fix end of wing portals while we're at it --
-- ================================================= --
UPDATE `gameobject_template` SET `flags`=16 WHERE `entry`=181640;
+4 -4
View File
@@ -745,7 +745,7 @@ PlayerAI::TargetedSpell SimpleCharmedPlayerAI::SelectAppropriateCastForSpec()
VerifyAndPushSpellCast(spells, SPELL_HAMMER_OF_JUSTICE, TARGET_VICTIM, 6);
VerifyAndPushSpellCast(spells, SPELL_HAND_OF_FREEDOM, TARGET_SELF, 3);
VerifyAndPushSpellCast(spells, SPELL_HAND_OF_PROTECTION, TARGET_SELF, 1);
if (Creature* creatureCharmer = ObjectAccessor::GetCreature(*me, me->GetCharmerGUID()))
if (Creature* creatureCharmer = GetCharmer())
{
if (creatureCharmer->IsDungeonBoss() || creatureCharmer->isWorldBoss())
VerifyAndPushSpellCast(spells, SPELL_HAND_OF_SACRIFICE, creatureCharmer, 10);
@@ -930,7 +930,7 @@ PlayerAI::TargetedSpell SimpleCharmedPlayerAI::SelectAppropriateCastForSpec()
case SPEC_DEATH_KNIGHT_BLOOD:
VerifyAndPushSpellCast(spells, SPELL_RUNE_TAP, TARGET_NONE, 2);
VerifyAndPushSpellCast(spells, SPELL_HYSTERIA, TARGET_SELF, 5);
if (Creature* creatureCharmer = ObjectAccessor::GetCreature(*me, me->GetCharmerGUID()))
if (Creature* creatureCharmer = GetCharmer())
if (!creatureCharmer->IsDungeonBoss() && !creatureCharmer->isWorldBoss())
VerifyAndPushSpellCast(spells, SPELL_HYSTERIA, creatureCharmer, 15);
VerifyAndPushSpellCast(spells, SPELL_HEART_STRIKE, TARGET_VICTIM, 2);
@@ -1108,7 +1108,7 @@ PlayerAI::TargetedSpell SimpleCharmedPlayerAI::SelectAppropriateCastForSpec()
}
VerifyAndPushSpellCast(spells, SPELL_TRANQUILITY, TARGET_NONE, 10);
VerifyAndPushSpellCast(spells, SPELL_NATURE_SWIFTNESS, TARGET_NONE, 7);
if (Creature* creatureCharmer = ObjectAccessor::GetCreature(*me, me->GetCharmerGUID()))
if (Creature* creatureCharmer = GetCharmer())
{
VerifyAndPushSpellCast(spells, SPELL_NOURISH, creatureCharmer, 5);
VerifyAndPushSpellCast(spells, SPELL_WILD_GROWTH, creatureCharmer, 5);
@@ -1188,7 +1188,7 @@ PlayerAI::TargetedSpell SimpleCharmedPlayerAI::SelectAppropriateCastForSpec()
static const float CASTER_CHASE_DISTANCE = 28.0f;
void SimpleCharmedPlayerAI::UpdateAI(const uint32 diff)
{
Creature* charmer = me->GetCharmer() ? me->GetCharmer()->ToCreature() : nullptr;
Creature* charmer = GetCharmer();
if (!charmer)
return;
+8
View File
@@ -30,6 +30,14 @@ class TC_GAME_API PlayerAI : public UnitAI
void OnCharmed(bool /*apply*/) override { } // charm AI application for players is handled by Unit::SetCharmedBy / Unit::RemoveCharmedBy
Creature* GetCharmer() const
{
if (ObjectGuid charmerGUID = me->GetCharmerGUID())
if (charmerGUID.IsCreature())
return ObjectAccessor::GetCreature(*me, charmerGUID);
return nullptr;
}
// helper functions to determine player info
// Return values range from 0 (left-most spec) to 2 (right-most spec). If two specs have the same number of talent points, the left-most of those specs is returned.
static uint8 GetPlayerSpec(Player const* who);
File diff suppressed because it is too large. Load diff
@@ -97,6 +97,7 @@ ObjectData const objectData[] =
{ GO_NAXX_PORTAL_CONSTRUCT, DATA_NAXX_PORTAL_CONSTRUCT },
{ GO_NAXX_PORTAL_PLAGUE, DATA_NAXX_PORTAL_PLAGUE },
{ GO_NAXX_PORTAL_MILITARY, DATA_NAXX_PORTAL_MILITARY },
{ GO_KELTHUZAD_THRONE, DATA_KELTHUZAD_THRONE },
{ 0, 0, }
};
@@ -115,7 +116,6 @@ class instance_naxxramas : public InstanceMapScript
LoadDoorData(doorData);
LoadObjectData(nullptr, objectData);
AbominationCount = 0;
hadAnubRekhanGreet = false;
hadFaerlinaGreet = false;
hadThaddiusGreet = false;
@@ -230,6 +230,10 @@ class instance_naxxramas : public InstanceMapScript
if (GetBossState(BOSS_HORSEMEN) == DONE)
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
case GO_KELTHUZAD_THRONE:
if (GetBossState(BOSS_KELTHUZAD) == DONE)
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
case GO_BIRTH:
if (hadSapphironBirth || GetBossState(BOSS_SAPPHIRON) == DONE)
{
@@ -270,9 +274,6 @@ class instance_naxxramas : public InstanceMapScript
if (GameObject* gate = instance->GetGameObject(GothikGateGUID))
gate->SetGoState(GOState(value));
break;
case DATA_ABOMINATION_KILLED:
AbominationCount = value;
break;
case DATA_HAD_ANUBREKHAN_GREET:
hadAnubRekhanGreet = (value == 1u);
break;
@@ -294,8 +295,6 @@ class instance_naxxramas : public InstanceMapScript
{
switch (id)
{
case DATA_ABOMINATION_KILLED:
return AbominationCount;
case DATA_HAD_ANUBREKHAN_GREET:
return hadAnubRekhanGreet ? 1u : 0u;
case DATA_HAD_FAERLINA_GREET:
@@ -418,6 +417,12 @@ class instance_naxxramas : public InstanceMapScript
case BOSS_SAPPHIRON:
if (state == DONE)
events.ScheduleEvent(EVENT_DIALOGUE_SAPPHIRON_KELTHUZAD, Seconds(6));
HandleGameObject(KelthuzadDoorGUID, false);
break;
case BOSS_KELTHUZAD:
if (state == DONE)
if (GameObject* throne = GetGameObject(DATA_KELTHUZAD_THRONE))
throne->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
default:
break;
@@ -493,7 +498,6 @@ class instance_naxxramas : public InstanceMapScript
case EVENT_DIALOGUE_SAPPHIRON_KELTHUZAD:
if (Creature* kelthuzad = instance->GetCreature(KelthuzadGUID))
kelthuzad->AI()->Talk(SAY_DIALOGUE_SAPPHIRON_KELTHUZAD);
HandleGameObject(KelthuzadDoorGUID, false);
events.ScheduleEvent(EVENT_DIALOGUE_SAPPHIRON_LICHKING, Seconds(6));
break;
case EVENT_DIALOGUE_SAPPHIRON_LICHKING:
@@ -616,7 +620,6 @@ class instance_naxxramas : public InstanceMapScript
ObjectGuid PortalsGUID[4];
ObjectGuid KelthuzadDoorGUID;
ObjectGuid LichKingGUID;
uint8 AbominationCount;
bool hadAnubRekhanGreet;
bool hadFaerlinaGreet;
bool hadThaddiusGreet;
@@ -50,12 +50,12 @@ enum Data
DATA_HAD_SAPPHIRON_BIRTH,
DATA_HORSEMEN_CHECK_ACHIEVEMENT_CREDIT,
DATA_ABOMINATION_KILLED,
DATA_NAXX_PORTAL_ARACHNID,
DATA_NAXX_PORTAL_CONSTRUCT,
DATA_NAXX_PORTAL_PLAGUE,
DATA_NAXX_PORTAL_MILITARY
DATA_NAXX_PORTAL_MILITARY,
DATA_KELTHUZAD_THRONE
};
enum Data64
@@ -121,6 +121,7 @@ enum GameObjectsIds
GO_KELTHUZAD_PORTAL03 = 181404,
GO_KELTHUZAD_PORTAL04 = 181405,
GO_KELTHUZAD_TRIGGER = 181444,
GO_KELTHUZAD_THRONE = 181640,
GO_ROOM_ANUBREKHAN = 181126,
GO_PASSAGE_ANUBREKHAN = 181195,
GO_PASSAGE_FAERLINA = 194022,
@@ -138,14 +139,20 @@ enum GameObjectsIds
GO_ROOM_HORSEMEN = 181119,
GO_PASSAGE_SAPPHIRON = 181225,
GO_ROOM_KELTHUZAD = 181228,
// End of wing portals
GO_ARAC_PORTAL = 181575,
GO_PLAG_PORTAL = 181577,
GO_MILI_PORTAL = 181578,
GO_CONS_PORTAL = 181576,
// "Glow" effect on center-side portal
GO_ARAC_EYE_RAMP = 181212,
GO_PLAG_EYE_RAMP = 181211,
GO_MILI_EYE_RAMP = 181210,
GO_CONS_EYE_RAMP = 181213,
// "Glow" effect on boss-side portal
GO_ARAC_EYE_RAMP_BOSS = 181233,
GO_PLAG_EYE_RAMP_BOSS = 181231,
GO_MILI_EYE_RAMP_BOSS = 181230,