Scripts/VoA: Codestyle (#26394)

Co-authored-by: offl <offl@users.noreply.github.com>
(cherry picked from commit 4b4511b070)
This commit is contained in:
offl
2021-04-14 12:47:17 +03:00
committed by Shauren
parent b1f231452b
commit e5b81cafea
4 changed files with 81 additions and 97 deletions

View File

@@ -20,15 +20,14 @@
#include "SpellScript.h"
#include "vault_of_archavon.h"
enum Emotes
enum ArchavonTexts
{
EMOTE_BERSERK = 0,
EMOTE_LEAP = 1
};
enum Spells
enum ArchavonSpells
{
// Spells Archavon
SPELL_ROCK_SHARDS = 58678,
SPELL_ROCK_SHARDS_VISUAL_L = 58689,
SPELL_ROCK_SHARDS_VISUAL_R = 58692,
@@ -40,26 +39,18 @@ enum Spells
SPELL_BERSERK = 47008
};
enum Creatures
enum ArchavonEvents
{
NPC_ARCHAVON_WARDER = 32353
};
enum Events
{
// Archavon
EVENT_ROCK_SHARDS = 1, // 15s cd
EVENT_CHOKING_CLOUD = 2, // 30s cd
EVENT_STOMP = 3, // 45s cd
EVENT_IMPALE = 4,
EVENT_BERSERK = 5, // 300s cd
EVENT_ROCK_SHARDS = 1, // 15s cd
EVENT_CHOKING_CLOUD, // 30s cd
EVENT_STOMP, // 45s cd
EVENT_IMPALE,
EVENT_BERSERK // 300s cd
};
struct boss_archavon : public BossAI
{
boss_archavon(Creature* creature) : BossAI(creature, DATA_ARCHAVON)
{
}
boss_archavon(Creature* creature) : BossAI(creature, DATA_ARCHAVON) { }
void JustEngagedWith(Unit* who) override
{
@@ -94,7 +85,7 @@ struct boss_archavon : public BossAI
case EVENT_CHOKING_CLOUD:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, -10.0f, true))
{
DoCast(target, SPELL_CRUSHING_LEAP, true); //10y~80y, ignore range
DoCast(target, SPELL_CRUSHING_LEAP, true); // 10y~80y, ignore range
Talk(EMOTE_LEAP, target);
}
events.ScheduleEvent(EVENT_CHOKING_CLOUD, 30s);

View File

@@ -22,7 +22,14 @@
#include "SpellAuras.h"
#include "vault_of_archavon.h"
enum Spells
enum EmalonTexts
{
EMOTE_OVERCHARGE = 0,
EMOTE_MINION_RESPAWN = 1,
EMOTE_BERSERK = 2
};
enum EmalonSpells
{
SPELL_OVERCHARGE = 64218, // Cast every 45 sec on a random Tempest Minion
SPELL_BERSERK = 26662,
@@ -34,29 +41,18 @@ enum Spells
SPELL_LIGHTNING_NOVA = 64216
};
enum Emotes
enum EmalonEvents
{
EMOTE_OVERCHARGE = 0,
EMOTE_MINION_RESPAWN = 1,
EMOTE_BERSERK = 2
EVENT_CHAIN_LIGHTNING = 1,
EVENT_LIGHTNING_NOVA,
EVENT_OVERCHARGE,
EVENT_BERSERK,
EVENT_SHOCK
};
enum Events
{
EVENT_CHAIN_LIGHTNING = 1,
EVENT_LIGHTNING_NOVA = 2,
EVENT_OVERCHARGE = 3,
EVENT_BERSERK = 4,
EVENT_SHOCK = 5,
};
enum Npcs
{
NPC_TEMPEST_MINION = 33998
};
enum Misc
enum EmalonMisc
{
NPC_TEMPEST_MINION = 33998,
MAX_TEMPEST_MINIONS = 4
};
@@ -70,9 +66,7 @@ Position const TempestMinions[MAX_TEMPEST_MINIONS] =
struct boss_emalon : public BossAI
{
boss_emalon(Creature* creature) : BossAI(creature, DATA_EMALON)
{
}
boss_emalon(Creature* creature) : BossAI(creature, DATA_EMALON) { }
void Reset() override
{
@@ -82,15 +76,6 @@ struct boss_emalon : public BossAI
me->SummonCreature(NPC_TEMPEST_MINION, TempestMinions[i], TEMPSUMMON_CORPSE_DESPAWN);
}
void JustSummoned(Creature* summoned) override
{
BossAI::JustSummoned(summoned);
// AttackStart has nullptr-check for victim
if (summoned->AI())
summoned->AI()->AttackStart(me->GetVictim());
}
void JustEngagedWith(Unit* who) override
{
if (!summons.empty())
@@ -111,6 +96,15 @@ struct boss_emalon : public BossAI
BossAI::JustEngagedWith(who);
}
void JustSummoned(Creature* summoned) override
{
BossAI::JustSummoned(summoned);
// AttackStart has nullptr-check for victim
if (summoned->AI())
summoned->AI()->AttackStart(me->GetVictim());
}
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
@@ -168,23 +162,35 @@ struct npc_tempest_minion : public ScriptedAI
npc_tempest_minion(Creature* creature) : ScriptedAI(creature)
{
Initialize();
instance = creature->GetInstanceScript();
_instance = creature->GetInstanceScript();
}
void Initialize()
{
OverchargedTimer = 0;
_overchargedTimer = 0;
}
void Reset() override
{
events.Reset();
_events.Reset();
Initialize();
}
void JustEngagedWith(Unit* who) override
{
DoZoneInCombat();
_events.ScheduleEvent(EVENT_SHOCK, 20s);
if (Creature* pEmalon = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_EMALON)))
{
if (!pEmalon->GetVictim() && pEmalon->AI())
pEmalon->AI()->AttackStart(who);
}
}
void JustDied(Unit* /*killer*/) override
{
if (Creature* emalon = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EMALON)))
if (Creature* emalon = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_EMALON)))
{
if (emalon->IsAlive())
{
@@ -194,25 +200,12 @@ struct npc_tempest_minion : public ScriptedAI
}
}
void JustEngagedWith(Unit* who) override
{
DoZoneInCombat();
events.ScheduleEvent(EVENT_SHOCK, 20s);
if (Creature* pEmalon = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EMALON)))
{
if (!pEmalon->GetVictim() && pEmalon->AI())
pEmalon->AI()->AttackStart(who);
}
}
void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
return;
events.Update(diff);
_events.Update(diff);
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
@@ -221,13 +214,13 @@ struct npc_tempest_minion : public ScriptedAI
{
if (overchargedAura->GetStackAmount() < 10)
{
if (OverchargedTimer <= diff)
if (_overchargedTimer <= diff)
{
DoCast(me, SPELL_OVERCHARGED);
OverchargedTimer = 2000; // ms
_overchargedTimer = 2000; // ms
}
else
OverchargedTimer -= diff;
_overchargedTimer -= diff;
}
else
{
@@ -240,19 +233,19 @@ struct npc_tempest_minion : public ScriptedAI
}
}
if (events.ExecuteEvent() == EVENT_SHOCK)
if (_events.ExecuteEvent() == EVENT_SHOCK)
{
DoCastVictim(SPELL_SHOCK);
events.ScheduleEvent(EVENT_SHOCK, 20s);
_events.ScheduleEvent(EVENT_SHOCK, 20s);
}
DoMeleeAttackIfReady();
}
private:
InstanceScript* instance;
EventMap events;
uint32 OverchargedTimer;
InstanceScript* _instance;
EventMap _events;
uint32 _overchargedTimer;
};
void AddSC_boss_emalon()

