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

@@ -814,12 +814,13 @@ public:
void MoveInLineOfSight(Unit* /*who*/) override {}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->SetDisableGravity(true);
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1s);
me->RemoveUnitFlag(UNIT_FLAG_DISABLE_MOVE);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
void HandleIntroSpeech(const uint32 diff)

View File

@@ -192,7 +192,6 @@ public:
}
DoMeleeAttackIfReady();
EnterEvadeIfOutOfCombatArea();
}
bool CheckEvadeIfOutOfCombatArea() const override

View File

@@ -21,10 +21,10 @@
DoorData const doorData[] =
{
{ GO_TELESTRA_SPHERE, DATA_TELESTRA_ORB, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
{ GO_ANOMALUS_SPHERE, DATA_ANOMALUS_ORB, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
{ GO_ORMOROK_SPHERE, DATA_ORMOROK_ORB, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
{ 0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE }
{ GO_TELESTRA_SPHERE, DATA_TELESTRA_ORB, DOOR_TYPE_PASSAGE },
{ GO_ANOMALUS_SPHERE, DATA_ANOMALUS_ORB, DOOR_TYPE_PASSAGE },
{ GO_ORMOROK_SPHERE, DATA_ORMOROK_ORB, DOOR_TYPE_PASSAGE },
{ 0, 0, DOOR_TYPE_ROOM }
};
class instance_nexus : public InstanceMapScript
@@ -226,10 +226,10 @@ public:
_allowDeath = me->GetInstanceScript()->GetBossState(DATA_ORMOROK_EVENT) == DONE;
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
if (me->isRegeneratingHealth())
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override

View File

@@ -360,12 +360,12 @@ public:
}
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->SetCanFly(false);
me->SetDisableGravity(false);
me->SetControlled(false, UNIT_STATE_ROOT);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
};
};

View File

@@ -145,11 +145,11 @@ public:
}
}
void EnterEvadeMode() override
void EnterEvadeMode(EvadeReason why) override
{
me->SetControlled(false, UNIT_STATE_ROOT);
me->DisableRotate(false);
ScriptedAI::EnterEvadeMode();
ScriptedAI::EnterEvadeMode(why);
}
void MoveInLineOfSight(Unit* /*who*/) override {}