Core/Units: Set UNIT_FLAG2_*_AOI dynamically according to the VisibilityDistanceType set on the creature
Port From (https://github.com/TrinityCore/TrinityCore/commit/4b06b8ec1e3ccc153a44b3eb2e8487641cfae98d)
This commit is contained in:
@@ -131,7 +131,7 @@ namespace Framework.Constants
|
||||
MirrorImage | ForceMovement | DisarmOffhand |
|
||||
DisablePredStats | AllowChangingTalents | DisarmRanged |
|
||||
/* UNIT_FLAG2_REGENERATE_POWER | */ RestrictPartyInteraction |
|
||||
PreventSpellClick | InteractWhileHostile | /* UNIT_FLAG2_CANNOT_TURN | */
|
||||
PreventSpellClick | InteractWhileHostile | /* Unk2 | */
|
||||
/* UNIT_FLAG2_PLAY_DEATH_ANIM | */ AllowCheatSpells | SuppressHighlightWhenTargetedOrMousedOver |
|
||||
TreatAsRaidUnitForHelpfulSpells | LargeAoi | GiganticAoi | NoActions |
|
||||
AiWillOnlySwimIfTargetSwims | DontGenerateCombatLogWhenEngagedWithNpcs | AttackerIgnoresMinimumRanges |
|
||||
|
||||
@@ -977,6 +977,26 @@ namespace Game.Entities
|
||||
if (GetTypeId() == TypeId.Player)
|
||||
return;
|
||||
|
||||
Creature creature = ToCreature();
|
||||
if (creature != null)
|
||||
{
|
||||
creature.RemoveUnitFlag2(UnitFlags2.LargeAoi | UnitFlags2.GiganticAoi | UnitFlags2.InfiniteAoi);
|
||||
switch (type)
|
||||
{
|
||||
case VisibilityDistanceType.Large:
|
||||
creature.SetUnitFlag2(UnitFlags2.LargeAoi);
|
||||
break;
|
||||
case VisibilityDistanceType.Gigantic:
|
||||
creature.SetUnitFlag2(UnitFlags2.GiganticAoi);
|
||||
break;
|
||||
case VisibilityDistanceType.Infinite:
|
||||
creature.SetUnitFlag2(UnitFlags2.InfiniteAoi);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_visibilityDistanceOverride = SharedConst.VisibilityDistances[(int)type];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user