From a348b591a70b2d9f5acc890ec6f21649fddc93e1 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Tue, 23 Mar 2010 12:48:28 +0100 Subject: [PATCH] Violet Hold: Exploit fix Now bosses reset if they're hitted when their door is closed --HG-- branch : trunk --- src/scripts/northrend/violet_hold/boss_erekem.cpp | 6 ++++++ src/scripts/northrend/violet_hold/boss_ichoron.cpp | 6 ++++++ src/scripts/northrend/violet_hold/boss_lavanthor.cpp | 6 ++++++ src/scripts/northrend/violet_hold/boss_moragg.cpp | 6 ++++++ src/scripts/northrend/violet_hold/boss_xevozz.cpp | 6 ++++++ src/scripts/northrend/violet_hold/boss_zuramat.cpp | 6 ++++++ 6 files changed, 36 insertions(+) diff --git a/src/scripts/northrend/violet_hold/boss_erekem.cpp b/src/scripts/northrend/violet_hold/boss_erekem.cpp index 8cb0fcf2ed..8a27bc3b41 100644 --- a/src/scripts/northrend/violet_hold/boss_erekem.cpp +++ b/src/scripts/northrend/violet_hold/boss_erekem.cpp @@ -117,6 +117,12 @@ struct boss_erekemAI : public ScriptedAI if (pInstance) { + if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_EREKEM_CELL))) + if (pDoor->GetGoState() == GO_STATE_READY) + { + EnterEvadeMode(); + return; + } pGuard1 = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_1)); pGuard2 = pInstance->instance->GetCreature(pInstance->GetData64(DATA_EREKEM_GUARD_2)); diff --git a/src/scripts/northrend/violet_hold/boss_ichoron.cpp b/src/scripts/northrend/violet_hold/boss_ichoron.cpp index 4d8e64576e..2911b7f146 100644 --- a/src/scripts/northrend/violet_hold/boss_ichoron.cpp +++ b/src/scripts/northrend/violet_hold/boss_ichoron.cpp @@ -124,6 +124,12 @@ struct boss_ichoronAI : public ScriptedAI if (pInstance) { + if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_ICHORON_CELL))) + if (pDoor->GetGoState() == GO_STATE_READY) + { + EnterEvadeMode(); + return; + } if (pInstance->GetData(DATA_WAVE_COUNT) == 6) pInstance->SetData(DATA_1ST_BOSS_EVENT, IN_PROGRESS); else if (pInstance->GetData(DATA_WAVE_COUNT) == 12) diff --git a/src/scripts/northrend/violet_hold/boss_lavanthor.cpp b/src/scripts/northrend/violet_hold/boss_lavanthor.cpp index f97b651334..9d9a24e57f 100644 --- a/src/scripts/northrend/violet_hold/boss_lavanthor.cpp +++ b/src/scripts/northrend/violet_hold/boss_lavanthor.cpp @@ -56,6 +56,12 @@ struct boss_lavanthorAI : public ScriptedAI { if (pInstance) { + if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_LAVANTHOR_CELL))) + if (pDoor->GetGoState() == GO_STATE_READY) + { + EnterEvadeMode(); + return; + } if (pInstance->GetData(DATA_WAVE_COUNT) == 6) pInstance->SetData(DATA_1ST_BOSS_EVENT, IN_PROGRESS); else if (pInstance->GetData(DATA_WAVE_COUNT) == 12) diff --git a/src/scripts/northrend/violet_hold/boss_moragg.cpp b/src/scripts/northrend/violet_hold/boss_moragg.cpp index df0c5d6c31..fee6d0f35a 100644 --- a/src/scripts/northrend/violet_hold/boss_moragg.cpp +++ b/src/scripts/northrend/violet_hold/boss_moragg.cpp @@ -49,6 +49,12 @@ struct boss_moraggAI : public ScriptedAI { if (pInstance) { + if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_MORAGG_CELL))) + if(pDoor->GetGoState() == GO_STATE_READY) + { + EnterEvadeMode(); + return; + } if (pInstance->GetData(DATA_WAVE_COUNT) == 6) pInstance->SetData(DATA_1ST_BOSS_EVENT, IN_PROGRESS); else if (pInstance->GetData(DATA_WAVE_COUNT) == 12) diff --git a/src/scripts/northrend/violet_hold/boss_xevozz.cpp b/src/scripts/northrend/violet_hold/boss_xevozz.cpp index 49f5cc3eb6..2e99ea9bd3 100644 --- a/src/scripts/northrend/violet_hold/boss_xevozz.cpp +++ b/src/scripts/northrend/violet_hold/boss_xevozz.cpp @@ -136,6 +136,12 @@ struct boss_xevozzAI : public ScriptedAI DoScriptText(SAY_AGGRO, m_creature); if (pInstance) { + if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_XEVOZZ_CELL))) + if (pDoor->GetGoState() == GO_STATE_READY) + { + EnterEvadeMode(); + return; + } if (pInstance->GetData(DATA_WAVE_COUNT) == 6) pInstance->SetData(DATA_1ST_BOSS_EVENT, IN_PROGRESS); else if (pInstance->GetData(DATA_WAVE_COUNT) == 12) diff --git a/src/scripts/northrend/violet_hold/boss_zuramat.cpp b/src/scripts/northrend/violet_hold/boss_zuramat.cpp index e60eed0820..c9ee8f395d 100644 --- a/src/scripts/northrend/violet_hold/boss_zuramat.cpp +++ b/src/scripts/northrend/violet_hold/boss_zuramat.cpp @@ -84,6 +84,12 @@ struct boss_zuramatAI : public ScriptedAI DoScriptText(SAY_AGGRO, m_creature); if (pInstance) { + if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_ZURAMAT_CELL))) + if (pDoor->GetGoState() == GO_STATE_READY) + { + EnterEvadeMode(); + return; + } if (pInstance->GetData(DATA_WAVE_COUNT) == 6) pInstance->SetData(DATA_1ST_BOSS_EVENT, IN_PROGRESS); else if (pInstance->GetData(DATA_WAVE_COUNT) == 12)