diff options
| author | jackpoz <giacomopoz@gmail.com> | 2014-04-19 21:48:22 +0200 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2014-04-19 21:48:22 +0200 |
| commit | 8ca63717932ae6db48d74e866e8d379c4f5a5920 (patch) | |
| tree | 0ebd6fa6ded2af7c4becaae1bb372be427235c6d /src/server/scripts/EasternKingdoms | |
| parent | fac3f445b12ee9ab484a2c229cdd49ca68120cea (diff) | |
Core/Misc: Ensure GetVictim() returns a valid reference when expected
Add a new method EnsureVictim() which asserts a valid not NULL reference will be returned to the caller. Use this whenever the GetVictim() would be dereferenced .
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
12 files changed, 19 insertions, 19 deletions
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp index b1bc34b0437..eda2dbbcdaa 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp @@ -138,7 +138,7 @@ public: break; case EVENT_CONFLAGRATION: DoCastVictim(SPELL_CONFLAGRATION); - if (me->GetVictim() && me->GetVictim()->HasAura(SPELL_CONFLAGRATION)) + if (me->GetVictim() && me->EnsureVictim()->HasAura(SPELL_CONFLAGRATION)) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true)) me->TauntApply(target); events.ScheduleEvent(EVENT_CONFLAGRATION, 30000); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp index f8e00e4ed74..870e11c215c 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp @@ -200,7 +200,7 @@ public: break; case EVENT_BURNINGADRENALINE_TANK: // have the victim cast the spell on himself otherwise the third effect aura will be applied to Vael instead of the player - me->GetVictim()->CastSpell(me->GetVictim(), SPELL_BURNINGADRENALINE, true); + me->EnsureVictim()->CastSpell(me->GetVictim(), SPELL_BURNINGADRENALINE, true); events.ScheduleEvent(EVENT_BURNINGADRENALINE_TANK, 45000); break; } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp index 14cc3083d59..0387d7b776b 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp @@ -191,7 +191,7 @@ public: if (pAttumen->GetVictim()) { pAttumen->GetMotionMaster()->MoveChase(pAttumen->GetVictim()); - pAttumen->SetTarget(pAttumen->GetVictim()->GetGUID()); + pAttumen->SetTarget(pAttumen->EnsureVictim()->GetGUID()); } pAttumen->SetObjectScale(1); } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp index bde326a5c37..209154ec5f9 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp @@ -391,8 +391,8 @@ public: if (me->HasUnitState(UNIT_STATE_STUNNED)) // While shifting to phase 2 malchezaar stuns himself return; - if (me->GetUInt64Value(UNIT_FIELD_TARGET) != me->GetVictim()->GetGUID()) - me->SetTarget(me->GetVictim()->GetGUID()); + if (me->GetUInt64Value(UNIT_FIELD_TARGET) != me->EnsureVictim()->GetGUID()) + me->SetTarget(me->EnsureVictim()->GetGUID()); if (phase == 1) { diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index a3d4d6669a3..93fe8ad5c44 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -484,10 +484,10 @@ public: EnterEvadeMode(); return; } - else if (me->GetVictim()->GetTypeId() == TYPEID_PLAYER && me->GetVictim()->HealthBelowPct(10)) + else if (me->EnsureVictim()->GetTypeId() == TYPEID_PLAYER && me->EnsureVictim()->HealthBelowPct(10)) { - me->GetVictim()->CastSpell(me->GetVictim(), 7267, true); // beg - me->GetVictim()->RemoveGameObject(SPELL_DUEL_FLAG, true); + me->EnsureVictim()->CastSpell(me->GetVictim(), 7267, true); // beg + me->EnsureVictim()->RemoveGameObject(SPELL_DUEL_FLAG, true); EnterEvadeMode(); return; } @@ -837,7 +837,7 @@ public: //ScriptedAI::UpdateAI(diff); //Check if we have a current target - if (me->GetVictim()->GetEntry() == NPC_GHOSTS) + if (me->EnsureVictim()->GetEntry() == NPC_GHOSTS) { if (me->isAttackReady()) { diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp index 46bd5bcbfdc..a03455f6213 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp @@ -298,7 +298,7 @@ public: Unit* target = (*itr)->getTarget(); if (target && target->GetTypeId() == TYPEID_PLAYER - && target->GetGUID() != me->GetVictim()->GetGUID() + && target->GetGUID() != me->EnsureVictim()->GetGUID() && target->GetPositionZ() > me->GetPositionZ() - 5 && !target->HasAura(AURA_SPECTRAL_EXHAUSTION)) { diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index e8b112aa1cd..5a2c23d1c0f 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -1255,7 +1255,7 @@ public: if ((victimClass == 0) && me->GetVictim()) { - victimClass = me->GetVictim()->getClass(); + victimClass = me->EnsureVictim()->getClass(); switch (victimClass) { case CLASS_DRUID: diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index d6657ac0986..d26108f5694 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -887,7 +887,7 @@ class boss_fenstalker : public CreatureScript if (volatileinf_timer <= diff) { // core bug - me->GetVictim()->CastSpell(me->GetVictim(), SPELL_VOLATILE_INFECTION, false); + me->EnsureVictim()->CastSpell(me->GetVictim(), SPELL_VOLATILE_INFECTION, false); volatileinf_timer = 12000; } else volatileinf_timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp index 5bd78006f95..edf3196104e 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp @@ -405,7 +405,7 @@ class boss_nalorakk : public CreatureScript if (Mangle_Timer <= diff) { - if (me->GetVictim() && !me->GetVictim()->HasAura(SPELL_MANGLEEFFECT)) + if (me->GetVictim() && !me->EnsureVictim()->HasAura(SPELL_MANGLEEFFECT)) { DoCastVictim(SPELL_MANGLE); Mangle_Timer = 1000; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp index 9af8eeccc5c..f9236574605 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp @@ -249,9 +249,9 @@ class boss_zuljin : public CreatureScript { if (Phase == 1 && !Overpower_Timer) { - uint32 health = me->GetVictim()->GetHealth(); + uint32 health = me->EnsureVictim()->GetHealth(); me->AttackerStateUpdate(me->GetVictim()); - if (me->GetVictim() && health == me->GetVictim()->GetHealth()) + if (me->GetVictim() && health == me->EnsureVictim()->GetHealth()) { DoCastVictim(SPELL_OVERPOWER, false); Overpower_Timer = 5000; @@ -428,7 +428,7 @@ class boss_zuljin : public CreatureScript { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) { - TankGUID = me->GetVictim()->GetGUID(); + TankGUID = me->EnsureVictim()->GetGUID(); me->SetSpeed(MOVE_RUN, 5.0f); AttackStart(target); // change victim Claw_Rage_Timer = 0; @@ -477,7 +477,7 @@ class boss_zuljin : public CreatureScript { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) { - TankGUID = me->GetVictim()->GetGUID(); + TankGUID = me->EnsureVictim()->GetGUID(); me->SetSpeed(MOVE_RUN, 5.0f); AttackStart(target); // change victim Lynx_Rush_Timer = 0; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp index bb2a17704ed..e13445bc59b 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp @@ -238,7 +238,7 @@ class boss_mandokir : public CreatureScript events.ScheduleEvent(EVENT_OVERPOWER, urand(6000, 12000)); break; case EVENT_MORTAL_STRIKE: - if (me->GetVictim() && me->GetVictim()->HealthBelowPct(50)) + if (me->GetVictim() && me->EnsureVictim()->HealthBelowPct(50)) DoCastVictim(SPELL_MORTAL_STRIKE, true); events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand(12000, 18000)); break; diff --git a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp index 6cfef015450..8dd8d8a2c65 100644 --- a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp +++ b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp @@ -100,7 +100,7 @@ public: if (me->IsInCombat() && me->GetVictim()) { - if (Player* player = me->GetVictim()->ToPlayer()) + if (Player* player = me->EnsureVictim()->ToPlayer()) { if (player->GetTeam() == HORDE) { |
