diff options
| author | Shauren <none@none> | 2010-10-27 18:46:48 +0200 | 
|---|---|---|
| committer | Shauren <none@none> | 2010-10-27 18:46:48 +0200 | 
| commit | c9fba03da9b095ee1b76329af4db90ce18b31598 (patch) | |
| tree | 23dc9f1be3ac1311b1f067d06452b8e9f2b9d96a /src/server/scripts | |
| parent | ba6fc58badcd7b53d2c8c936ee4d819574852309 (diff) | |
Scripts/Icecrown Citadel: Fixed Gaseous Blight removal on Festergut's death
Scripts/Icecrown Citadel: Added missing in room check for Blood Prince Council
Scripts/Icecrown Citadel: Fixed Professor Putricide facing during phase transitions
--HG--
branch : trunk
Diffstat (limited to 'src/server/scripts')
3 files changed, 16 insertions, 9 deletions
| diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index 2eb1a2788ad..30deeae88fc 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -471,7 +471,7 @@ class boss_prince_keleseth_icc : public CreatureScript              void UpdateAI(const uint32 diff)              { -                if (!UpdateVictim()) +                if (!UpdateVictim() || !CheckInRoom())                      return;                  events.Update(diff); @@ -656,7 +656,7 @@ class boss_prince_taldaram_icc : public CreatureScript              void UpdateAI(const uint32 diff)              { -                if (!UpdateVictim()) +                if (!UpdateVictim() || !CheckInRoom())                      return;                  events.Update(diff); @@ -860,7 +860,7 @@ class boss_prince_valanar_icc : public CreatureScript              void UpdateAI(const uint32 diff)              { -                if (!UpdateVictim()) +                if (!UpdateVictim() || !CheckInRoom())                      return;                  events.Update(diff); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp index 3092ddf8ef2..296bccdbe13 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp @@ -122,7 +122,7 @@ class boss_festergut : public CreatureScript                  DoScriptText(SAY_AGGRO, me);                  if (Creature* gasDummy = GetClosestCreatureWithEntry(me, NPC_GAS_DUMMY, 100.0f, true))                      gasDummyGUID = gasDummy->GetGUID(); -                if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE))) +                if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))                      professor->AI()->DoAction(ACTION_FESTERGUT_COMBAT);                  DoZoneInCombat(me); @@ -132,8 +132,15 @@ class boss_festergut : public CreatureScript              {                  DoScriptText(SAY_DEATH, me);                  instance->SetBossState(DATA_FESTERGUT, DONE); -                if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE))) +                if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))                      professor->AI()->DoAction(ACTION_FESTERGUT_DEATH); + +                if (Creature* gasDummy = ObjectAccessor::GetCreature(*me, gasDummyGUID)) +                    for (uint8 i = 0; i < 3; ++i) +                    { +                        gasDummy->RemoveAurasDueToSpell(gaseousBlight[i]); +                        gasDummy->RemoveAurasDueToSpell(gaseousBlightVisual[i]); +                    }              }              void JustReachedHome() @@ -144,7 +151,7 @@ class boss_festergut : public CreatureScript              void EnterEvadeMode()              {                  ScriptedAI::EnterEvadeMode(); -                if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE))) +                if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))                      professor->AI()->EnterEvadeMode();              } @@ -181,7 +188,7 @@ class boss_festergut : public CreatureScript                      {                          case EVENT_INHALE_BLIGHT:                          { -                            if (Creature* gasDummy = Unit::GetCreature(*me, gasDummyGUID)) +                            if (Creature* gasDummy = ObjectAccessor::GetCreature(*me, gasDummyGUID))                                  for (uint8 i = 0; i < 3; ++i)                                  {                                      gasDummy->RemoveAurasDueToSpell(gaseousBlight[i]); @@ -193,7 +200,7 @@ class boss_festergut : public CreatureScript                                  DoScriptText(SAY_PUNGENT_BLIGHT, me);                                  DoCast(me, SPELL_PUNGENT_BLIGHT);                                  uiInhaleCounter = 0; -                                if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE))) +                                if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))                                      professor->AI()->DoAction(ACTION_FESTERGUT_GAS);                              }                              else diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index a6878464d44..25ac1068e3e 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -338,7 +338,6 @@ class boss_professor_putricide : public CreatureScript                      case POINT_TABLE:                          // stop attack                          me->GetMotionMaster()->MoveIdle(); -                        me->Attack(me->getVictim(), false);                          me->SetSpeed(MOVE_RUN, fBaseSpeed, true);                          if (GameObject* table = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_PUTRICIDE_TABLE)))                              me->SetFacingToObject(table); @@ -443,6 +442,7 @@ class boss_professor_putricide : public CreatureScript                      case ACTION_CHANGE_PHASE:                          me->SetSpeed(MOVE_RUN, fBaseSpeed*2.0f, true);                          events.DelayEvents(30000); +                        me->AttackStop();                          if (!IsHeroic())                          {                              DoCast(me, SPELL_TEAR_GAS); | 
