refactor(Core/AI): Some more refactoring prep for Comat Threat system… (#15026)

Co-authored-by: Treeston <14020072+Treeston@users.noreply.github.com>
This commit is contained in:
Kitzunu
2023-02-13 21:39:40 +01:00
committed by GitHub
parent fdfa88093e
commit bd6034e1a9
391 changed files with 873 additions and 846 deletions

View File

@@ -78,7 +78,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
Talk(SAY_AGGRO);

View File

@@ -78,7 +78,7 @@ public:
me->SetControlled(false, UNIT_STATE_ROOT);
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_SPELL_INHIBIT_MAGIC, 0);
events.ScheduleEvent(EVENT_SPELL_ATTRACT_MAGIC, 28000);

View File

@@ -88,7 +88,7 @@ public:
}
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
Talk(SAY_AGGRO);
@@ -190,7 +190,7 @@ public:
void Reset() override { }
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_DOUBLE_BREATH, urand(6000, 9000));
}

View File

@@ -62,7 +62,7 @@ public:
VoidBlastCounter = 0;
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
me->SetInCombatWithZone();

View File

@@ -83,7 +83,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -229,7 +229,7 @@ public:
me->RemoveAurasDueToSpell(SPELL_BANISH_SELF);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(EVENT_SPELL_SCREECH, 14000);

View File

@@ -87,7 +87,7 @@ public:
}
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
if (isBanished)
return;

View File

@@ -82,7 +82,7 @@ public:
instance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, DONE);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SPELL_INCITE, 20000);

View File

@@ -136,7 +136,7 @@ public:
instance->SetData(DATA_GRANDMASTERVORPILEVENT, DONE);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
summonPortals();

View File

@@ -76,7 +76,7 @@ public:
instance->SetData(DATA_MURMUREVENT, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SPELL_SONIC_BOOM, 30000);
events.ScheduleEvent(EVENT_SPELL_MURMURS_TOUCH, urand(8000, 20000));

View File

@@ -92,9 +92,9 @@ public:
BossAI::Reset();
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
me->CastSpell(me, SPELL_ACIDIC_WOUND, true);

View File

@@ -321,10 +321,10 @@ public:
events.ScheduleEvent(EVENT_SPELL_FRENZY, 40000);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
summons.DespawnAll();
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
ScheduleNormalEvents(1);
events.ScheduleEvent(EVENT_SPELL_BERSERK, 25 * MINUTE * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_SUMMON_MINIONS, 1000);

View File

@@ -87,9 +87,9 @@ public:
BossAI::Reset();
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
me->CastSpell(me, SPELL_SABER_LASH_AURA, true);

View File

@@ -183,9 +183,9 @@ public:
}
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
}
void JustSummoned(Creature* summon) override
@@ -327,7 +327,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SUFF_SAY_FREED);
me->CastSpell(me, SPELL_AURA_OF_SUFFERING, true);
@@ -437,7 +437,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(DESI_SAY_FREED);
me->CastSpell(me, SPELL_AURA_OF_DESIRE, true);
@@ -529,7 +529,7 @@ public:
Unit::Kill(summoner, summoner);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(ANGER_SAY_FREED);
me->CastSpell(me, SPELL_AURA_OF_ANGER, true);

View File

@@ -158,9 +158,9 @@ public:
}
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
}
void DoAction(int32 param) override
@@ -332,7 +332,7 @@ public:
shade->AI()->DoAction(ACTION_AKAMA_DIED);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SPELL_CHAIN_LIGHTNING, 2000);
events.ScheduleEvent(EVENT_SPELL_DESTRUCTIVE_POISON, 5000);

View File

@@ -67,9 +67,9 @@ public:
BossAI::Reset();
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
SchedulePhase(false);
events.ScheduleEvent(EVENT_SPELL_BERSERK, 900000);

View File

@@ -107,9 +107,9 @@ public:
}
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SPELL_INCINERATE, 24000);
events.ScheduleEvent(EVENT_SPELL_DOOM_BLOSSOM, 10000);
events.ScheduleEvent(EVENT_SPELL_CRUSHING_SHADOWS, 17000);

View File

