From 6304da2d109ec13c3a688748b714ca62c633c479 Mon Sep 17 00:00:00 2001 From: insunaa Date: Tue, 14 Jan 2025 09:25:21 +0100 Subject: [PATCH] SSC: Allow immediate access to Vashj --- .../serpent_shrine/serpent_shrine.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/game/AI/ScriptDevAI/scripts/outland/coilfang_reservoir/serpent_shrine/serpent_shrine.cpp b/src/game/AI/ScriptDevAI/scripts/outland/coilfang_reservoir/serpent_shrine/serpent_shrine.cpp index 32641015371..8c0761eb1cc 100644 --- a/src/game/AI/ScriptDevAI/scripts/outland/coilfang_reservoir/serpent_shrine/serpent_shrine.cpp +++ b/src/game/AI/ScriptDevAI/scripts/outland/coilfang_reservoir/serpent_shrine/serpent_shrine.cpp @@ -174,7 +174,7 @@ void instance_serpentshrine_cavern::SetData(uint32 uiType, uint32 uiData) case TYPE_MOROGRIM_EVENT: m_auiEncounter[uiType] = uiData; if (uiData == DONE) - EngageBossConsole(uiType, 0); + EngageBossConsole(uiType, nullptr); if (uiData == SPECIAL) EngageBridgeConsole(); break; @@ -323,10 +323,15 @@ void instance_serpentshrine_cavern::SpawnFishCorpses() void instance_serpentshrine_cavern::EngageBridgeConsole(GameObject* _console) { + #ifdef PRENERF_2_3 if(m_auiEncounter[TYPE_HYDROSS_EVENT] == SPECIAL && m_auiEncounter[TYPE_THELURKER_EVENT] == SPECIAL && m_auiEncounter[TYPE_LEOTHERAS_EVENT] == SPECIAL && m_auiEncounter[TYPE_KARATHRESS_EVENT] == SPECIAL && m_auiEncounter[TYPE_MOROGRIM_EVENT] == SPECIAL) + #endif if(GameObject* console = _console ? _console : instance->GetGameObject(m_goEntryGuidStore[GO_CONSOLE_VASHJ])) + { + console->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); console->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NO_INTERACT); + } } uint32 EncounterTypeFromGOEntry(uint32 goEntry) @@ -375,10 +380,15 @@ void instance_serpentshrine_cavern::EngageBossConsole(uint32 uiType, GameObject* } console = instance->GetGameObject(m_goEntryGuidStore[goEntry]); } + #ifdef PRENERF_2_3 if (m_auiEncounter[uiType] == DONE) + { + console->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); console->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NO_INTERACT); + } else if(m_auiEncounter[uiType] == SPECIAL) console->SetGoState(GO_STATE_ACTIVE); + #endif } bool GOUse_go_ssc_boss_consoles(Player* /*pPlayer*/, GameObject* pGo)