diff options
5 files changed, 17 insertions, 29 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index d805c598319..663734e1107 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -1436,8 +1436,7 @@ class spell_stinky_precious_decimate : public SpellScriptLoader                  if (GetHitUnit()->GetHealthPct() > float(GetEffectValue()))                  {                      uint32 newHealth = GetHitUnit()->GetMaxHealth() * uint32(GetEffectValue()) / 100; -                    if (GetHitUnit()->GetMaxHealth() >= newHealth) -                        GetHitUnit()->SetHealth(newHealth); +                    GetHitUnit()->SetHealth(newHealth);                  }              } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp index 306e00bbbe7..ac74aecd5cc 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp @@ -74,7 +74,6 @@ enum Events      EVENT_MORTAL_WOUND      = 5,      EVENT_STICKY_OOZE       = 6, -    EVENT_UNSTABLE_DESPAWN  = 7,  };  class boss_rotface : public CreatureScript @@ -330,13 +329,6 @@ class npc_big_ooze : public CreatureScript              {                  if (action == EVENT_STICKY_OOZE)                      events.CancelEvent(EVENT_STICKY_OOZE); -                else if (action == EVENT_UNSTABLE_DESPAWN) -                { -                    me->RemoveAllAuras(); -                    me->SetVisible(false); -                    events.Reset(); -                    events.ScheduleEvent(EVENT_UNSTABLE_DESPAWN, 60000); -                }              }              void UpdateAI(const uint32 diff) @@ -353,10 +345,6 @@ class npc_big_ooze : public CreatureScript                          case EVENT_STICKY_OOZE:                              DoCastVictim(SPELL_STICKY_OOZE);                              events.ScheduleEvent(EVENT_STICKY_OOZE, 15000); -                            break; -                        case EVENT_UNSTABLE_DESPAWN: -                            me->Kill(me); -                            break;                          default:                              break;                      } @@ -707,7 +695,9 @@ class spell_rotface_unstable_ooze_explosion_suicide : public SpellScriptLoader                  if (target->GetTypeId() != TYPEID_UNIT)                      return; -                target->ToCreature()->AI()->DoAction(EVENT_UNSTABLE_DESPAWN); +                target->RemoveAllAuras(); +                target->SetVisible(false); +                target->ToCreature()->DespawnOrUnsummon(60000);              }              void Register() diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index a379b800720..581c673010b 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -26,7 +26,7 @@  //* Deprogramming                (DONE)  //* Securing the Ramparts        (DONE)  //* Residue Rendezvous           (DONE) -//* Blood Quickening                    // AreaTrigger 5729 starts the timer, pulling BQ before it runs out means success +//* Blood Quickening             (DONE)  //* Respite for a Tormented Soul  enum Texts diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h index 76aed7805bb..95bc17dd9d0 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h @@ -19,6 +19,11 @@  #define DEF_ICECROWN_CITADEL_H  #define ICCScriptName "instance_icecrown_citadel" +uint32 const EncounterCount = 12; +uint32 const WeeklyNPCs = 7; +uint32 const MaxHeroicAttempts = 50; +// Defined in boss_sindragosa.cpp +extern Position const SindragosaSpawnPos;  // Shared spells used by more than one script  enum SharedSpells @@ -39,7 +44,7 @@ enum TeleporterSpells      DEATHBRINGER_S_RISE_TELEPORT    = 70858,      UPPER_SPIRE_TELEPORT            = 70859,      FROZEN_THRONE_TELEPORT          = 70860, -    SINDRAGOSA_S_LAIR_TELEPORT      = 70861 +    SINDRAGOSA_S_LAIR_TELEPORT      = 70861,  };  enum DataTypes @@ -78,9 +83,6 @@ enum DataTypes      DATA_HEROIC_ATTEMPTS            = 28,  }; -#define MAX_ENCOUNTER 12 -#define WEEKLY_NPCS   7 -  enum CreaturesIds  {      // At Light's Hammer @@ -324,7 +326,4 @@ enum WorldStatesICC      WORLDSTATE_ATTEMPTS_MAX         = 4942,  }; -// Declaration -extern Position const SindragosaSpawnPos; -  #endif // DEF_ICECROWN_CITADEL_H diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index bdcc611751d..54741b1fb2a 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -53,7 +53,7 @@ struct WeeklyQuest  {      uint32 creatureEntry;      uint32 questId[2];  // 10 and 25 man versions -} WeeklyQuestData[WEEKLY_NPCS] = +} WeeklyQuestData[WeeklyNPCs] =  {      {NPC_INFILTRATOR_MINCHAR,         {QUEST_DEPROGRAMMING_10,                 QUEST_DEPROGRAMMING_25                }}, // Deprogramming      {NPC_KOR_KRON_LIEUTENANT,         {QUEST_SECURING_THE_RAMPARTS_10,         QUEST_SECURING_THE_RAMPARTS_25        }}, // Securing the Ramparts @@ -73,10 +73,10 @@ class instance_icecrown_citadel : public InstanceMapScript          {              instance_icecrown_citadel_InstanceMapScript(InstanceMap* map) : InstanceScript(map)              { -                SetBossNumber(MAX_ENCOUNTER); +                SetBossNumber(EncounterCount);                  LoadDoorData(doorData);                  teamInInstance = 0; -                heroicAttempts = 50; +                heroicAttempts = MaxHeroicAttempts;                  ladyDeathwisperElevator = 0;                  deathbringerSaurfang = 0;                  saurfangDoor = 0; @@ -118,7 +118,7 @@ class instance_icecrown_citadel : public InstanceMapScript                  data << uint32(WORLDSTATE_EXECUTION_TIME)     << uint32(bloodQuickeningMinutes);                  data << uint32(WORLDSTATE_SHOW_ATTEMPTS)      << uint32(instance->IsHeroic());                  data << uint32(WORLDSTATE_ATTEMPTS_REMAINING) << uint32(heroicAttempts); -                data << uint32(WORLDSTATE_ATTEMPTS_MAX)       << uint32(50); +                data << uint32(WORLDSTATE_ATTEMPTS_MAX)       << uint32(MaxHeroicAttempts);              }              void OnPlayerEnter(Player* player) @@ -248,7 +248,7 @@ class instance_icecrown_citadel : public InstanceMapScript                      case NPC_MINCHAR_BEAM_STALKER:                      case NPC_VALITHRIA_DREAMWALKER_QUEST:                      { -                        for (uint8 questIndex = 0; questIndex < WEEKLY_NPCS; ++questIndex) +                        for (uint8 questIndex = 0; questIndex < WeeklyNPCs; ++questIndex)                          {                              if (WeeklyQuestData[questIndex].creatureEntry == entry)                              { @@ -876,7 +876,7 @@ class instance_icecrown_citadel : public InstanceMapScript                  if (dataHead1 == 'I' && dataHead2 == 'C')                  { -                    for (uint8 i = 0; i < MAX_ENCOUNTER; ++i) +                    for (uint32 i = 0; i < EncounterCount; ++i)                      {                          uint32 tmpState;                          loadStream >> tmpState;  | 