@@ -86,9 +86,9 @@ public:
Talk(SAY_DEATH);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SPELL_BERSERK, 480000);
events.ScheduleEvent(EVENT_YELL, urand(25000, 100000));

View File

@@ -271,7 +271,7 @@ struct boss_illidari_council_memberAI : public ScriptedAI
council->GetAI()->DoAction(ACTION_END_ENCOUNTER);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
if (Creature* council = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDARI_COUNCIL)))
council->GetAI()->DoAction(ACTION_START_ENCOUNTER);
@@ -305,9 +305,9 @@ public:
return ObjectAccessor::GetCreature(*me, instance->GetGuidData(RAND(NPC_GATHIOS_THE_SHATTERER, NPC_HIGH_NETHERMANCER_ZEREVOR)));
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
boss_illidari_council_memberAI::EnterCombat(who);
boss_illidari_council_memberAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SPELL_BLESSING, 10000);
events.ScheduleEvent(EVENT_SPELL_AURA, 0);
events.ScheduleEvent(EVENT_SPELL_SEAL, 2000);
@@ -386,9 +386,9 @@ public:
me->GetMotionMaster()->MoveChase(who, 20.0f);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
boss_illidari_council_memberAI::EnterCombat(who);
boss_illidari_council_memberAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SPELL_FLAMESTRIKE, 25000);
events.ScheduleEvent(EVENT_SPELL_BLIZZARD, 5000);
events.ScheduleEvent(EVENT_SPELL_ARCANE_BOLT, 15000);
@@ -459,9 +459,9 @@ public:
me->GetMotionMaster()->MoveChase(who, 20.0f);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
boss_illidari_council_memberAI::EnterCombat(who);
boss_illidari_council_memberAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SPELL_REFLECTIVE_SHIELD, 10000);
events.ScheduleEvent(EVENT_SPELL_CIRCLE_OF_HEALING, 20000);
events.ScheduleEvent(EVENT_SPELL_DIVINE_WRATH, 5000);
@@ -517,10 +517,10 @@ public:
{
boss_veras_darkshadowAI(Creature* creature) : boss_illidari_council_memberAI(creature) { }
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
me->SetCanDualWield(true);
boss_illidari_council_memberAI::EnterCombat(who);
boss_illidari_council_memberAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SPELL_VANISH, 10000);
events.ScheduleEvent(EVENT_SPELL_ENRAGE, 900000);
}

View File

@@ -127,9 +127,9 @@ public:
gobject->SetGoState(GO_STATE_ACTIVE);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
me->CallForHelp(10.0f);

View File

@@ -168,9 +168,9 @@ public:
}
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SPELL_ENRAGE, 600000);

View File

@@ -138,9 +138,9 @@ public:
BossAI::JustDied(killer);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
me->CastSpell(me, SPELL_REMOVE_TAINTED_CORES, true);

View File

@@ -172,9 +172,9 @@ public:
BossAI::JustDied(killer);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
}

View File

@@ -116,7 +116,7 @@ public:
me->Attack(who, true);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SPELL_WHIRL, 18000);
events.ScheduleEvent(EVENT_SPELL_SPOUT, 45000);

View File

@@ -105,9 +105,9 @@ public:
BossAI::JustDied(killer);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SPELL_TIDAL_WAVE, 10000);

View File

@@ -129,7 +129,7 @@ public:
events.RescheduleEvent(EVENT_SPELL_SUMMON_COLDWAVE, 5000);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
DoZoneInCombat();
events.Reset();

View File

@@ -75,7 +75,7 @@ public:
Talk(SAY_SLAY);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SPELL_LIGHTNING, 15000);

View File

@@ -82,7 +82,7 @@ public:
Talk(SAY_SLAY);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SPELL_SHRINK, 20000);

View File

@@ -68,7 +68,7 @@ public:
instance->SetData(TYPE_WARLORD_KALITHRESH, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SPELL_REFLECTION, 10000);

View File

@@ -59,13 +59,13 @@ struct boss_ghazan : public BossAI
BossAI::Reset();
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
events.ScheduleEvent(EVENT_ACID_BREATH, 3s);
events.ScheduleEvent(EVENT_ACID_SPIT, 1s);
events.ScheduleEvent(EVENT_TAIL_SWEEP, DUNGEON_MODE<Milliseconds>(5900ms, 10s));
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
}
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*type*/, SpellSchoolMask /*school*/) override

