Core/Misc: Rename SetXXXFlags updatefield functions to ReplaceAllXXXFlags
Port From (https://github.com/TrinityCore/TrinityCore/commit/4eba9786708dd3b22d9053c1a14eac7e6d03242e)
This commit is contained in:
@@ -420,8 +420,8 @@ namespace Game.AI
|
||||
me.GetMotionMaster().Clear(MovementGeneratorPriority.Normal);
|
||||
|
||||
//disable npcflags
|
||||
me.SetNpcFlags(NPCFlags.None);
|
||||
me.SetNpcFlags2(NPCFlags2.None);
|
||||
me.ReplaceAllNpcFlags(NPCFlags.None);
|
||||
me.ReplaceAllNpcFlags2(NPCFlags2.None);
|
||||
if (me.IsImmuneToNPC())
|
||||
{
|
||||
_hasImmuneToNPCFlags = true;
|
||||
|
||||
@@ -210,8 +210,8 @@ namespace Game.AI
|
||||
me.GetMotionMaster().Clear(MovementGeneratorPriority.Normal);
|
||||
me.PauseMovement();
|
||||
|
||||
me.SetNpcFlags(NPCFlags.None);
|
||||
me.SetNpcFlags2(NPCFlags2.None);
|
||||
me.ReplaceAllNpcFlags(NPCFlags.None);
|
||||
me.ReplaceAllNpcFlags2(NPCFlags2.None);
|
||||
|
||||
AddFollowState(FollowState.Inprogress);
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace Game.AI
|
||||
if (invoker && invoker.IsPlayer())
|
||||
{
|
||||
_escortNPCFlags = me.m_unitData.NpcFlags[0];
|
||||
me.SetNpcFlags(0);
|
||||
me.ReplaceAllNpcFlags(0);
|
||||
}
|
||||
|
||||
me.GetMotionMaster().MovePath(_path, _repeatWaypointPath);
|
||||
@@ -239,7 +239,7 @@ namespace Game.AI
|
||||
|
||||
if (_escortNPCFlags != 0)
|
||||
{
|
||||
me.SetNpcFlags((NPCFlags)_escortNPCFlags);
|
||||
me.ReplaceAllNpcFlags((NPCFlags)_escortNPCFlags);
|
||||
_escortNPCFlags = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1582,7 +1582,7 @@ namespace Game.AI
|
||||
{
|
||||
foreach (var target in targets)
|
||||
if (IsUnit(target))
|
||||
target.ToUnit().SetNpcFlags((NPCFlags)e.Action.flag.flag);
|
||||
target.ToUnit().ReplaceAllNpcFlags((NPCFlags)e.Action.flag.flag);
|
||||
break;
|
||||
}
|
||||
case SmartActions.AddNpcFlag:
|
||||
|
||||
@@ -147,10 +147,10 @@ namespace Game.Chat
|
||||
handler.SendSysMessage(CypherStrings.YouChangeFaction, target.GetGUID().ToString(), factionid, flag, npcflag, dyflag);
|
||||
|
||||
target.SetFaction(factionid);
|
||||
target.SetUnitFlags((UnitFlags)flag);
|
||||
target.SetNpcFlags((NPCFlags)(npcflag & 0xFFFFFFFF));
|
||||
target.SetNpcFlags2((NPCFlags2)(npcflag >> 32));
|
||||
target.SetDynamicFlags((UnitDynFlags)dyflag);
|
||||
target.ReplaceAllUnitFlags((UnitFlags)flag);
|
||||
target.ReplaceAllNpcFlags((NPCFlags)(npcflag & 0xFFFFFFFF));
|
||||
target.ReplaceAllNpcFlags2((NPCFlags2)(npcflag >> 32));
|
||||
target.ReplaceAllDynamicFlags((UnitDynFlags)dyflag);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1131,8 +1131,8 @@ namespace Game.Chat
|
||||
return false;
|
||||
}
|
||||
|
||||
creature.SetNpcFlags(npcFlags);
|
||||
creature.SetNpcFlags2(npcFlags2);
|
||||
creature.ReplaceAllNpcFlags(npcFlags);
|
||||
creature.ReplaceAllNpcFlags2(npcFlags2);
|
||||
|
||||
PreparedStatement stmt = DB.World.GetPreparedStatement(WorldStatements.UPD_CREATURE_NPCFLAG);
|
||||
stmt.AddValue(0, (ulong)npcFlags | ((ulong)npcFlags2 << 32));
|
||||
|
||||
@@ -79,9 +79,9 @@ namespace Game.Chat
|
||||
if (player.GetShapeshiftForm() == ShapeShiftForm.None)
|
||||
player.InitDisplayIds();
|
||||
|
||||
player.SetPvpFlags(UnitPVPStateFlags.PvP);
|
||||
player.ReplaceAllPvpFlags(UnitPVPStateFlags.PvP);
|
||||
|
||||
player.SetUnitFlags(UnitFlags.PlayerControlled);
|
||||
player.ReplaceAllUnitFlags(UnitFlags.PlayerControlled);
|
||||
|
||||
//-1 is default value
|
||||
player.SetWatchedFactionIndex(0xFFFFFFFF);
|
||||
|
||||
@@ -186,8 +186,8 @@ namespace Game.Entities
|
||||
SetRace(field.Read<byte>(7));
|
||||
SetClass(field.Read<byte>(8));
|
||||
SetSex(field.Read<byte>(9));
|
||||
SetFlags((CorpseFlags)field.Read<byte>(10));
|
||||
SetCorpseDynamicFlags((CorpseDynFlags)field.Read<byte>(11));
|
||||
ReplaceAllFlags((CorpseFlags)field.Read<byte>(10));
|
||||
ReplaceAllCorpseDynamicFlags((CorpseDynFlags)field.Read<byte>(11));
|
||||
SetOwnerGUID(ObjectGuid.Create(HighGuid.Player, field.Read<ulong>(15)));
|
||||
SetFactionTemplate(CliDB.ChrRacesStorage.LookupByKey(m_corpseData.RaceID).FactionID);
|
||||
|
||||
@@ -285,9 +285,10 @@ namespace Game.Entities
|
||||
base.ClearUpdateMask(remove);
|
||||
}
|
||||
|
||||
public CorpseDynFlags GetCorpseDynamicFlags() { return (CorpseDynFlags)(uint)m_corpseData.DynamicFlags; }
|
||||
public void AddCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.DynamicFlags), (uint)dynamicFlags); }
|
||||
public void RemoveCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.DynamicFlags), (uint)dynamicFlags); }
|
||||
public void SetCorpseDynamicFlags(CorpseDynFlags dynamicFlags) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.DynamicFlags), (uint)dynamicFlags); }
|
||||
public void ReplaceAllCorpseDynamicFlags(CorpseDynFlags dynamicFlags) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.DynamicFlags), (uint)dynamicFlags); }
|
||||
public override ObjectGuid GetOwnerGUID() { return m_corpseData.Owner; }
|
||||
public void SetOwnerGUID(ObjectGuid owner) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.Owner), owner); }
|
||||
public void SetPartyGUID(ObjectGuid partyGuid) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.PartyGUID), partyGuid); }
|
||||
@@ -296,7 +297,7 @@ namespace Game.Entities
|
||||
public void SetRace(byte race) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.RaceID), race); }
|
||||
public void SetClass(byte classId) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.Class), classId); }
|
||||
public void SetSex(byte sex) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.Sex), sex); }
|
||||
public void SetFlags(CorpseFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.Flags), (uint)flags); }
|
||||
public void ReplaceAllFlags(CorpseFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.Flags), (uint)flags); }
|
||||
public void SetFactionTemplate(int factionTemplate) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.FactionTemplate), factionTemplate); }
|
||||
public override uint GetFaction() { return (uint)(int)m_corpseData.FactionTemplate; }
|
||||
public override void SetFaction(uint faction) { SetFactionTemplate((int)faction); }
|
||||
|
||||
@@ -349,19 +349,19 @@ namespace Game.Entities
|
||||
if (cInfo.FlagsExtra.HasAnyFlag(CreatureFlagsExtra.Worldevent))
|
||||
npcFlags |= Global.GameEventMgr.GetNPCFlag(this);
|
||||
|
||||
SetNpcFlags((NPCFlags)(npcFlags & 0xFFFFFFFF));
|
||||
SetNpcFlags2((NPCFlags2)(npcFlags >> 32));
|
||||
ReplaceAllNpcFlags((NPCFlags)(npcFlags & 0xFFFFFFFF));
|
||||
ReplaceAllNpcFlags2((NPCFlags2)(npcFlags >> 32));
|
||||
|
||||
// if unit is in combat, keep this flag
|
||||
unitFlags &= ~(uint)UnitFlags.InCombat;
|
||||
if (IsInCombat())
|
||||
unitFlags |= (uint)UnitFlags.InCombat;
|
||||
|
||||
SetUnitFlags((UnitFlags)unitFlags);
|
||||
SetUnitFlags2((UnitFlags2)unitFlags2);
|
||||
SetUnitFlags3((UnitFlags3)unitFlags3);
|
||||
ReplaceAllUnitFlags((UnitFlags)unitFlags);
|
||||
ReplaceAllUnitFlags2((UnitFlags2)unitFlags2);
|
||||
ReplaceAllUnitFlags3((UnitFlags3)unitFlags3);
|
||||
|
||||
SetDynamicFlags((UnitDynFlags)dynamicFlags);
|
||||
ReplaceAllDynamicFlags((UnitDynFlags)dynamicFlags);
|
||||
|
||||
SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.StateAnimID), Global.DB2Mgr.GetEmptyAnimStateID());
|
||||
|
||||
@@ -1120,7 +1120,7 @@ namespace Game.Entities
|
||||
|
||||
ClearUnitState(UnitState.AttackPlayer);
|
||||
if (IsAlive() && HasDynamicFlag(UnitDynFlags.Tapped))
|
||||
SetDynamicFlags((UnitDynFlags)GetCreatureTemplate().DynamicFlags);
|
||||
ReplaceAllDynamicFlags((UnitDynFlags)GetCreatureTemplate().DynamicFlags);
|
||||
|
||||
if (IsPet() || IsGuardian()) // update pets' speed for catchup OOC speed
|
||||
{
|
||||
@@ -1863,8 +1863,8 @@ namespace Game.Entities
|
||||
DoNotReacquireSpellFocusTarget(); // cancel delayed re-target
|
||||
SetTarget(ObjectGuid.Empty); // drop target - dead mobs shouldn't ever target things
|
||||
|
||||
SetNpcFlags(NPCFlags.None);
|
||||
SetNpcFlags2(NPCFlags2.None);
|
||||
ReplaceAllNpcFlags(NPCFlags.None);
|
||||
ReplaceAllNpcFlags2(NPCFlags2.None);
|
||||
|
||||
SetMountDisplayId(0); // if creature is mounted on a virtual mount, remove it at death
|
||||
|
||||
@@ -1911,13 +1911,13 @@ namespace Game.Entities
|
||||
if (cInfo.FlagsExtra.HasAnyFlag(CreatureFlagsExtra.Worldevent))
|
||||
npcFlags |= Global.GameEventMgr.GetNPCFlag(this);
|
||||
|
||||
SetNpcFlags((NPCFlags)(npcFlags & 0xFFFFFFFF));
|
||||
SetNpcFlags2((NPCFlags2)(npcFlags >> 32));
|
||||
ReplaceAllNpcFlags((NPCFlags)(npcFlags & 0xFFFFFFFF));
|
||||
ReplaceAllNpcFlags2((NPCFlags2)(npcFlags >> 32));
|
||||
|
||||
SetUnitFlags((UnitFlags)unitFlags);
|
||||
SetUnitFlags2((UnitFlags2)unitFlags2);
|
||||
SetUnitFlags3((UnitFlags3)unitFlags3);
|
||||
SetDynamicFlags((UnitDynFlags)dynamicFlags);
|
||||
ReplaceAllUnitFlags((UnitFlags)unitFlags);
|
||||
ReplaceAllUnitFlags2((UnitFlags2)unitFlags2);
|
||||
ReplaceAllUnitFlags3((UnitFlags3)unitFlags3);
|
||||
ReplaceAllDynamicFlags((UnitDynFlags)dynamicFlags);
|
||||
|
||||
RemoveUnitFlag(UnitFlags.InCombat);
|
||||
|
||||
@@ -2408,7 +2408,7 @@ namespace Game.Entities
|
||||
// 3 StandMiscFlags
|
||||
|
||||
SetStandState((UnitStandStateType)(cainfo.bytes1 & 0xFF));
|
||||
SetVisFlags((UnitVisFlags)((cainfo.bytes1 >> 16) & 0xFF));
|
||||
ReplaceAllVisFlags((UnitVisFlags)((cainfo.bytes1 >> 16) & 0xFF));
|
||||
SetAnimTier((AnimTier)((cainfo.bytes1 >> 24) & 0xFF), false);
|
||||
|
||||
//! Suspected correlation between UNIT_FIELD_BYTES_1, offset 3, value 0x2:
|
||||
@@ -2428,8 +2428,8 @@ namespace Game.Entities
|
||||
// 3 ShapeshiftForm Must be determined/set by shapeshift spell/aura
|
||||
|
||||
SetSheath((SheathState)(cainfo.bytes2 & 0xFF));
|
||||
SetPvpFlags(UnitPVPStateFlags.None);
|
||||
SetPetFlags(UnitPetFlags.None);
|
||||
ReplaceAllPvpFlags(UnitPVPStateFlags.None);
|
||||
ReplaceAllPetFlags(UnitPetFlags.None);
|
||||
SetShapeshiftForm(ShapeShiftForm.None);
|
||||
}
|
||||
|
||||
|
||||
@@ -265,7 +265,7 @@ namespace Game.Entities
|
||||
if (goOverride != null)
|
||||
{
|
||||
SetFaction(goOverride.Faction);
|
||||
SetFlags(goOverride.Flags);
|
||||
ReplaceAllFlags(goOverride.Flags);
|
||||
}
|
||||
|
||||
if (m_goTemplateAddon != null)
|
||||
@@ -529,7 +529,7 @@ namespace Game.Entities
|
||||
if (caster != null && caster.IsTypeId(TypeId.Player))
|
||||
{
|
||||
SetGoState(GameObjectState.Active);
|
||||
SetFlags(GameObjectFlags.NoDespawn);
|
||||
ReplaceAllFlags(GameObjectFlags.NoDespawn);
|
||||
|
||||
UpdateData udata = new(caster.GetMapId());
|
||||
UpdateObject packet;
|
||||
@@ -903,7 +903,7 @@ namespace Game.Entities
|
||||
//reset flags
|
||||
GameObjectOverride goOverride = GetGameObjectOverride();
|
||||
if (goOverride != null)
|
||||
SetFlags(goOverride.Flags);
|
||||
ReplaceAllFlags(goOverride.Flags);
|
||||
}
|
||||
|
||||
if (m_respawnDelayTime == 0)
|
||||
@@ -1003,7 +1003,7 @@ namespace Game.Entities
|
||||
SetGoState(GameObjectState.Ready);
|
||||
GameObjectOverride goOverride = GetGameObjectOverride();
|
||||
if (goOverride != null)
|
||||
SetFlags(goOverride.Flags);
|
||||
ReplaceAllFlags(goOverride.Flags);
|
||||
|
||||
uint poolid = GetSpawnId() != 0 ? Global.PoolMgr.IsPartOfAPool<GameObject>(GetSpawnId()) : 0;
|
||||
if (poolid != 0)
|
||||
@@ -3309,7 +3309,7 @@ namespace Game.Entities
|
||||
public bool HasFlag(GameObjectFlags flags) { return (m_gameObjectData.Flags & (uint)flags) != 0; }
|
||||
public void AddFlag(GameObjectFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_gameObjectData).ModifyValue(m_gameObjectData.Flags), (uint)flags); }
|
||||
public void RemoveFlag(GameObjectFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_gameObjectData).ModifyValue(m_gameObjectData.Flags), (uint)flags); }
|
||||
public void SetFlags(GameObjectFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_gameObjectData).ModifyValue(m_gameObjectData.Flags), (uint)flags); }
|
||||
public void ReplaceAllFlags(GameObjectFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_gameObjectData).ModifyValue(m_gameObjectData.Flags), (uint)flags); }
|
||||
public void SetLevel(uint level) { SetUpdateFieldValue(m_values.ModifyValue(m_gameObjectData).ModifyValue(m_gameObjectData.Level), level); }
|
||||
|
||||
public GameObjectTypes GetGoType() { return (GameObjectTypes)(sbyte)m_gameObjectData.TypeID; }
|
||||
|
||||
@@ -444,7 +444,7 @@ namespace Game.Entities
|
||||
need_save = true;
|
||||
}
|
||||
|
||||
SetItemFlags((ItemFieldFlags)itemFlags);
|
||||
ReplaceAllItemFlags((ItemFieldFlags)itemFlags);
|
||||
|
||||
uint durability = fields.Read<uint>(10);
|
||||
SetDurability(durability);
|
||||
@@ -1237,7 +1237,7 @@ namespace Game.Entities
|
||||
|
||||
newItem.SetCreator(GetCreator());
|
||||
newItem.SetGiftCreator(GetGiftCreator());
|
||||
newItem.SetItemFlags((ItemFieldFlags)(m_itemData.DynamicFlags & ~(uint)(ItemFieldFlags.Refundable | ItemFieldFlags.BopTradeable)));
|
||||
newItem.ReplaceAllItemFlags((ItemFieldFlags)(m_itemData.DynamicFlags & ~(uint)(ItemFieldFlags.Refundable | ItemFieldFlags.BopTradeable)));
|
||||
newItem.SetExpiration(m_itemData.Expiration);
|
||||
// player CAN be NULL in which case we must not update random properties because that accesses player's item update queue
|
||||
if (player != null)
|
||||
@@ -2574,11 +2574,11 @@ namespace Game.Entities
|
||||
public bool HasItemFlag(ItemFieldFlags flag) { return (m_itemData.DynamicFlags & (uint)flag) != 0; }
|
||||
public void AddItemFlag(ItemFieldFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.DynamicFlags), (uint)flags); }
|
||||
public void RemoveItemFlag(ItemFieldFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.DynamicFlags), (uint)flags); }
|
||||
public void SetItemFlags(ItemFieldFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.DynamicFlags), (uint)flags); }
|
||||
public void ReplaceAllItemFlags(ItemFieldFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.DynamicFlags), (uint)flags); }
|
||||
public bool HasItemFlag2(ItemFieldFlags2 flag) { return (m_itemData.DynamicFlags2 & (uint)flag) != 0; }
|
||||
public void AddItemFlag2(ItemFieldFlags2 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.DynamicFlags2), (uint)flags); }
|
||||
public void RemoveItemFlag2(ItemFieldFlags2 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.DynamicFlags2), (uint)flags); }
|
||||
public void SetItemFlags2(ItemFieldFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.DynamicFlags2), (uint)flags); }
|
||||
public void ReplaceAllItemFlags2(ItemFieldFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.DynamicFlags2), (uint)flags); }
|
||||
|
||||
public Bag ToBag() { return IsBag() ? this as Bag : null; }
|
||||
public AzeriteItem ToAzeriteItem() { return IsAzeriteItem() ? this as AzeriteItem : null; }
|
||||
|
||||
@@ -1456,8 +1456,9 @@ namespace Game.Entities
|
||||
Map map = GetMap();
|
||||
if (map != null)
|
||||
{
|
||||
if (map.IsDungeon())
|
||||
m_zoneScript = ((InstanceMap)map).GetInstanceScript();
|
||||
InstanceMap instanceMap = map.ToInstanceMap();
|
||||
if (instanceMap != null)
|
||||
m_zoneScript = (ZoneScript)instanceMap.GetInstanceScript();
|
||||
else if (!map.IsBattlegroundOrArena())
|
||||
{
|
||||
BattleField bf = Global.BattleFieldMgr.GetBattlefieldToZoneId(GetZoneId());
|
||||
@@ -2938,7 +2939,7 @@ namespace Game.Entities
|
||||
public bool HasDynamicFlag(UnitDynFlags flag) { return (m_objectData.DynamicFlags & (uint)flag) != 0; }
|
||||
public void AddDynamicFlag(UnitDynFlags flag) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_objectData).ModifyValue(m_objectData.DynamicFlags), (uint)flag); }
|
||||
public void RemoveDynamicFlag(UnitDynFlags flag) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_objectData).ModifyValue(m_objectData.DynamicFlags), (uint)flag); }
|
||||
public void SetDynamicFlags(UnitDynFlags flag) { SetUpdateFieldValue(m_values.ModifyValue(m_objectData).ModifyValue(m_objectData.DynamicFlags), (uint)flag); }
|
||||
public void ReplaceAllDynamicFlags(UnitDynFlags flag) { SetUpdateFieldValue(m_values.ModifyValue(m_objectData).ModifyValue(m_objectData.DynamicFlags), (uint)flag); }
|
||||
|
||||
public TypeId GetTypeId() { return ObjectTypeId; }
|
||||
public bool IsTypeId(TypeId typeId) { return GetTypeId() == typeId; }
|
||||
|
||||
@@ -220,8 +220,8 @@ namespace Game.Entities
|
||||
SetDisplayId(petInfo.DisplayId);
|
||||
SetNativeDisplayId(petInfo.DisplayId);
|
||||
uint petlevel = petInfo.Level;
|
||||
SetNpcFlags(NPCFlags.None);
|
||||
SetNpcFlags2(NPCFlags2.None);
|
||||
ReplaceAllNpcFlags(NPCFlags.None);
|
||||
ReplaceAllNpcFlags2(NPCFlags2.None);
|
||||
SetName(petInfo.Name);
|
||||
|
||||
switch (GetPetType())
|
||||
@@ -230,14 +230,14 @@ namespace Game.Entities
|
||||
petlevel = owner.GetLevel();
|
||||
|
||||
SetClass(Class.Mage);
|
||||
SetUnitFlags(UnitFlags.PlayerControlled); // this enables popup window (pet dismiss, cancel)
|
||||
ReplaceAllUnitFlags(UnitFlags.PlayerControlled); // this enables popup window (pet dismiss, cancel)
|
||||
break;
|
||||
case PetType.Hunter:
|
||||
SetClass(Class.Warrior);
|
||||
SetGender(Gender.None);
|
||||
SetSheath(SheathState.Melee);
|
||||
SetPetFlags(petInfo.WasRenamed ? UnitPetFlags.CanBeAbandoned : UnitPetFlags.CanBeRenamed | UnitPetFlags.CanBeAbandoned);
|
||||
SetUnitFlags(UnitFlags.PlayerControlled); // this enables popup window (pet abandon, cancel)
|
||||
ReplaceAllPetFlags(petInfo.WasRenamed ? UnitPetFlags.CanBeAbandoned : UnitPetFlags.CanBeRenamed | UnitPetFlags.CanBeAbandoned);
|
||||
ReplaceAllUnitFlags(UnitFlags.PlayerControlled); // this enables popup window (pet abandon, cancel)
|
||||
break;
|
||||
default:
|
||||
if (!IsPetGhoul())
|
||||
@@ -565,7 +565,7 @@ namespace Game.Entities
|
||||
if (GetPetType() == PetType.Hunter)
|
||||
{
|
||||
// pet corpse non lootable and non skinnable
|
||||
SetDynamicFlags(UnitDynFlags.None);
|
||||
ReplaceAllDynamicFlags(UnitDynFlags.None);
|
||||
RemoveUnitFlag(UnitFlags.Skinnable);
|
||||
}
|
||||
}
|
||||
@@ -771,8 +771,8 @@ namespace Game.Entities
|
||||
SetPetNameTimestamp(0);
|
||||
SetPetExperience(0);
|
||||
SetPetNextLevelExperience((uint)(Global.ObjectMgr.GetXPForLevel(GetLevel() + 1) * PetXPFactor));
|
||||
SetNpcFlags(NPCFlags.None);
|
||||
SetNpcFlags2(NPCFlags2.None);
|
||||
ReplaceAllNpcFlags(NPCFlags.None);
|
||||
ReplaceAllNpcFlags2(NPCFlags2.None);
|
||||
|
||||
if (cinfo.CreatureType == CreatureType.Beast)
|
||||
{
|
||||
@@ -780,7 +780,7 @@ namespace Game.Entities
|
||||
SetGender(Gender.None);
|
||||
SetPowerType(PowerType.Focus);
|
||||
SetSheath(SheathState.Melee);
|
||||
SetPetFlags(UnitPetFlags.CanBeRenamed | UnitPetFlags.CanBeAbandoned);
|
||||
ReplaceAllPetFlags(UnitPetFlags.CanBeRenamed | UnitPetFlags.CanBeAbandoned);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -2733,8 +2733,8 @@ namespace Game.Entities
|
||||
SetBankBagSlotCount(bankSlots);
|
||||
SetNativeGender(gender);
|
||||
SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.Inebriation), drunk);
|
||||
SetPlayerFlags(playerFlags);
|
||||
SetPlayerFlagsEx(playerFlagsEx);
|
||||
ReplaceAllPlayerFlags(playerFlags);
|
||||
ReplaceAllPlayerFlagsEx(playerFlagsEx);
|
||||
SetWatchedFactionIndex(watchedFaction);
|
||||
|
||||
atLoginFlags = (AtLoginFlags)at_login;
|
||||
|
||||
@@ -4456,7 +4456,7 @@ namespace Game.Entities
|
||||
|
||||
SetDeathState(DeathState.Corpse);
|
||||
|
||||
SetDynamicFlags(UnitDynFlags.None);
|
||||
ReplaceAllDynamicFlags(UnitDynFlags.None);
|
||||
if (!CliDB.MapStorage.LookupByKey(GetMapId()).Instanceable() && !HasAuraType(AuraType.PreventResurrection))
|
||||
AddPlayerLocalFlag(PlayerLocalFlags.ReleaseTimer);
|
||||
else
|
||||
@@ -4512,7 +4512,7 @@ namespace Game.Entities
|
||||
corpse.SetSex((byte)GetNativeGender());
|
||||
corpse.SetClass((byte)GetClass());
|
||||
corpse.SetCustomizations(m_playerData.Customizations);
|
||||
corpse.SetFlags(flags);
|
||||
corpse.ReplaceAllFlags(flags);
|
||||
corpse.SetDisplayId(GetNativeDisplayId());
|
||||
corpse.SetFactionTemplate(CliDB.ChrRacesStorage.LookupByKey(GetRace()).FactionID);
|
||||
|
||||
@@ -4761,8 +4761,8 @@ namespace Game.Entities
|
||||
|
||||
pet.SetCreatorGUID(GetGUID());
|
||||
pet.SetFaction(GetFaction());
|
||||
pet.SetNpcFlags(NPCFlags.None);
|
||||
pet.SetNpcFlags2(NPCFlags2.None);
|
||||
pet.ReplaceAllNpcFlags(NPCFlags.None);
|
||||
pet.ReplaceAllNpcFlags2(NPCFlags2.None);
|
||||
pet.InitStatsForLevel(GetLevel());
|
||||
|
||||
SetMinion(pet, true);
|
||||
@@ -7598,12 +7598,12 @@ namespace Game.Entities
|
||||
public bool HasPlayerFlag(PlayerFlags flags) { return (m_playerData.PlayerFlags & (uint)flags) != 0; }
|
||||
public void AddPlayerFlag(PlayerFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PlayerFlags), (uint)flags); }
|
||||
public void RemovePlayerFlag(PlayerFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PlayerFlags), (uint)flags); }
|
||||
public void SetPlayerFlags(PlayerFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PlayerFlags), (uint)flags); }
|
||||
public void ReplaceAllPlayerFlags(PlayerFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PlayerFlags), (uint)flags); }
|
||||
|
||||
public bool HasPlayerFlagEx(PlayerFlagsEx flags) { return (m_playerData.PlayerFlagsEx & (uint)flags) != 0; }
|
||||
public void AddPlayerFlagEx(PlayerFlagsEx flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PlayerFlagsEx), (uint)flags); }
|
||||
public void RemovePlayerFlagEx(PlayerFlagsEx flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PlayerFlagsEx), (uint)flags); }
|
||||
public void SetPlayerFlagsEx(PlayerFlagsEx flags) { SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PlayerFlagsEx), (uint)flags); }
|
||||
public void ReplaceAllPlayerFlagsEx(PlayerFlagsEx flags) { SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PlayerFlagsEx), (uint)flags); }
|
||||
|
||||
public void SetAverageItemLevelTotal(float newItemLevel) { SetUpdateFieldValue(ref m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.AvgItemLevel, 0), newItemLevel); }
|
||||
public void SetAverageItemLevelEquipped(float newItemLevel) { SetUpdateFieldValue(ref m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.AvgItemLevel, 1), newItemLevel); }
|
||||
@@ -7692,7 +7692,7 @@ namespace Game.Entities
|
||||
public bool HasPlayerLocalFlag(PlayerLocalFlags flags) { return (m_activePlayerData.LocalFlags & (int)flags) != 0; }
|
||||
public void AddPlayerLocalFlag(PlayerLocalFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.LocalFlags), (uint)flags); }
|
||||
public void RemovePlayerLocalFlag(PlayerLocalFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.LocalFlags), (uint)flags); }
|
||||
public void SetPlayerLocalFlags(PlayerLocalFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.LocalFlags), (uint)flags); }
|
||||
public void ReplaceAllPlayerLocalFlags(PlayerLocalFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.LocalFlags), (uint)flags); }
|
||||
|
||||
public byte GetNumRespecs() { return m_activePlayerData.NumRespecs; }
|
||||
public void SetNumRespecs(byte numRespecs) { SetUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.NumRespecs), numRespecs); }
|
||||
|
||||
@@ -119,7 +119,7 @@ namespace Game.Entities
|
||||
if (goOverride != null)
|
||||
{
|
||||
SetFaction(goOverride.Faction);
|
||||
SetFlags(goOverride.Flags);
|
||||
ReplaceAllFlags(goOverride.Flags);
|
||||
}
|
||||
|
||||
m_goValue.Transport.PathProgress = 0;
|
||||
|
||||
@@ -181,7 +181,7 @@ namespace Game.Entities
|
||||
}
|
||||
|
||||
// PvP, FFAPvP
|
||||
minion.SetPvpFlags(GetPvpFlags());
|
||||
minion.ReplaceAllPvpFlags(GetPvpFlags());
|
||||
|
||||
// FIXME: hack, speed must be set only at follow
|
||||
if (IsTypeId(TypeId.Player) && minion.IsPet())
|
||||
@@ -589,7 +589,7 @@ namespace Game.Entities
|
||||
charm.m_ControlledByPlayer = false;
|
||||
|
||||
// PvP, FFAPvP
|
||||
charm.SetPvpFlags(GetPvpFlags());
|
||||
charm.ReplaceAllPvpFlags(GetPvpFlags());
|
||||
|
||||
Cypher.Assert(charm.GetCharmerGUID().IsEmpty(), $"Unit {charm.GetEntry()} is being charmed, but it already has a charmer {charm.GetCharmerGUID()}");
|
||||
charm.SetUpdateFieldValue(charm.m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.CharmedBy), GetGUID());
|
||||
@@ -628,13 +628,13 @@ namespace Game.Entities
|
||||
{
|
||||
charm.m_ControlledByPlayer = true;
|
||||
charm.AddUnitFlag(UnitFlags.PlayerControlled);
|
||||
charm.SetPvpFlags(player.GetPvpFlags());
|
||||
charm.ReplaceAllPvpFlags(player.GetPvpFlags());
|
||||
}
|
||||
else
|
||||
{
|
||||
charm.m_ControlledByPlayer = false;
|
||||
charm.RemoveUnitFlag(UnitFlags.PlayerControlled);
|
||||
charm.SetPvpFlags(UnitPVPStateFlags.None);
|
||||
charm.ReplaceAllPvpFlags(UnitPVPStateFlags.None);
|
||||
}
|
||||
|
||||
if (charm.IsWalking() != _isWalkingBeforeCharm)
|
||||
|
||||
@@ -803,11 +803,11 @@ namespace Game.Entities
|
||||
public bool HasNpcFlag(NPCFlags flags) { return (m_unitData.NpcFlags[0] & (uint)flags) != 0; }
|
||||
public void AddNpcFlag(NPCFlags flags) { SetUpdateFieldFlagValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags, 0), (uint)flags); }
|
||||
public void RemoveNpcFlag(NPCFlags flags) { RemoveUpdateFieldFlagValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags, 0), (uint)flags); }
|
||||
public void SetNpcFlags(NPCFlags flags) { SetUpdateFieldValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags, 0), (uint)flags); }
|
||||
public void ReplaceAllNpcFlags(NPCFlags flags) { SetUpdateFieldValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags, 0), (uint)flags); }
|
||||
public bool HasNpcFlag2(NPCFlags2 flags) { return (m_unitData.NpcFlags[1] & (uint)flags) != 0; }
|
||||
public void AddNpcFlag2(NPCFlags2 flags) { SetUpdateFieldFlagValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags, 1), (uint)flags); }
|
||||
public void RemoveNpcFlag2(NPCFlags2 flags) { RemoveUpdateFieldFlagValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags, 1), (uint)flags); }
|
||||
public void SetNpcFlags2(NPCFlags2 flags) { SetUpdateFieldValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags, 1), (uint)flags); }
|
||||
public void ReplaceAllNpcFlags2(NPCFlags2 flags) { SetUpdateFieldValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.NpcFlags, 1), (uint)flags); }
|
||||
|
||||
public bool IsVendor() { return HasNpcFlag(NPCFlags.Vendor); }
|
||||
public bool IsTrainer() { return HasNpcFlag(NPCFlags.Trainer); }
|
||||
@@ -1984,15 +1984,15 @@ namespace Game.Entities
|
||||
public bool HasUnitFlag(UnitFlags flags) { return (m_unitData.Flags & (uint)flags) != 0; }
|
||||
public void AddUnitFlag(UnitFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags), (uint)flags); }
|
||||
public void RemoveUnitFlag(UnitFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags), (uint)flags); }
|
||||
public void SetUnitFlags(UnitFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags), (uint)flags); }
|
||||
public void ReplaceAllUnitFlags(UnitFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags), (uint)flags); }
|
||||
public bool HasUnitFlag2(UnitFlags2 flags) { return (m_unitData.Flags2 & (uint)flags) != 0; }
|
||||
public void AddUnitFlag2(UnitFlags2 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags2), (uint)flags); }
|
||||
public void RemoveUnitFlag2(UnitFlags2 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags2), (uint)flags); }
|
||||
public void SetUnitFlags2(UnitFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags2), (uint)flags); }
|
||||
public void ReplaceAllUnitFlags2(UnitFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags2), (uint)flags); }
|
||||
public bool HasUnitFlag3(UnitFlags3 flags) { return (m_unitData.Flags3 & (uint)flags) != 0; }
|
||||
public void AddUnitFlag3(UnitFlags3 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags3), (uint)flags); }
|
||||
public void RemoveUnitFlag3(UnitFlags3 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags3), (uint)flags); }
|
||||
public void SetUnitFlags3(UnitFlags3 flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags3), (uint)flags); }
|
||||
public void ReplaceAllUnitFlags3(UnitFlags3 flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags3), (uint)flags); }
|
||||
|
||||
public void SetCreatedBySpell(uint spellId) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.CreatedBySpell), spellId); }
|
||||
|
||||
@@ -2005,7 +2005,7 @@ namespace Game.Entities
|
||||
public bool HasPvpFlag(UnitPVPStateFlags flags) { return (m_unitData.PvpFlags & (uint)flags) != 0; }
|
||||
public void AddPvpFlag(UnitPVPStateFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PvpFlags), (byte)flags); }
|
||||
public void RemovePvpFlag(UnitPVPStateFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PvpFlags), (byte)flags); }
|
||||
public void SetPvpFlags(UnitPVPStateFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PvpFlags), (byte)flags); }
|
||||
public void ReplaceAllPvpFlags(UnitPVPStateFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PvpFlags), (byte)flags); }
|
||||
public bool IsInSanctuary() { return HasPvpFlag(UnitPVPStateFlags.Sanctuary); }
|
||||
public bool IsPvP() { return HasPvpFlag(UnitPVPStateFlags.PvP); }
|
||||
public bool IsFFAPvP() { return HasPvpFlag(UnitPVPStateFlags.FFAPvp); }
|
||||
@@ -2017,7 +2017,7 @@ namespace Game.Entities
|
||||
public bool HasPetFlag(UnitPetFlags flags) { return (m_unitData.PetFlags & (byte)flags) != 0; }
|
||||
public void AddPetFlag(UnitPetFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PetFlags), (byte)flags); }
|
||||
public void RemovePetFlag(UnitPetFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PetFlags), (byte)flags); }
|
||||
public void SetPetFlags(UnitPetFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PetFlags), (byte)flags); }
|
||||
public void ReplaceAllPetFlags(UnitPetFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PetFlags), (byte)flags); }
|
||||
|
||||
public void SetPetNumberForClient(uint petNumber) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PetNumber), petNumber); }
|
||||
public void SetPetNameTimestamp(uint timestamp) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.PetNameTimestamp), timestamp); }
|
||||
@@ -2165,7 +2165,7 @@ namespace Game.Entities
|
||||
public UnitStandStateType GetStandState() { return (UnitStandStateType)(byte)m_unitData.StandState; }
|
||||
public void AddVisFlags(UnitVisFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.VisFlags), (byte)flags); }
|
||||
public void RemoveVisFlags(UnitVisFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.VisFlags), (byte)flags); }
|
||||
public void SetVisFlags(UnitVisFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.VisFlags), (byte)flags); }
|
||||
public void ReplaceAllVisFlags(UnitVisFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.VisFlags), (byte)flags); }
|
||||
|
||||
public bool IsSitState()
|
||||
{
|
||||
|
||||
@@ -1141,8 +1141,8 @@ namespace Game
|
||||
if (creatureTemplate != null)
|
||||
npcflag |= (ulong)creatureTemplate.Npcflag;
|
||||
|
||||
creature.SetNpcFlags((NPCFlags)(npcflag & 0xFFFFFFFF));
|
||||
creature.SetNpcFlags2((NPCFlags2)(npcflag >> 32));
|
||||
creature.ReplaceAllNpcFlags((NPCFlags)(npcflag & 0xFFFFFFFF));
|
||||
creature.ReplaceAllNpcFlags2((NPCFlags2)(npcflag >> 32));
|
||||
// reset gossip options, since the flag change might have added / removed some
|
||||
//cr.ResetGossipOptions();
|
||||
}
|
||||
|
||||
@@ -757,7 +757,7 @@ namespace Game
|
||||
}
|
||||
|
||||
item.SetGiftCreator(GetPlayer().GetGUID());
|
||||
item.SetItemFlags(ItemFieldFlags.Wrapped);
|
||||
item.ReplaceAllItemFlags(ItemFieldFlags.Wrapped);
|
||||
item.SetState(ItemUpdateState.Changed, GetPlayer());
|
||||
|
||||
if (item.GetState() == ItemUpdateState.New) // save new item, to have alway for `character_gifts` record in `item_instance`
|
||||
|
||||
@@ -223,7 +223,7 @@ namespace Game
|
||||
|
||||
item.SetGiftCreator(ObjectGuid.Empty);
|
||||
item.SetEntry(entry);
|
||||
item.SetItemFlags((ItemFieldFlags)flags);
|
||||
item.ReplaceAllItemFlags((ItemFieldFlags)flags);
|
||||
item.SetMaxDurability(item.GetTemplate().MaxDurability);
|
||||
item.SetState(ItemUpdateState.Changed, GetPlayer());
|
||||
|
||||
|
||||
@@ -3392,7 +3392,7 @@ namespace Game.Maps
|
||||
bones = new Corpse();
|
||||
bones.Create(corpse.GetGUID().GetCounter(), this);
|
||||
|
||||
bones.SetCorpseDynamicFlags((CorpseDynFlags)(byte)corpse.m_corpseData.DynamicFlags);
|
||||
bones.ReplaceAllCorpseDynamicFlags((CorpseDynFlags)(byte)corpse.m_corpseData.DynamicFlags);
|
||||
bones.SetOwnerGUID(corpse.m_corpseData.Owner);
|
||||
bones.SetPartyGUID(corpse.m_corpseData.PartyGUID);
|
||||
bones.SetGuildGUID(corpse.m_corpseData.GuildGUID);
|
||||
@@ -3401,7 +3401,7 @@ namespace Game.Maps
|
||||
bones.SetSex(corpse.m_corpseData.Sex);
|
||||
bones.SetClass(corpse.m_corpseData.Class);
|
||||
bones.SetCustomizations(corpse.m_corpseData.Customizations);
|
||||
bones.SetFlags((CorpseFlags)(corpse.m_corpseData.Flags | (uint)CorpseFlags.Bones));
|
||||
bones.ReplaceAllFlags((CorpseFlags)(corpse.m_corpseData.Flags | (uint)CorpseFlags.Bones));
|
||||
bones.SetFactionTemplate(corpse.m_corpseData.FactionTemplate);
|
||||
for (int i = 0; i < EquipmentSlot.End; ++i)
|
||||
bones.SetItem((uint)i, corpse.m_corpseData.Items[i]);
|
||||
|
||||
@@ -3954,7 +3954,7 @@ namespace Game.Spells
|
||||
pet.Relocate(x, y, z, player.GetOrientation()); // This is needed so SaveStayPosition() will get the proper coords.
|
||||
}
|
||||
|
||||
pet.SetDynamicFlags(UnitDynFlags.None);
|
||||
pet.ReplaceAllDynamicFlags(UnitDynFlags.None);
|
||||
pet.RemoveUnitFlag(UnitFlags.Skinnable);
|
||||
pet.SetDeathState(DeathState.Alive);
|
||||
pet.ClearUnitState(UnitState.AllErasable);
|
||||
|
||||
Reference in New Issue
Block a user