Core/Creatures: Drop dynamic flags from creature and creature_template

Port From (https://github.com/TrinityCore/TrinityCore/commit/bb68fd73b498f6d6fc2c4414352c6e073a184304)
This commit is contained in:
hondacrx
2023-06-24 09:11:35 -04:00
parent 55b91302ec
commit 219db87e6a
4 changed files with 43 additions and 69 deletions
+5 -15
View File
@@ -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) { }
}