View File

@@ -70,9 +70,9 @@ struct boss_hungarfen : public BossAI
DoCastAOE(SPELL_DESPAWN_MUSHROOMS, true);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
_scheduler.Schedule(IsHeroic() ? randtime(2400ms, 3600ms) : 10s, [this](TaskContext context)
{

View File

@@ -64,7 +64,7 @@ struct boss_the_black_stalker : public BossAI
{
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
events.ScheduleEvent(EVENT_LEVITATE, urand(8000, 12000));
events.ScheduleEvent(EVENT_SPELL_CHAIN, 6000);
@@ -73,7 +73,7 @@ struct boss_the_black_stalker : public BossAI
if (IsHeroic())
events.ScheduleEvent(EVENT_SPELL_SPORES, urand(10000, 15000));
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
}
void JustSummoned(Creature* summon) override

View File

@@ -79,9 +79,9 @@ struct boss_gruul : public BossAI
_caveInTimer = 29000;
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_GROWTH, 30000);

View File

@@ -121,9 +121,9 @@ struct boss_high_king_maulgar : public BossAI
}
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_ARCING_SMASH, 6s);
@@ -209,7 +209,7 @@ struct boss_olm_the_summoner : public ScriptedAI
me->GetMotionMaster()->MoveChase(who, 25.0f);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
me->SetInCombatWithZone();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);
@@ -275,7 +275,7 @@ struct boss_kiggler_the_crazed : public ScriptedAI
instance->SetBossState(DATA_MAULGAR, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
me->SetInCombatWithZone();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);
@@ -342,7 +342,7 @@ struct boss_blindeye_the_seer : public ScriptedAI
instance->SetBossState(DATA_MAULGAR, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
me->SetInCombatWithZone();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);
@@ -412,7 +412,7 @@ struct boss_krosh_firehand : public ScriptedAI
me->GetMotionMaster()->MoveChase(who, 25.0f);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
me->SetInCombatWithZone();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);

View File

@@ -43,10 +43,10 @@ struct boss_broggok : public BossAI
me->SetImmuneToAll(true);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
_JustEngagedWith();
}
void JustSummoned(Creature* summoned) override

View File

@@ -99,7 +99,7 @@ public:
instance->SetData(DATA_KELIDAN, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SPELL_VOLLEY, 1000);
events.ScheduleEvent(EVENT_SPELL_CORRUPTION, 5000);
@@ -307,7 +307,7 @@ public:
return nullptr;
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
if (Creature* kelidan = GetKelidan())
kelidan->AI()->DoAction(ACTION_CHANNELER_ENGAGED);

View File

@@ -59,7 +59,7 @@ public:
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR2), true);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SPELL_EXPLODING, 6000);

View File

@@ -65,10 +65,10 @@ public:
_targetGUID.Clear();
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
Talk(SAY_AGGRO);
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SUMMON1, 10000);
events.ScheduleEvent(EVENT_SUMMON2, 25000);

View File

@@ -176,7 +176,7 @@ public:
me->DespawnOrUnsummon(1);
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_CHANGE_POS, 0);
events.ScheduleEvent(EVENT_SPELL_FIREBALL, 5000);
@@ -286,7 +286,7 @@ public:
me->DespawnOrUnsummon(1);
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_AGGRO_TALK, 5000);
events.ScheduleEvent(EVENT_SPELL_REVENGE, 4000);

View File

@@ -64,10 +64,10 @@ public:
BossAI::Reset();
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
Talk(SAY_AGGRO);
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_MORTAL_WOUND, 5000);
events.ScheduleEvent(EVENT_SURGE, 3000);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);

View File

@@ -134,10 +134,10 @@ public:
void MoveInLineOfSight(Unit* /*who*/) override { }
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
events2.Reset();
_EnterCombat();
_JustEngagedWith();
events.ScheduleEvent(EVENT_EMOTE1, 0);
events.ScheduleEvent(EVENT_EMOTE2, 60000);
events.ScheduleEvent(EVENT_EMOTE3, 120000);

View File

@@ -168,7 +168,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
}

View File

