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

@@ -198,10 +198,10 @@ public:
summon->SetReactState(REACT_PASSIVE);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->RemoveUnitFlag(UNIT_FLAG_DISABLE_MOVE);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
};

View File

@@ -293,11 +293,11 @@ public:
}
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->SetControlled(false, UNIT_STATE_ROOT);
me->DisableRotate(false);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
};

View File

@@ -164,10 +164,10 @@ public:
Talk(RAND(SAY_SLAY_1, SAY_SLAY_2));
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->SetControlled(false, UNIT_STATE_ROOT);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (startFightTimer)
Reset();
}

View File

@@ -153,9 +153,9 @@ public:
Talk(RAND(SAY_SLAY_1, SAY_SLAY_2));
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (startFightTimer)
Reset();
}

View File

@@ -751,9 +751,9 @@ public:
DoMeleeAttackIfReady();
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (me->GetInstanceScript()->GetData(DATA_WAVE_NUMBER))
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NOT_SELECTABLE);
}
@@ -847,9 +847,9 @@ public:
DoMeleeAttackIfReady();
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (me->GetInstanceScript()->GetData(DATA_WAVE_NUMBER))
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NOT_SELECTABLE);
}
@@ -892,12 +892,12 @@ public:
npc_phantom_mageAI::UpdateAI(diff);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
if (numOfUpd)
return;
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (me->IsSummon())
me->ToTempSummon()->DespawnOrUnsummon(1);
}
@@ -990,9 +990,9 @@ public:
DoMeleeAttackIfReady();
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (me->GetInstanceScript()->GetData(DATA_WAVE_NUMBER))
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NOT_SELECTABLE);
}
@@ -1073,9 +1073,9 @@ public:
DoMeleeAttackIfReady();
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (me->GetInstanceScript()->GetData(DATA_WAVE_NUMBER))
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NOT_SELECTABLE);
}
@@ -1157,9 +1157,9 @@ public:
DoSpellAttackIfReady(SPELL_SHOOT);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
if (me->GetInstanceScript()->GetData(DATA_WAVE_NUMBER))
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NOT_SELECTABLE);
}
@@ -1202,7 +1202,7 @@ public:
Position p = me->GetHomePosition();
if (me->GetExactDist(&p) > 30.0f)
{
EnterEvadeMode();
EnterEvadeMode(EVADE_REASON_OTHER);
return;
}
@@ -1234,10 +1234,10 @@ public:
pInstance->SetData(DATA_FROSTSWORN_GENERAL, DONE);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
pInstance->SetData(ACTION_SPIRITUAL_REFLECTIONS_HIDE, 1);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
};
@@ -1296,10 +1296,10 @@ public:
me->CastSpell((Unit*)nullptr, SPELL_SPIRIT_BURST, false);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->UpdatePosition(me->GetHomePosition(), true);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
me->SetVisible(false);
}
};

View File

@@ -219,7 +219,7 @@ public:
if (x < 600.0f || x > 770.0f || y < -270.0f || y > -137.0f || z < 514.0f || z > 550.0f)
{
me->SetHealth(me->GetMaxHealth());
EnterEvadeMode();
EnterEvadeMode(EVADE_REASON_OTHER);
if (CreatureGroup* f = me->GetFormation())
{
const CreatureGroup::CreatureGroupMemberType& m = f->GetMembers();
@@ -289,11 +289,11 @@ public:
Talk(SAY_SLAY_1);
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->SetControlled(false, UNIT_STATE_ROOT);
me->DisableRotate(false);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
};

View File

@@ -1117,7 +1117,7 @@ public:
return who->GetEntry() == NPC_FALLEN_WARRIOR;
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason /* why */) override
{
if (!me->IsAlive() || me->IsInEvadeMode())
return;