diff options
-rw-r--r-- | src/bindings/scripts/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h | 4 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp | 44 |
2 files changed, 42 insertions, 6 deletions
diff --git a/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h index 0ef175338d9..64def3c9e5f 100644 --- a/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h +++ b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h @@ -19,13 +19,15 @@ enum Data64 enum Data { + TYPE_GELIHAST, TYPE_KELRIS, TYPE_SHRINE }; enum Creatures { - NPC_TWILIGHT_LORD_KELRIS = 4832 + NPC_TWILIGHT_LORD_KELRIS = 4832, + NPC_LORCUS_JETT = 12902 }; enum GameObjects diff --git a/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp index 4054f3423d3..2af0f308584 100644 --- a/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp +++ b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp @@ -24,13 +24,21 @@ EndScriptData */ #include "precompiled.h" #include "blackfathom_deeps.h" -#define MAX_ENCOUNTER 2 +#define MAX_ENCOUNTER 3 -/* Encounter 0 = Twilight Lord Kelris - Encounter 1 = Shrine event +/* Encounter 0 = Gelihast + Encounter 1 = Twilight Lord Kelris + Encounter 2 = Shrine event Must kill twilight lord for shrine event to be possible */ +const Position LorgusPosition[4] = +{ { }, + { }, + { }, + { } +}; + struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance { instance_blackfathom_deeps(Map* pMap) : ScriptedInstance(pMap) {Initialize();}; @@ -73,24 +81,30 @@ struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance case GO_FIRE_OF_AKU_MAI_1: m_uiShrine1GUID = pGo->GetGUID(); pGo->SetGoState(GO_STATE_READY); + pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); break; case GO_FIRE_OF_AKU_MAI_2: m_uiShrine2GUID = pGo->GetGUID(); pGo->SetGoState(GO_STATE_READY); + pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); break; case GO_FIRE_OF_AKU_MAI_3: m_uiShrine3GUID = pGo->GetGUID(); pGo->SetGoState(GO_STATE_READY); + pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); break; case GO_FIRE_OF_AKU_MAI_4: m_uiShrine4GUID = pGo->GetGUID(); pGo->SetGoState(GO_STATE_READY); + pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); break; case GO_SHRINE_OF_GELIHAST: m_uiShrineOfGelihastGUID = pGo->GetGUID(); + pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); break; case GO_ALTAR_OF_THE_DEEPS: m_uiAltarOfTheDeepsGUID = pGo->GetGUID(); + pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); break; case GO_AKU_MAI_DOOR: m_uiMainDoorGUID = pGo->GetGUID(); @@ -102,11 +116,31 @@ struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance { switch(uiType) { - case TYPE_KELRIS: + case TYPE_GELIHAST: m_auiEncounter[0] = uiData; + if (uiData == DONE) + if (GameObject *pGo = instance->GetGameObject(m_uiShrineOfGelihastGUID)) + pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); break; - case TYPE_SHRINE: + case TYPE_KELRIS: m_auiEncounter[1] = uiData; + if (uiData == DONE) + { + if (GameObject *pGo = instance->GetGameObject(m_uiShrine1GUID)) + pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); + if (GameObject *pGo = instance->GetGameObject(m_uiShrine2GUID)) + pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); + if (GameObject *pGo = instance->GetGameObject(m_uiShrine3GUID)) + pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); + if (GameObject *pGo = instance->GetGameObject(m_uiShrine4GUID)) + pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); + } + break; + case TYPE_SHRINE: + m_auiEncounter[2] = uiData; + if (uiData == DONE) + if (GameObject *pGo = instance->GetGameObject(m_uiAltarOfTheDeepsGUID)) + pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); break; } } |