@@ -92,7 +92,7 @@ public:
return summons.GetCreatureWithEntry(NPC_RIGHT_HEAD);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
me->SummonCreature(NPC_LEFT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
me->SummonCreature(NPC_RIGHT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
@@ -104,7 +104,7 @@ public:
events2.ScheduleEvent(aggroYell, 3000);
}
_EnterCombat();
_JustEngagedWith();
events.ScheduleEvent(EVENT_SPELL_FEAR, 8000);
events.ScheduleEvent(EVENT_SPELL_BURNING_MAUL, 25000);

View File

@@ -83,10 +83,10 @@ public:
executioner->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
_JustEngagedWith();
events.ScheduleEvent(EVENT_CHECK_ROOM, 5000);
events.ScheduleEvent(EVENT_SUMMON_ADDS, 30000);

View File

@@ -117,9 +117,9 @@ public:
me->SetReactState(REACT_AGGRESSIVE);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SWITCH_PLATFORM, 0);
}

View File

@@ -102,10 +102,10 @@ public:
BossAI::JustDied(killer);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
Talk(SAY_AGGRO);
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
me->CallForHelp(105.0f);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);

View File

@@ -263,9 +263,9 @@ public:
}
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
}
void KilledUnit(Unit* victim) override

View File

@@ -70,10 +70,10 @@ public:
BossAI::JustDied(killer);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
Talk(SAY_AGGRO);
BossAI::EnterCombat(who);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SPELL_POUNDING, 15000);
events.ScheduleEvent(EVENT_SPELL_ARCANEORB, 3000);

View File

@@ -56,9 +56,9 @@ public:
Talk(SAY_DEATH);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
events.ScheduleEvent(EVENT_STREAM_OF_MACHINE_FLUID, 10000);
events.ScheduleEvent(EVENT_SAW_BLADE, 20000);
events.ScheduleEvent(EVENT_SHADOW_POWER, 30000);

View File

@@ -51,9 +51,9 @@ public:
{
boss_gatewatcher_iron_handAI(Creature* creature) : BossAI(creature, DATA_GATEWATCHER_IRON_HAND) { }
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
events.ScheduleEvent(EVENT_STREAM_OF_MACHINE_FLUID, 15000);
events.ScheduleEvent(EVENT_JACKHAMMER, 35000);
events.ScheduleEvent(EVENT_SHADOW_POWER, 25000);

View File

@@ -63,9 +63,9 @@ public:
{
boss_mechano_lord_capacitusAI(Creature* creature) : BossAI(creature, DATA_MECHANOLORD_CAPACITUS) { }
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(YELL_AGGRO);
events.ScheduleEvent(EVENT_HEADCRACK, 6000);
events.ScheduleEvent(EVENT_SUMMON_NETHER_CHARGE, 10000);

View File

@@ -52,9 +52,9 @@ public:
{
boss_nethermancer_sepethreaAI(Creature* creature) : BossAI(creature, DATA_NETHERMANCER_SEPRETHREA) { }
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
events.ScheduleEvent(EVENT_FROST_ATTACK, 6000);
events.ScheduleEvent(EVENT_ARCANE_BLAST, 14000);
events.ScheduleEvent(EVENT_DRAGONS_BREATH, 18000);
@@ -158,7 +158,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_ALL, true);
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_SPELL_FIRE_TAIL, 500);
events.ScheduleEvent(EVENT_SPELL_INFERNO, urand(10000, 20000));

View File

@@ -78,9 +78,9 @@ public:
Talk(SAY_APPEAR);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
events.ScheduleEvent(EVENT_SUMMON, 30000);
events.ScheduleEvent(EVENT_MANA_TAP, 12000);
events.ScheduleEvent(EVENT_ARCANE_TORRENT, 16000);

View File

@@ -119,7 +119,7 @@ public:
Talk(SAY_DEATH);
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_MILL_CHECK_HEALTH, 1000);
events.ScheduleEvent(EVENT_MILL_PYROBLAST, 30000);
@@ -354,7 +354,7 @@ public:
void MoveInLineOfSight(Unit*) override { }
void AttackStart(Unit*) override { }
void EnterCombat(Unit*) override { }
void JustEngagedWith(Unit*) override { }
void JustDied(Unit*) override
{

View File

@@ -77,9 +77,9 @@ struct boss_dalliah_the_doomsayer : public BossAI
}
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(SAY_AGGRO);
if (Creature* soccothrates = instance->GetCreature(DATA_SOCCOTHRATES))

