feat(Core/Maps): AreaBoundary (#10525)

* cherry-picked commit (2da458c56d)
This commit is contained in:
IntelligentQuantum
2022-04-15 16:40:41 +04:30
committed by GitHub
parent c1747f2fbf
commit ab4ee71762
169 changed files with 918 additions and 628 deletions

View File

@@ -406,7 +406,7 @@ void hyjalAI::Reset()
DoHide = true;
}
void hyjalAI::EnterEvadeMode()
void hyjalAI::EnterEvadeMode(EvadeReason /*why*/)
{
if (me->GetEntry() != JAINA)
me->RemoveAllAuras();

View File

@@ -122,7 +122,7 @@ struct hyjalAI : public npc_escortAI
void Reset() override; // Generically used to reset our variables. Do *not* call in EnterEvadeMode as this may make problems if the raid is still in combat
void EnterEvadeMode() override; // Send creature back to spawn location and evade.
void EnterEvadeMode(EvadeReason /*why*/ = EVADE_REASON_OTHER) override; // Send creature back to spawn location and evade.
void EnterCombat(Unit* /*who*/) override; // Used to reset cooldowns for our spells and to inform the raid that we're under attack

View File

@@ -294,7 +294,7 @@ public:
}
}
bool CheckInRoom()
bool CheckInRoom() override
{
if (me->GetDistance2d(me->GetHomePosition().GetPositionX(), me->GetHomePosition().GetPositionY()) > 95.0f)
{

View File

@@ -122,10 +122,10 @@ public:
}
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->ClearUnitState(UNIT_STATE_ROOT);
BossAI::EnterEvadeMode();
BossAI::EnterEvadeMode(why);
}
void EnterCombat(Unit* attacker) override

View File

@@ -70,9 +70,9 @@ public:
{
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
BossAI::EnterEvadeMode();
BossAI::EnterEvadeMode(why);
for (ObjectGuid const& guid : Eggs)
if (Creature* egg = me->GetMap()->GetCreature(guid))

View File

@@ -158,11 +158,11 @@ public:
Talk(SAY_SLAY);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
Cleanup();
summons.DespawnAll();
BossAI::EnterEvadeMode();
BossAI::EnterEvadeMode(why);
}
void JustDied(Unit* /*killer*/) override

View File

@@ -68,9 +68,9 @@ public:
Talk(SAY_SLAY);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (me->IsSummon())
((TempSummon*)me)->UnSummon();
}

View File

@@ -182,10 +182,10 @@ public:
events.ScheduleEvent(EVENT_POISON_SHOCK, urand(7000, 12000));
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
summons.DespawnAll();
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
void JustDied(Unit* /*killer*/) override

View File

@@ -122,11 +122,11 @@ public:
npc_escortAI::JustDied(killer);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
SummonsFollow();
ImmuneFlagSet(false, 35);
npc_escortAI::EnterEvadeMode();
npc_escortAI::EnterEvadeMode(why);
}
void CheckPlayer()

View File

@@ -149,9 +149,9 @@ public:
_events.ScheduleEvent(EVENT_FINAL_TALK, 5 * IN_MILLISECONDS);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
_EnterEvadeMode();
_EnterEvadeMode(why);
if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID))
{

View File

@@ -356,7 +356,7 @@ public:
}
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID);
if (player && player->IsInCombat() && player->getAttackerForHelper())
@@ -364,7 +364,7 @@ public:
AttackStart(player->getAttackerForHelper());
return;
}
npc_escortAI::EnterEvadeMode();
npc_escortAI::EnterEvadeMode(why);
}
void StartEvent(Player* player)

View File

@@ -306,10 +306,10 @@ public:
void EnterCombat(Unit* /*who*/) override { }
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
CleanUp();
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
void CleanUp()
@@ -343,7 +343,7 @@ public:
Player* pWarrior = ObjectAccessor::GetPlayer(*me, PlayerGUID);
if (!pWarrior || me->GetDistance2d(pWarrior) >= 200.0f)
{
EnterEvadeMode();
EnterEvadeMode(EVADE_REASON_OTHER);
return;
}
@@ -351,7 +351,7 @@ public:
{
Talk(SAY_TWIGGY_FLATHEAD_DOWN);
pWarrior->FailQuest(1719);
EnterEvadeMode();
EnterEvadeMode(EVADE_REASON_OTHER);
return;
}
@@ -435,7 +435,7 @@ public:
if (!creature || !creature->IsAlive())
{
Talk(SAY_TWIGGY_FLATHEAD_OVER);
EnterEvadeMode();
EnterEvadeMode(EVADE_REASON_OTHER);
return;
}
else // Makes BIG WILL attackable.