diff options
| author | jackpoz <giacomopoz@gmail.com> | 2014-09-03 21:44:45 +0200 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2014-09-03 22:11:41 +0200 |
| commit | 53d3becf3c5bbefa0d078379decbbc76b2840996 (patch) | |
| tree | 83bfedf7f9fa34c6f5508bc5fd9cc2f21f7cbb20 /src/server/scripts/EasternKingdoms/ZulGurub | |
| parent | beaf778a3024c6d13d7c1708ce27c6c48568c709 (diff) | |
Core/Misc: Refactor scripts to fix static analysis warnings
Diffstat (limited to 'src/server/scripts/EasternKingdoms/ZulGurub')
8 files changed, 152 insertions, 48 deletions
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp index 4ac34615498..0d780da6560 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp @@ -92,15 +92,25 @@ class boss_arlokk : public CreatureScript struct boss_arlokkAI : public BossAI { - boss_arlokkAI(Creature* creature) : BossAI(creature, DATA_ARLOKK) { } + boss_arlokkAI(Creature* creature) : BossAI(creature, DATA_ARLOKK) + { + Initialize(); + memset(_triggersSideAGUID, 0, sizeof(_triggersSideAGUID)); + memset(_triggersSideBGUID, 0, sizeof(_triggersSideBGUID)); + } + + void Initialize() + { + _summonCountA = 0; + _summonCountB = 0; + } void Reset() override { if (events.IsInPhase(PHASE_TWO)) me->HandleStatModifier(UNIT_MOD_DAMAGE_MAINHAND, TOTAL_PCT, 35.0f, false); // hack _Reset(); - _summonCountA = 0; - _summonCountB = 0; + Initialize(); me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_DAGGER)); me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, uint32(WEAPON_DAGGER)); me->SetWalk(false); @@ -332,7 +342,10 @@ class npc_zulian_prowler : public CreatureScript struct npc_zulian_prowlerAI : public ScriptedAI { - npc_zulian_prowlerAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { } + npc_zulian_prowlerAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) + { + _sideData = 0; + } void Reset() override { diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp index 7a16f670afe..f31477e8e35 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp @@ -212,13 +212,21 @@ class npc_batrider : public CreatureScript struct npc_batriderAI : public ScriptedAI { - npc_batriderAI(Creature* creature) : ScriptedAI(creature) { } + npc_batriderAI(Creature* creature) : ScriptedAI(creature) + { + Initialize(); + } + + void Initialize() + { + Bomb_Timer = 2000; + } uint32 Bomb_Timer; void Reset() override { - Bomb_Timer = 2000; + Initialize(); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); } diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp index f766a795658..d1c9579c027 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp @@ -175,15 +175,21 @@ class npc_healing_ward : public CreatureScript { npc_healing_wardAI(Creature* creature) : ScriptedAI(creature) { + Initialize(); instance = creature->GetInstanceScript(); } + void Initialize() + { + Heal_Timer = 2000; + } + uint32 Heal_Timer; InstanceScript* instance; void Reset() override { - Heal_Timer = 2000; + Initialize(); } void EnterCombat(Unit* /*who*/) override { } @@ -216,13 +222,21 @@ class npc_shade_of_jindo : public CreatureScript struct npc_shade_of_jindoAI : public ScriptedAI { - npc_shade_of_jindoAI(Creature* creature) : ScriptedAI(creature) { } + npc_shade_of_jindoAI(Creature* creature) : ScriptedAI(creature) + { + Initialize(); + } + + void Initialize() + { + ShadowShock_Timer = 1000; + } uint32 ShadowShock_Timer; void Reset() override { - ShadowShock_Timer = 1000; + Initialize(); DoCast(me, SPELL_INVISIBLE, true); } diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp index 72ba9db3637..6244d2b72b1 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp @@ -112,14 +112,23 @@ class boss_mandokir : public CreatureScript struct boss_mandokirAI : public BossAI { - boss_mandokirAI(Creature* creature) : BossAI(creature, DATA_MANDOKIR) { } + boss_mandokirAI(Creature* creature) : BossAI(creature, DATA_MANDOKIR) + { + Initialize(); + memset(chainedSpirtGUIDs, 0, sizeof(chainedSpirtGUIDs)); + } + + void Initialize() + { + killCount = 0; + } void Reset() override { if (me->GetPositionZ() > 140.0f) { _Reset(); - killCount = 0; + Initialize(); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); events.ScheduleEvent(EVENT_CHECK_START, 1000); if (Creature* speaker = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_VILEBRANCH_SPEAKER))) @@ -300,13 +309,21 @@ class npc_ohgan : public CreatureScript struct npc_ohganAI : public ScriptedAI { - npc_ohganAI(Creature* creature) : ScriptedAI(creature), instance(creature->GetInstanceScript()) { } + npc_ohganAI(Creature* creature) : ScriptedAI(creature), instance(creature->GetInstanceScript()) + { + Initialize(); + } - void Reset() override + void Initialize() { SunderArmor_Timer = 5000; } + void Reset() override + { + Initialize(); + } + void EnterCombat(Unit* /*who*/) override { } void JustDied(Unit* /*killer*/) override @@ -353,14 +370,22 @@ class npc_vilebranch_speaker : public CreatureScript struct npc_vilebranch_speakerAI : public ScriptedAI { - npc_vilebranch_speakerAI(Creature* creature) : ScriptedAI(creature), instance(creature->GetInstanceScript()) { } + npc_vilebranch_speakerAI(Creature* creature) : ScriptedAI(creature), instance(creature->GetInstanceScript()) + { + Initialize(); + } - void Reset() override + void Initialize() { demoralizing_Shout_Timer = urand(2000, 4000); cleave_Timer = urand(5000, 8000); } + void Reset() override + { + Initialize(); + } + void EnterCombat(Unit* /*who*/) override { } void JustDied(Unit* /*killer*/) override diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp index bbc1fb6c90e..8020bced16b 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp @@ -217,13 +217,21 @@ class npc_spawn_of_marli : public CreatureScript struct npc_spawn_of_marliAI : public ScriptedAI { - npc_spawn_of_marliAI(Creature* creature) : ScriptedAI(creature) { } + npc_spawn_of_marliAI(Creature* creature) : ScriptedAI(creature) + { + Initialize(); + } + + void Initialize() + { + LevelUp_Timer = 3000; + } uint32 LevelUp_Timer; void Reset() override { - LevelUp_Timer = 3000; + Initialize(); } void EnterCombat(Unit* /*who*/) override { } diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp index 015a2840a9c..4f907098ff4 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp @@ -45,7 +45,22 @@ class boss_renataki : public CreatureScript struct boss_renatakiAI : public BossAI { - boss_renatakiAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) { } + boss_renatakiAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) + { + Initialize(); + } + + void Initialize() + { + Invisible_Timer = urand(8000, 18000); + Ambush_Timer = 3000; + Visible_Timer = 4000; + Aggro_Timer = urand(15000, 25000); + ThousandBlades_Timer = urand(4000, 8000); + + Invisible = false; + Ambushed = false; + } uint32 Invisible_Timer; uint32 Ambush_Timer; @@ -59,14 +74,7 @@ class boss_renataki : public CreatureScript void Reset() override { _Reset(); - Invisible_Timer = urand(8000, 18000); - Ambush_Timer = 3000; - Visible_Timer = 4000; - Aggro_Timer = urand(15000, 25000); - ThousandBlades_Timer = urand(4000, 8000); - - Invisible = false; - Ambushed = false; + Initialize(); } void JustDied(Unit* /*killer*/) override diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp index 997818aced2..57a286c1e58 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp @@ -83,7 +83,16 @@ class boss_thekal : public CreatureScript struct boss_thekalAI : public BossAI { - boss_thekalAI(Creature* creature) : BossAI(creature, DATA_THEKAL) { } + boss_thekalAI(Creature* creature) : BossAI(creature, DATA_THEKAL) + { + Initialize(); + } + + void Initialize() + { + Enraged = false; + WasDead = false; + } bool Enraged; bool WasDead; @@ -93,8 +102,7 @@ class boss_thekal : public CreatureScript if (events.IsInPhase(PHASE_TWO)) me->HandleStatModifier(UNIT_MOD_DAMAGE_MAINHAND, TOTAL_PCT, 35.0f, false); // hack _Reset(); - Enraged = false; - WasDead = false; + Initialize(); } void JustDied(Unit* /*killer*/) override @@ -264,9 +272,21 @@ class npc_zealot_lorkhan : public CreatureScript { npc_zealot_lorkhanAI(Creature* creature) : ScriptedAI(creature) { + Initialize(); instance = creature->GetInstanceScript(); } + void Initialize() + { + Shield_Timer = 1000; + BloodLust_Timer = 16000; + GreaterHeal_Timer = 32000; + Disarm_Timer = 6000; + Check_Timer = 10000; + + FakeDeath = false; + } + uint32 Shield_Timer; uint32 BloodLust_Timer; uint32 GreaterHeal_Timer; @@ -279,13 +299,7 @@ class npc_zealot_lorkhan : public CreatureScript void Reset() override { - Shield_Timer = 1000; - BloodLust_Timer = 16000; - GreaterHeal_Timer = 32000; - Disarm_Timer = 6000; - Check_Timer = 10000; - - FakeDeath = false; + Initialize(); instance->SetBossState(DATA_LORKHAN, NOT_STARTED); @@ -412,9 +426,22 @@ class npc_zealot_zath : public CreatureScript { npc_zealot_zathAI(Creature* creature) : ScriptedAI(creature) { + Initialize(); instance = creature->GetInstanceScript(); } + void Initialize() + { + SweepingStrikes_Timer = 13000; + SinisterStrike_Timer = 8000; + Gouge_Timer = 25000; + Kick_Timer = 18000; + Blind_Timer = 5000; + Check_Timer = 10000; + + FakeDeath = false; + } + uint32 SweepingStrikes_Timer; uint32 SinisterStrike_Timer; uint32 Gouge_Timer; @@ -428,14 +455,7 @@ class npc_zealot_zath : public CreatureScript void Reset() override { - SweepingStrikes_Timer = 13000; - SinisterStrike_Timer = 8000; - Gouge_Timer = 25000; - Kick_Timer = 18000; - Blind_Timer = 5000; - Check_Timer = 10000; - - FakeDeath = false; + Initialize(); instance->SetBossState(DATA_ZATH, NOT_STARTED); diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp index 7047d22c970..c7b8a16fae1 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp @@ -90,7 +90,17 @@ class boss_venoxis : public CreatureScript struct boss_venoxisAI : public BossAI { - boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_VENOXIS) { } + boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_VENOXIS) + { + Initialize(); + } + + void Initialize() + { + _inMeleeRange = 0; + _transformed = false; + _frenzied = false; + } void Reset() override { @@ -99,9 +109,7 @@ class boss_venoxis : public CreatureScript me->RemoveAllAuras(); me->SetReactState(REACT_PASSIVE); // set some internally used variables to their defaults - _inMeleeRange = 0; - _transformed = false; - _frenzied = false; + Initialize(); events.SetPhase(PHASE_ONE); } |