View File

@@ -78,7 +78,7 @@ public:
me->SetImmuneToAll(false);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
me->SetInCombatWithZone();

View File

@@ -110,9 +110,9 @@ public:
}
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
events2.Reset();
events.ScheduleEvent(EVENT_FELFIRE_SHOCK, urand(12000, 14000));
events.ScheduleEvent(EVENT_KNOCK_AWAY, urand(11000, 12000));

View File

@@ -51,9 +51,9 @@ struct boss_zereketh_the_unbound : public BossAI
Talk(SAY_DEATH);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(SAY_AGGRO);
scheduler.Schedule(6s, [this](TaskContext context)

View File

@@ -59,9 +59,9 @@ public:
_Reset();
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_ARCANE_RESONANCE, 20000);
events.ScheduleEvent(EVENT_ARCANE_DEVASTATION, 10000);

View File

@@ -49,9 +49,9 @@ struct boss_high_botanist_freywinn : public BossAI
{
boss_high_botanist_freywinn(Creature* creature) : BossAI(creature, DATA_HIGH_BOTANIST_FREYWINN) { }
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(SAY_AGGRO);
scheduler.Schedule(6s, [this](TaskContext context)

View File

@@ -98,9 +98,9 @@ public:
me->CastSpell(me, _lastTransform, true);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
events.ScheduleEvent(EVENT_ALERGIC_REACTION, 5000);
events.ScheduleEvent(EVENT_TRANSFORM, 30000);

View File

@@ -76,9 +76,9 @@ public:
BossAI::MoveInLineOfSight(who);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SACRIFICE, 6000);
events.ScheduleEvent(EVENT_HELLFIRE, 18000);

View File

@@ -41,9 +41,9 @@ struct boss_warp_splinter : public BossAI
{
boss_warp_splinter(Creature* creature) : BossAI(creature, DATA_WARP_SPLINTER) { }
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_EnterCombat();
_JustEngagedWith();
Talk(SAY_AGGRO);
scheduler.Schedule(8s, [this](TaskContext context)

View File

@@ -86,7 +86,7 @@ public:
Talk(SAY_INTRO);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}

View File

@@ -84,7 +84,7 @@ public:
Talk(SAY_DEATH);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}

View File

@@ -39,7 +39,7 @@ EndContentData */
#include "SpellInfo.h"
#include "SpellScript.h"
// @todo: this import is not necessary for compilation and marked as unused by the IDE
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
// however, for some reasons removing it would cause a damn linking issue
// there is probably some underlying problem with imports which should properly addressed
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
@@ -306,7 +306,7 @@ public:
IntangiblePresence_Timer = 15000;
}
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void MoveInLineOfSight(Unit* who) override
@@ -462,7 +462,7 @@ public:
void Reset() override { }
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void MoveInLineOfSight(Unit* who) override

View File

@@ -261,7 +261,7 @@ public:
void Reset() override { }
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
Talk(SAY_ELF_AGGRO);

View File

@@ -108,7 +108,7 @@ public:
FrostShockTimer = 6000;
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
DoCast(me, SPELL_EARTHBIND_TOTEM, false);
}
@@ -236,7 +236,7 @@ public:
void Reset() override { }
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void MoveInLineOfSight(Unit* who) override
@@ -454,7 +454,7 @@ public:
FrostShockTimer = 6000;
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
DoCast(me, SPELL_KUR_EARTHBIND_TOTEM, false);
}

View File

