From 56f28b2f0df03069aca5a3fad01ca6fa990c4aed Mon Sep 17 00:00:00 2001 From: lello Date: Tue, 12 Jul 2016 01:31:34 +0200 Subject: [PATCH] [Core/Script] Kelthuzad, add door open/close on combat state change --- src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp | 4 ++++ .../scripts/Northrend/Naxxramas/instance_naxxramas.cpp | 7 +++++++ src/server/scripts/Northrend/Naxxramas/naxxramas.h | 2 ++ 3 files changed, 13 insertions(+) diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index a55072fe3..8de6f2b70 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -175,6 +175,8 @@ public: go->SetPhaseMask(1, true); go->SetGoState(GO_STATE_READY); } + if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetData64(DATA_KELTHUZAD_GATE))) + go->SetGoState(GO_STATE_ACTIVE); } } @@ -234,6 +236,8 @@ public: go->SetGoState(GO_STATE_ACTIVE); } } + if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetData64(DATA_KELTHUZAD_GATE))) + go->SetGoState(GO_STATE_READY); } void JustSummoned(Creature* cr) { summons.Summon(cr); } diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp index 3a24e2ff2..51a5e0770 100644 --- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp +++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp @@ -67,6 +67,7 @@ public: _thaddiusGateGUID = 0; _horsemanGateGUID = 0; _kelthuzadfloorGUID = 0; + _kelthuzadgateGUID = 0; _sapphironGateGUID = 0; _horsemanPortalGUID = 0; _loathebPortalGUID = 0; @@ -120,6 +121,7 @@ public: uint64 _gothikExitGateGUID; uint64 _horsemanGateGUID; uint64 _kelthuzadfloorGUID; + uint64 _kelthuzadgateGUID; uint64 _sapphironGateGUID; uint64 _horsemanPortalGUID; uint64 _loathebPortalGUID; @@ -298,6 +300,9 @@ public: case GO_KELTHUZAD_FLOOR: _kelthuzadfloorGUID = pGo->GetGUID(); break; + case GO_KELTHUZAD_GATE: + _kelthuzadgateGUID = pGo->GetGUID(); + break; case GO_SAPPHIRON_GATE: _sapphironGateGUID = pGo->GetGUID(); if (Encounters[EVENT_SAPPHIRON] == DONE) @@ -682,6 +687,8 @@ public: return _gothikExitGateGUID; case DATA_KELTHUZAD_FLOOR: return _kelthuzadfloorGUID; + case DATA_KELTHUZAD_GATE: + return _kelthuzadgateGUID; // NPCs case DATA_THADDIUS_BOSS: diff --git a/src/server/scripts/Northrend/Naxxramas/naxxramas.h b/src/server/scripts/Northrend/Naxxramas/naxxramas.h index 7bf1e87da..8c05a0190 100644 --- a/src/server/scripts/Northrend/Naxxramas/naxxramas.h +++ b/src/server/scripts/Northrend/Naxxramas/naxxramas.h @@ -47,6 +47,7 @@ enum NXData DATA_HUNDRED_CLUB = 117, DATA_DANCE_FAIL = 118, DATA_IMMORTAL_FAIL = 119, + DATA_KELTHUZAD_GATE = 120, }; enum NXGOs @@ -73,6 +74,7 @@ enum NXGOs GO_SAPPHIRON_BIRTH = 181356, GO_KELTHUZAD_FLOOR = 181444, + GO_KELTHUZAD_GATE = 181228, GO_DEATHKNIGHT_WING = 181577, //Loatheb portal GO_THADDIUS_PORTAL = 181576, //Thadius portal