Core/Units: Named unit flags
Port From (https://github.com/TrinityCore/TrinityCore/commit/b4952db4640ee3ec6a7df8545b5c582202f36405)
This commit is contained in:
@@ -62,8 +62,8 @@ namespace Framework.Constants
|
||||
PetInCombat = 0x800,
|
||||
Pvp = 0x1000,
|
||||
Silenced = 0x2000,
|
||||
CannotSwim = 0x4000,
|
||||
Swimming = 0x8000, // shows swim animation in water
|
||||
CantSwim = 0x4000,
|
||||
CanSwim = 0x8000, // shows swim animation in water
|
||||
NonAttackable2 = 0x10000,
|
||||
Pacified = 0x20000,
|
||||
Stunned = 0x40000,
|
||||
@@ -85,11 +85,11 @@ namespace Framework.Constants
|
||||
public enum UnitFlags2 : uint
|
||||
{
|
||||
FeignDeath = 0x01,
|
||||
Unk1 = 0x02,
|
||||
HideBody = 0x02,
|
||||
IgnoreReputation = 0x04,
|
||||
ComprehendLang = 0x08,
|
||||
MirrorImage = 0x10,
|
||||
InstantlyAppearModel = 0x20,
|
||||
DontFadeIn = 0x20,
|
||||
ForceMove = 0x40,
|
||||
DisarmOffhand = 0x80,
|
||||
DisablePredStats = 0x100,
|
||||
@@ -98,12 +98,21 @@ namespace Framework.Constants
|
||||
RegeneratePower = 0x800,
|
||||
RestrictPartyInteraction = 0x1000,
|
||||
PreventSpellClick = 0x2000,
|
||||
AllowEnemyInteract = 0x4000,
|
||||
DisableTurn = 0x8000,
|
||||
InteractWhileHostile = 0x4000,
|
||||
CannotTurn = 0x8000,
|
||||
Unk2 = 0x10000,
|
||||
PlayDeathAnim = 0x20000,
|
||||
AllowCheatSpells = 0x40000,
|
||||
NoActions = 0x800000
|
||||
TreatAsRaidUnitForHelpfulSpells = 0x100000,
|
||||
LargeAoi = 0x00200000,
|
||||
GiganticAoi = 0x400000,
|
||||
NoActions = 0x800000,
|
||||
AiWillOnlySwimIfTargetSwims = 0x1000000,
|
||||
DontGenerateCombatLogWhenEngagedWithNpcs = 0x2000000,
|
||||
UntargetableByClient = 0x4000000,
|
||||
AttackerIgnoresMinimumRanges = 0x8000000,
|
||||
UninteractibleIfHostile = 0x10000000,
|
||||
InfiniteAoi = 0x40000000,
|
||||
}
|
||||
|
||||
public enum UnitFlags3 : uint
|
||||
|
||||
@@ -2994,7 +2994,7 @@ namespace Game.Entities
|
||||
}
|
||||
}
|
||||
|
||||
if (!HasUnitFlag2(UnitFlags2.DisableTurn))
|
||||
if (!HasUnitFlag2(UnitFlags2.CannotTurn))
|
||||
{
|
||||
// Face the target - we need to do this before the unit state is modified for no-turn spells
|
||||
if (target)
|
||||
@@ -3041,7 +3041,7 @@ namespace Game.Entities
|
||||
|
||||
if (IsPet()) // player pets do not use delay system
|
||||
{
|
||||
if (!HasUnitFlag2(UnitFlags2.DisableTurn))
|
||||
if (!HasUnitFlag2(UnitFlags2.CannotTurn))
|
||||
ReacquireSpellFocusTarget();
|
||||
}
|
||||
else // don't allow re-target right away to prevent visual bugs
|
||||
@@ -3060,7 +3060,7 @@ namespace Game.Entities
|
||||
|
||||
SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Target), _spellFocusInfo.Target);
|
||||
|
||||
if (!HasUnitFlag2(UnitFlags2.DisableTurn))
|
||||
if (!HasUnitFlag2(UnitFlags2.CannotTurn))
|
||||
{
|
||||
if (!_spellFocusInfo.Target.IsEmpty())
|
||||
{
|
||||
|
||||
@@ -499,7 +499,7 @@ namespace Game.Entities
|
||||
if (attType != WeaponAttackType.BaseAttack && attType != WeaponAttackType.OffAttack)
|
||||
return;
|
||||
|
||||
if (IsTypeId(TypeId.Unit) && !HasUnitFlag(UnitFlags.Possessed) && !HasUnitFlag2(UnitFlags2.DisableTurn))
|
||||
if (IsTypeId(TypeId.Unit) && !HasUnitFlag(UnitFlags.Possessed) && !HasUnitFlag2(UnitFlags2.CannotTurn))
|
||||
SetFacingToObject(victim, false); // update client side facing to face the target (prevents visual glitches when casting untargeted spells)
|
||||
|
||||
// melee attack spell casted at main hand attack only - no normal melee dmg dealt
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Game.Entities
|
||||
public virtual bool CanSwim()
|
||||
{
|
||||
// Mirror client behavior, if this method returns false then client will not use swimming animation and for players will apply gravity as if there was no water
|
||||
if (HasUnitFlag(UnitFlags.CannotSwim))
|
||||
if (HasUnitFlag(UnitFlags.CantSwim))
|
||||
return false;
|
||||
if (HasUnitFlag(UnitFlags.PlayerControlled)) // is player
|
||||
return true;
|
||||
@@ -61,7 +61,7 @@ namespace Game.Entities
|
||||
if (IsPet() && HasUnitFlag(UnitFlags.PetInCombat))
|
||||
return true;
|
||||
|
||||
return HasUnitFlag(UnitFlags.Rename | UnitFlags.Swimming);
|
||||
return HasUnitFlag(UnitFlags.Rename | UnitFlags.CanSwim);
|
||||
}
|
||||
public bool IsInWater()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user