diff options
author | kaelima <jeppo_meyer@msn.com> | 2011-06-13 13:06:02 +0200 |
---|---|---|
committer | kaelima <jeppo_meyer@msn.com> | 2011-06-13 13:06:02 +0200 |
commit | f45121ebe967ba02b4987ed96d24639343b7ee54 (patch) | |
tree | 0d3830f11d507f0b81c5ed03b6025440c8b126ac | |
parent | de41092cab43d5e1211b194ee0ac31ef07ae2244 (diff) |
Core/Scripts: Avoid some possible crashes
Temporary fix since Sartura obviously needs a rewrite.
-rw-r--r-- | src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp | 54 | ||||
-rw-r--r-- | src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp | 9 |
2 files changed, 30 insertions, 33 deletions
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp index 73fd532b158..e1bb5645cfd 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp @@ -105,13 +105,12 @@ public: if (WhirlWindRandom_Timer <= diff) { //Attack random Gamers - Unit *pTarget = NULL; - pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1); - if (pTarget) - me->AddThreat(pTarget, 1.0f); - me->TauntApply(pTarget); - AttackStart(pTarget); - + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100.0f, true)) + { + me->AddThreat(target, 1.0f); + me->TauntApply(target); + AttackStart(target); + } WhirlWindRandom_Timer = 3000 + rand()%4000; } else WhirlWindRandom_Timer -= diff; @@ -134,15 +133,14 @@ public: if (AggroReset_Timer <= diff) { //Attack random Gamers - Unit *pTarget = NULL; - pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1); - if (pTarget) - me->AddThreat(pTarget, 1.0f); - me->TauntApply(pTarget); - AttackStart(pTarget); - - AggroReset = true; - AggroReset_Timer = 2000 + rand()%3000; + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100.0f, true)) + { + me->AddThreat(target, 1.0f); + me->TauntApply(target); + AttackStart(target); + } + AggroReset = true; + AggroReset_Timer = 2000 + rand()%3000; } else AggroReset_Timer -= diff; if (AggroReset) @@ -242,12 +240,12 @@ public: if (WhirlWindRandom_Timer <= diff) { //Attack random Gamers - Unit *pTarget = NULL; - pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1); - if (pTarget) - me->AddThreat(pTarget, 1.0f); - me->TauntApply(pTarget); - AttackStart(pTarget); + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100.0f, true)) + { + me->AddThreat(target, 1.0f); + me->TauntApply(target); + AttackStart(target); + } WhirlWindRandom_Timer = 3000 + rand()%4000; } else WhirlWindRandom_Timer -= diff; @@ -263,12 +261,12 @@ public: if (AggroReset_Timer <= diff) { //Attack random Gamers - Unit *pTarget = NULL; - pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1); - if (pTarget) - me->AddThreat(pTarget, 1.0f); - me->TauntApply(pTarget); - AttackStart(pTarget); + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100.0f, true)) + { + me->AddThreat(pTarget, 1.0f); + me->TauntApply(pTarget); + AttackStart(pTarget); + } AggroReset = true; AggroReset_Timer = 2000 + rand()%3000; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp index 3184500870b..42f94902c52 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp @@ -169,11 +169,10 @@ public: if (uiCurseFatigueTimer <= diff) { //WowWiki say "Curse of Fatigue-Kirk'thir will cast Curse of Fatigue on 2-3 targets periodically." - Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true); - Unit *pTarget_1 = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true); - - DoCast(pTarget, SPELL_CURSE_OF_FATIGUE); - DoCast(pTarget_1, SPELL_CURSE_OF_FATIGUE); + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + DoCast(target, SPELL_CURSE_OF_FATIGUE); + if (Unit* tankTarget = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true); + DoCast(tankTarget, SPELL_CURSE_OF_FATIGUE); uiCurseFatigueTimer = 10*IN_MILLISECONDS; } else uiCurseFatigueTimer -= diff; |