mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
Merge remote-tracking branch 'Treeston/3.3.5-kelthuzad' into 3.3.5 (PR #16634)
(cherry picked from commit47a9cb1e56) ...Huh. Wonder how this one didn't make travis complain on the PR. (cherry picked from commit93a68d5881) Was Travis completely napping on this one? (cherry picked from commit2d7dec0d39)
This commit is contained in:
@@ -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_addon` SET `flags`=16 WHERE `entry`=181640;
|
||||
@@ -696,7 +696,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);
|
||||
@@ -881,7 +881,7 @@ PlayerAI::TargetedSpell SimpleCharmedPlayerAI::SelectAppropriateCastForSpec()
|
||||
case TALENT_SPEC_DEATHKNIGHT_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);
|
||||
@@ -1068,7 +1068,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);
|
||||
@@ -1157,7 +1157,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;
|
||||
|
||||
|
||||
@@ -30,6 +30,12 @@ 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 (me->GetCharmerGUID().IsCreature())
|
||||
return ObjectAccessor::GetCreature(*me, me->GetCharmerGUID());
|
||||
return nullptr;
|
||||
}
|
||||
// helper functions to determine player info
|
||||
uint16 GetSpec(Player const* who = nullptr) const { return (!who || who == me) ? _selfSpec : who->GetUInt32Value(PLAYER_FIELD_CURRENT_SPEC_ID); }
|
||||
static bool IsPlayerHealer(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:
|
||||
@@ -614,7 +618,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 NAXData
|
||||
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 NAXData64
|
||||
@@ -121,6 +121,7 @@ enum NAXGameObjectsIds
|
||||
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 NAXGameObjectsIds
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user