Core/Creatures: Drop dynamic flags from creature and creature_template
Port From (https://github.com/TrinityCore/TrinityCore/commit/bb68fd73b498f6d6fc2c4414352c6e073a184304)
This commit is contained in:
@@ -303,9 +303,7 @@ namespace Game.Entities
|
||||
|
||||
SetFaction(cInfo.Faction);
|
||||
|
||||
ulong npcFlags;
|
||||
uint unitFlags, unitFlags2, unitFlags3, dynamicFlags;
|
||||
ObjectManager.ChooseCreatureFlags(cInfo, out npcFlags, out unitFlags, out unitFlags2, out unitFlags3, out dynamicFlags, data);
|
||||
ObjectManager.ChooseCreatureFlags(cInfo, out ulong npcFlags, out uint unitFlags, out uint unitFlags2, out uint unitFlags3, data);
|
||||
|
||||
if (cInfo.FlagsExtra.HasAnyFlag(CreatureFlagsExtra.Worldevent))
|
||||
npcFlags |= Global.GameEventMgr.GetNPCFlag(this);
|
||||
@@ -322,7 +320,7 @@ namespace Game.Entities
|
||||
ReplaceAllUnitFlags2((UnitFlags2)unitFlags2);
|
||||
ReplaceAllUnitFlags3((UnitFlags3)unitFlags3);
|
||||
|
||||
ReplaceAllDynamicFlags((UnitDynFlags)dynamicFlags);
|
||||
ReplaceAllDynamicFlags(UnitDynFlags.None);
|
||||
|
||||
SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.StateAnimID), Global.DB2Mgr.GetEmptyAnimStateID());
|
||||
|
||||
@@ -1086,7 +1084,7 @@ namespace Game.Entities
|
||||
|
||||
ClearUnitState(UnitState.AttackPlayer);
|
||||
if (IsAlive() && HasDynamicFlag(UnitDynFlags.Tapped))
|
||||
ReplaceAllDynamicFlags((UnitDynFlags)GetCreatureTemplate().DynamicFlags);
|
||||
RemoveDynamicFlag(UnitDynFlags.Tapped);
|
||||
|
||||
if (IsPet() || IsGuardian()) // update pets' speed for catchup OOC speed
|
||||
{
|
||||
@@ -1319,7 +1317,6 @@ namespace Game.Entities
|
||||
uint unitFlags = m_unitData.Flags;
|
||||
uint unitFlags2 = m_unitData.Flags2;
|
||||
uint unitFlags3 = m_unitData.Flags3;
|
||||
UnitDynFlags dynamicflags = (UnitDynFlags)(uint)m_objectData.DynamicFlags;
|
||||
|
||||
// check if it's a custom model and if not, use 0 for displayId
|
||||
CreatureTemplate cinfo = GetCreatureTemplate();
|
||||
@@ -1340,9 +1337,6 @@ namespace Game.Entities
|
||||
|
||||
if (unitFlags3 == cinfo.UnitFlags3)
|
||||
unitFlags3 = 0;
|
||||
|
||||
if (dynamicflags == (UnitDynFlags)cinfo.DynamicFlags)
|
||||
dynamicflags = 0;
|
||||
}
|
||||
|
||||
if (data.SpawnId == 0)
|
||||
@@ -1378,7 +1372,6 @@ namespace Game.Entities
|
||||
data.unit_flags = unitFlags;
|
||||
data.unit_flags2 = unitFlags2;
|
||||
data.unit_flags3 = unitFlags3;
|
||||
data.dynamicflags = (uint)dynamicflags;
|
||||
if (data.spawnGroupData == null)
|
||||
data.spawnGroupData = Global.ObjectMgr.GetDefaultSpawnGroup();
|
||||
|
||||
@@ -1417,7 +1410,6 @@ namespace Game.Entities
|
||||
stmt.AddValue(index++, unitFlags);
|
||||
stmt.AddValue(index++, unitFlags2);
|
||||
stmt.AddValue(index++, unitFlags3);
|
||||
stmt.AddValue(index++, (uint)dynamicflags);
|
||||
trans.Append(stmt);
|
||||
|
||||
DB.World.CommitTransaction(trans);
|
||||
@@ -1991,9 +1983,7 @@ namespace Game.Entities
|
||||
CreatureData creatureData = GetCreatureData();
|
||||
CreatureTemplate cInfo = GetCreatureTemplate();
|
||||
|
||||
ulong npcFlags;
|
||||
uint unitFlags, unitFlags2, unitFlags3, dynamicFlags;
|
||||
ObjectManager.ChooseCreatureFlags(cInfo, out npcFlags, out unitFlags, out unitFlags2, out unitFlags3, out dynamicFlags, creatureData);
|
||||
ObjectManager.ChooseCreatureFlags(cInfo, out ulong npcFlags, out uint unitFlags, out uint unitFlags2, out uint unitFlags3, creatureData);
|
||||
|
||||
if (cInfo.FlagsExtra.HasAnyFlag(CreatureFlagsExtra.Worldevent))
|
||||
npcFlags |= Global.GameEventMgr.GetNPCFlag(this);
|
||||
@@ -2004,7 +1994,7 @@ namespace Game.Entities
|
||||
ReplaceAllUnitFlags((UnitFlags)unitFlags);
|
||||
ReplaceAllUnitFlags2((UnitFlags2)unitFlags2);
|
||||
ReplaceAllUnitFlags3((UnitFlags3)unitFlags3);
|
||||
ReplaceAllDynamicFlags((UnitDynFlags)dynamicFlags);
|
||||
ReplaceAllDynamicFlags(UnitDynFlags.None);
|
||||
|
||||
RemoveUnitFlag(UnitFlags.InCombat);
|
||||
|
||||
|
||||
@@ -40,7 +40,6 @@ namespace Game.Entities
|
||||
public UnitFlags UnitFlags;
|
||||
public uint UnitFlags2;
|
||||
public uint UnitFlags3;
|
||||
public uint DynamicFlags;
|
||||
public CreatureFamily Family;
|
||||
public Class TrainerClass;
|
||||
public CreatureType CreatureType;
|
||||
@@ -271,7 +270,6 @@ namespace Game.Entities
|
||||
public uint unit_flags; // enum UnitFlags mask values
|
||||
public uint unit_flags2; // enum UnitFlags2 mask values
|
||||
public uint unit_flags3; // enum UnitFlags3 mask values
|
||||
public uint dynamicflags;
|
||||
|
||||
public CreatureData() : base(SpawnObjectType.Creature) { }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user