aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2014-09-04 23:05:03 +0200
committerjackpoz <giacomopoz@gmail.com>2014-09-05 22:44:24 +0200
commit6df2ff5efa0a84c5423804d713acd0e8952db86e (patch)
tree75e8fa91a6ea2ceb502356e7ee804fc6993a2ef0 /src/server/scripts/Northrend
parentd3a50ffb59f315d43c9ba93d5909887c6abe3685 (diff)
Core/Misc: Refactor scripts to fix static analysis warnings
Third batch of fixes targeting 100 issues reported by Coverity
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp14
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp16
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp38
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp33
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp18
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp16
6 files changed, 94 insertions, 41 deletions
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
index d4dc5efb6d5..79449723a16 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
@@ -61,15 +61,23 @@ class boss_elder_nadox : public CreatureScript
struct boss_elder_nadoxAI : public BossAI
{
- boss_elder_nadoxAI(Creature* creature) : BossAI(creature, DATA_ELDER_NADOX) { }
+ boss_elder_nadoxAI(Creature* creature) : BossAI(creature, DATA_ELDER_NADOX)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- _Reset();
GuardianSummoned = false;
GuardianDied = false;
}
+ void Reset() override
+ {
+ _Reset();
+ Initialize();
+ }
+
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
index 1c042f4d185..b200a4e9825 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -63,9 +63,19 @@ public:
{
boss_volazjAI(Creature* creature) : ScriptedAI(creature), Summons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiMindFlayTimer = 8 * IN_MILLISECONDS;
+ uiShadowBoltVolleyTimer = 5 * IN_MILLISECONDS;
+ uiShiverTimer = 15 * IN_MILLISECONDS;
+ // Used for Insanity handling
+ insanityHandled = 0;
+ }
+
InstanceScript* instance;
uint32 uiMindFlayTimer;
@@ -145,17 +155,13 @@ public:
void Reset() override
{
- uiMindFlayTimer = 8*IN_MILLISECONDS;
- uiShadowBoltVolleyTimer = 5*IN_MILLISECONDS;
- uiShiverTimer = 15*IN_MILLISECONDS;
+ Initialize();
instance->SetBossState(DATA_HERALD_VOLAZJ, NOT_STARTED);
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_QUICK_DEMISE_START_EVENT);
// Visible for all players in insanity
me->SetPhaseMask((1|16|32|64|128|256), true);
- // Used for Insanity handling
- insanityHandled = 0;
ResetPlayersPhaseMask();
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
index 905761ce359..7ae8730d57b 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -64,11 +64,27 @@ public:
{
boss_jedoga_shadowseekerAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
bFirstTime = true;
bPreDone = false;
}
+ void Initialize()
+ {
+ uiOpFerTimer = urand(15 * IN_MILLISECONDS, 20 * IN_MILLISECONDS);
+
+ uiCycloneTimer = 3 * IN_MILLISECONDS;
+ uiBoltTimer = 7 * IN_MILLISECONDS;
+ uiThunderTimer = 12 * IN_MILLISECONDS;
+
+ bOpFerok = false;
+ bOpFerokFail = false;
+ bOnGround = false;
+ bCanDown = false;
+ volunteerWork = true;
+ }
+
InstanceScript* instance;
uint32 uiOpFerTimer;
@@ -86,17 +102,7 @@ public:
void Reset() override
{
- uiOpFerTimer = urand(15*IN_MILLISECONDS, 20*IN_MILLISECONDS);
-
- uiCycloneTimer = 3*IN_MILLISECONDS;
- uiBoltTimer = 7*IN_MILLISECONDS;
- uiThunderTimer = 12*IN_MILLISECONDS;
-
- bOpFerok = false;
- bOpFerokFail = false;
- bOnGround = false;
- bCanDown = false;
- volunteerWork = true;
+ Initialize();
if (!bFirstTime)
instance->SetBossState(DATA_JEDOGA_SHADOWSEEKER, FAIL);
@@ -331,9 +337,16 @@ public:
{
npc_jedoga_initiandAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ bWalking = false;
+ bCheckTimer = 2 * IN_MILLISECONDS;
+ }
+
InstanceScript* instance;
uint32 bCheckTimer;
@@ -342,8 +355,7 @@ public:
void Reset() override
{
- bWalking = false;
- bCheckTimer = 2*IN_MILLISECONDS;
+ Initialize();
if (instance->GetBossState(DATA_JEDOGA_SHADOWSEEKER) != IN_PROGRESS)
{
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
index bf5855c3318..49d0840f08a 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
@@ -87,7 +87,29 @@ public:
{
boss_anub_arakAI(Creature* creature) : ScriptedAI(creature), Summons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
+ GuardianSummoned = false;
+ VenomancerSummoned = false;
+ DatterSummoned = false;
+ UndergroundTimer = 0;
+ VenomancerTimer = 0;
+ DatterTimer = 0;
+ DelayTimer = 0;
+ ImpaleTarget = 0;
+ }
+
+ void Initialize()
+ {
+ CarrionBeetlesTimer = 8 * IN_MILLISECONDS;
+ LeechingSwarmTimer = 20 * IN_MILLISECONDS;
+ ImpaleTimer = 9 * IN_MILLISECONDS;
+ PoundTimer = 15 * IN_MILLISECONDS;
+
+ Phase = PHASE_MELEE;
+ UndergroundPhase = 0;
+ Channeling = false;
+ ImpalePhase = IMPALE_PHASE_TARGET;
}
InstanceScript* instance;
@@ -101,7 +123,6 @@ public:
uint32 CarrionBeetlesTimer;
uint32 LeechingSwarmTimer;
uint32 PoundTimer;
- uint32 SubmergeTimer;
uint32 UndergroundTimer;
uint32 VenomancerTimer;
uint32 DatterTimer;
@@ -115,15 +136,7 @@ public:
void Reset() override
{
- CarrionBeetlesTimer = 8*IN_MILLISECONDS;
- LeechingSwarmTimer = 20*IN_MILLISECONDS;
- ImpaleTimer = 9*IN_MILLISECONDS;
- PoundTimer = 15*IN_MILLISECONDS;
-
- Phase = PHASE_MELEE;
- UndergroundPhase = 0;
- Channeling = false;
- ImpalePhase = IMPALE_PHASE_TARGET;
+ Initialize();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
me->RemoveAura(SPELL_SUBMERGE);
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
index 10d34be46b6..f8c5c63cf91 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
@@ -54,11 +54,22 @@ public:
{
boss_hadronoxAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
fMaxDistance = 50.0f;
bFirstTime = true;
}
+ void Initialize()
+ {
+ uiAcidTimer = urand(10 * IN_MILLISECONDS, 14 * IN_MILLISECONDS);
+ uiLeechTimer = urand(3 * IN_MILLISECONDS, 9 * IN_MILLISECONDS);
+ uiPierceTimer = urand(1 * IN_MILLISECONDS, 3 * IN_MILLISECONDS);
+ uiGrabTimer = urand(15 * IN_MILLISECONDS, 19 * IN_MILLISECONDS);
+ uiDoorsTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS);
+ uiCheckDistanceTimer = 2 * IN_MILLISECONDS;
+ }
+
InstanceScript* instance;
uint32 uiAcidTimer;
@@ -77,12 +88,7 @@ public:
me->SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, 9.0f);
me->SetFloatValue(UNIT_FIELD_COMBATREACH, 9.0f);
- uiAcidTimer = urand(10*IN_MILLISECONDS, 14*IN_MILLISECONDS);
- uiLeechTimer = urand(3*IN_MILLISECONDS, 9*IN_MILLISECONDS);
- uiPierceTimer = urand(1*IN_MILLISECONDS, 3*IN_MILLISECONDS);
- uiGrabTimer = urand(15*IN_MILLISECONDS, 19*IN_MILLISECONDS);
- uiDoorsTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS);
- uiCheckDistanceTimer = 2*IN_MILLISECONDS;
+ Initialize();
if (instance->GetBossState(DATA_HADRONOX) != DONE && !bFirstTime)
instance->SetBossState(DATA_HADRONOX, FAIL);
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
index 4c3ca322574..77ced6acef1 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
@@ -130,14 +130,22 @@ public:
struct boss_sartharionAI : public BossAI
{
- boss_sartharionAI(Creature* creature) : BossAI(creature, DATA_SARTHARION) { }
+ boss_sartharionAI(Creature* creature) : BossAI(creature, DATA_SARTHARION)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- _isBerserk = false;
+ _isBerserk = false;
_isSoftEnraged = false;
_isHardEnraged = false;
- drakeCount = 0;
+ drakeCount = 0;
+ }
+
+ void Reset() override
+ {
+ Initialize();
if (me->HasAura(SPELL_TWILIGHT_REVENGE))
me->RemoveAurasDueToSpell(SPELL_TWILIGHT_REVENGE);