@@ -313,7 +313,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_CRUSADER_STRIKE, 3000);
_events.ScheduleEvent(EVENT_HAMMER_OF_JUSTICE, 6000);
@@ -415,7 +415,7 @@ public:
me->SetHomePosition(me->GetPosition());
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
AttackStart(who);
_events.ScheduleEvent(EVENT_SPELL_HOLY_SMITE, 1000);
@@ -498,7 +498,7 @@ public:
me->SetHomePosition(me->GetPosition());
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_SPELL_DEMORALIZING_SHOUT, 1000);
_events.ScheduleEvent(EVENT_SPELL_HEROIC_STRIKE, urand(2500, 4000));
@@ -648,7 +648,7 @@ public:
karja->GetAI()->DoAction(RESET_DEATHBLOW_EVENT);
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
combatEvents.ScheduleEvent(EVENT_SPELL_ANTI_MAGIC_SHIELD, 20000);
combatEvents.ScheduleEvent(EVENT_SPELL_BACKLASH, 4000);
@@ -870,13 +870,13 @@ public:
// Engage combat with Socrethar
if (GetCreature(ADYEN_THE_LIGHTBRINGER))
adyen->AI()->EnterCombat(me);
adyen->AI()->JustEngagedWith(me);
if (GetCreature(EXARCH_ORELIS))
orelis->AI()->EnterCombat(me);
orelis->AI()->JustEngagedWith(me);
if (GetCreature(ANCHORITE_KARJA))
karja->AI()->EnterCombat(me);
karja->AI()->JustEngagedWith(me);
if (GetCreature(ISHANAH_HIGH_PRIESTESS))
ishanah->AI()->EnterCombat(me);
ishanah->AI()->JustEngagedWith(me);
break;
}
}
@@ -941,7 +941,7 @@ public:
bool second_waypath_done = false;
bool adyen_dead = false, karja_dead = false, orelis_dead = false;
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_SPELL_BURNING_LIGHT, 2000);
_events.ScheduleEvent(EVENT_SPELL_CONSECRATION, 3000);
@@ -1212,7 +1212,7 @@ public:
}
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
SummonsAction(who);
}
@@ -1382,7 +1382,7 @@ public:
isEvent = false;
}
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void JustSummoned(Creature* summoned) override
{
@@ -1713,7 +1713,7 @@ public:
me->UpdateEntry(NPC_PHASE_HUNTER_ENTRY);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
PlayerGUID = who->GetGUID();

View File

@@ -607,7 +607,7 @@ public:
Tapped = false;
}
void EnterCombat(Unit* /*who*/) override
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_KICK, urand(5000, 10000));
events.ScheduleEvent(EVENT_SUNDER, urand(5000, 10000));
@@ -944,7 +944,7 @@ public:
DoSummon(NPC_COILSKAR_ASSASSIN, me, 15.0f, 5000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);
}
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
//don't always use
if (rand() % 5)
@@ -1113,7 +1113,7 @@ public:
me->SetTarget();
}
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void HandleAnimation()
{
@@ -1279,7 +1279,7 @@ public:
me->SetVisible(false);
}
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void MoveInLineOfSight(Unit* /*who*/) override { }
void AttackStart(Unit* /*who*/) override { }
@@ -1406,7 +1406,7 @@ public:
Timers = false;
}
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void JustDied(Unit* /*killer*/) override
{
@@ -1654,7 +1654,7 @@ public:
void Reset() override { }
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void JustDied(Unit* /*killer*/) override
{

View File

@@ -477,7 +477,7 @@ public:
EventMap _events;
void EnterCombat(Unit* who) override
void JustEngagedWith(Unit* who) override
{
AttackStart(who);
_events.ScheduleEvent(EVENT_SPELL_ISHANAH_HOLY_SMITE, 2000);

View File

@@ -365,7 +365,7 @@ public:
me->SetFaction(FACTION_HOSTILE);
}
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void DoNice()
{
@@ -464,7 +464,7 @@ public:
npc_rotting_forest_ragerAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() override { }
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void DamageTaken(Unit* done_by, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
@@ -553,7 +553,7 @@ public:
me->SetFaction(m_uiNormFaction);
}
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void UpdateAI(uint32 diff) override
{
@@ -674,7 +674,7 @@ public:
}
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
events.Reset();
events.ScheduleEvent(EVENT_SPELL_WRATH, 0);

View File

@@ -104,7 +104,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void EnterCombat(Unit*) override
void JustEngagedWith(Unit*) override
{
_spoken = 2;
}
@@ -273,7 +273,7 @@ public:
me->SetFaction(m_uiNormFaction);
}
void EnterCombat(Unit* /*who*/) override { }
void JustEngagedWith(Unit* /*who*/) override { }
void UpdateAI(uint32 diff) override
{