fix vashj bridge access (#852)

now properly checks all 5 bosses and unlocks the console if all 5 are dead
This commit is contained in:
Crow
2025-11-15 00:15:30 -06:00
committed by GitHub
parent c6d3f5277a
commit c9a841d4df

View File

@@ -12,8 +12,7 @@ enum SSCMisc
{ {
GO_LADY_VASHJ_BRIDGE_CONSOLE = 184568, GO_LADY_VASHJ_BRIDGE_CONSOLE = 184568,
MAP_SSC = 548, MAP_SSC = 548,
DATA_LURKER = 1, DATA_VASHJ = 5
DATA_VASHJ = 6
}; };
class GlobalSerpentshrineScript : public GlobalScript class GlobalSerpentshrineScript : public GlobalScript
@@ -27,19 +26,13 @@ public:
{ {
if (InstanceScript* instance = instanceMap->GetInstanceScript()) if (InstanceScript* instance = instanceMap->GetInstanceScript())
{ {
uint32 bossCount = instance->GetEncounterCount() - 3; for (uint8 id = 0; id <= 4; ++id) // check boss data id 0-4
for (uint8 id = 0; id <= bossCount; ++id)
{ {
if (id == bossId && newState == DONE) if (id == bossId && newState == DONE)
{ {
continue; continue;
} }
if (id == DATA_LURKER)
{
continue;
}
if (instance->GetBossState(id) != DONE) if (instance->GetBossState(id) != DONE)
{ {
return true; return true;
@@ -65,16 +58,6 @@ public:
} }
} }
void OnLoadSpellCustomAttr(SpellInfo* spellInfo) override
{
switch (spellInfo->Id)
{
case 38236: // Tidalvess - Spawn Spitfire Totem
spellInfo->Effects[EFFECT_0].BasePoints = 25000;
break;
}
}
void OnBeforeSetBossState(uint32 bossId, EncounterState newState, EncounterState /*oldState*/, Map* map) override void OnBeforeSetBossState(uint32 bossId, EncounterState newState, EncounterState /*oldState*/, Map* map) override
{ {
if (sConfigMgr->GetOption<int>("IndividualProgression.SerpentshrineCavern.RequireAllBosses", 1)) if (sConfigMgr->GetOption<int>("IndividualProgression.SerpentshrineCavern.RequireAllBosses", 1))