From 659c8f8db902b863408bb265917306c340456285 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 2 Jan 2011 12:48:35 +0100 Subject: Scripts/Icecrown Citadel: Fixed boss requirement check logic, thanks JohnHoliver for pointing it out Signed-off-by: Shauren --- .../IcecrownCitadel/instance_icecrown_citadel.cpp | 63 ++++++++++++++++++---- 1 file changed, 54 insertions(+), 9 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index b121125b5d9..7814137ae23 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -501,27 +501,57 @@ class instance_icecrown_citadel : public InstanceMapScript bool CheckPlagueworks(uint32 bossId) const { - if (bossId == DATA_PROFESSOR_PUTRICIDE) - if (GetBossState(DATA_FESTERGUT) != DONE || GetBossState(DATA_ROTFACE) != DONE) - return false; + switch (bossId) + { + case DATA_THE_LICH_KING: + if (GetBossState(DATA_PROFESSOR_PUTRICIDE) != DONE) + return false; + // no break + case DATA_PROFESSOR_PUTRICIDE: + if (GetBossState(DATA_FESTERGUT) != DONE || GetBossState(DATA_ROTFACE) != DONE) + return false; + break; + default: + break; + } return true; } bool CheckCrimsonHalls(uint32 bossId) const { - if (bossId == DATA_BLOOD_QUEEN_LANA_THEL) - if (GetBossState(DATA_BLOOD_PRINCE_COUNCIL) != DONE) - return false; + switch (bossId) + { + case DATA_THE_LICH_KING: + if (GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) != DONE) + return false; + // no break + case DATA_BLOOD_QUEEN_LANA_THEL: + if (GetBossState(DATA_BLOOD_PRINCE_COUNCIL) != DONE) + return false; + break; + default: + break; + } return true; } bool CheckFrostwingHalls(uint32 bossId) const { - if (bossId == DATA_SINDRAGOSA) - if (GetBossState(DATA_VALITHRIA_DREAMWALKER) != DONE) - return false; + switch (bossId) + { + case DATA_THE_LICH_KING: + if (GetBossState(DATA_SINDRAGOSA) != DONE) + return false; + // no break + case DATA_SINDRAGOSA: + if (GetBossState(DATA_VALITHRIA_DREAMWALKER) != DONE) + return false; + break; + default: + break; + } return true; } @@ -530,15 +560,30 @@ class instance_icecrown_citadel : public InstanceMapScript { switch (bossId) { + case DATA_THE_LICH_KING: + case DATA_SINDRAGOSA: + case DATA_BLOOD_QUEEN_LANA_THEL: + case DATA_PROFESSOR_PUTRICIDE: + case DATA_VALITHRIA_DREAMWALKER: + case DATA_BLOOD_PRINCE_COUNCIL: + case DATA_ROTFACE: + case DATA_FESTERGUT: + if (GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE) + return false; + // no break case DATA_DEATHBRINGER_SAURFANG: if (GetBossState(DATA_GUNSHIP_EVENT) != DONE) return false; + // no break case DATA_GUNSHIP_EVENT: if (GetBossState(DATA_LADY_DEATHWHISPER) != DONE) return false; + // no break case DATA_LADY_DEATHWHISPER: if (GetBossState(DATA_LORD_MARROWGAR) != DONE) return false; + // no break + case DATA_LORD_MARROWGAR: default: break; } -- cgit v1.2.3