mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
Scripts/VoA: Codestyle (#26394)
Co-authored-by: offl <offl@users.noreply.github.com>
(cherry picked from commit 4b4511b070)
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user