View File

@@ -20,18 +20,8 @@
#include "SpellScript.h"
#include "vault_of_archavon.h"
enum Events
enum KoralonSpells
{
// Koralon
EVENT_BURNING_BREATH = 1,
EVENT_BURNING_FURY = 2,
EVENT_FLAME_CINDER = 3,
EVENT_METEOR_FISTS = 4
};
enum Spells
{
// Spells Koralon
SPELL_BURNING_BREATH = 66665,
SPELL_BURNING_FURY = 66721,
SPELL_FLAME_CINDER_A = 66684,
@@ -39,15 +29,21 @@ enum Spells
SPELL_METEOR_FISTS = 66725,
SPELL_METEOR_FISTS_DAMAGE = 66765,
// Spells Flame Warder
// Flame Warder
SPELL_FW_METEOR_FISTS_DAMAGE = 66809
};
enum KoralonEvents
{
EVENT_BURNING_BREATH = 1,
EVENT_BURNING_FURY,
EVENT_FLAME_CINDER,
EVENT_METEOR_FISTS
};
struct boss_koralon : public BossAI
{
boss_koralon(Creature* creature) : BossAI(creature, DATA_KORALON)
{
}
boss_koralon(Creature* creature) : BossAI(creature, DATA_KORALON) { }
void JustEngagedWith(Unit* who) override
{
@@ -103,6 +99,7 @@ struct boss_koralon : public BossAI
}
};
// 66725, 68161 - SPELL_METEOR_FISTS
class spell_koralon_meteor_fists : public AuraScript
{
PrepareAuraScript(spell_koralon_meteor_fists);
@@ -124,6 +121,8 @@ class spell_koralon_meteor_fists : public AuraScript
}
};
// 66765, 67333 - SPELL_METEOR_FISTS_DAMAGE
// 66809, 67331 - SPELL_FW_METEOR_FISTS_DAMAGE
class spell_koralon_meteor_fists_damage : public SpellScript
{
PrepareSpellScript(spell_koralon_meteor_fists_damage);
@@ -156,6 +155,7 @@ private:
uint8 _chainTargets;
};
// 66808, 68160 - Meteor Fists
class spell_flame_warder_meteor_fists : public AuraScript
{
PrepareAuraScript(spell_flame_warder_meteor_fists);

View File

@@ -21,7 +21,7 @@
#include "SpellScript.h"
#include "vault_of_archavon.h"
enum Spells
enum ToravonSpells
{
// Toravon
SPELL_FREEZING_GROUND = 72090,
@@ -38,11 +38,11 @@ enum Spells
FROZEN_ORB_STALKER_AURA = 72094
};
enum Events
enum ToravonEvents
{
EVENT_FREEZING_GROUND = 1,
EVENT_FROZEN_ORB = 2,
EVENT_WHITEOUT = 3
EVENT_FREEZING_GROUND = 1,
EVENT_FROZEN_ORB,
EVENT_WHITEOUT
};
struct boss_toravon : public BossAI