diff options
37 files changed, 279 insertions, 267 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp index c305a5e3f6f..c219d459cb1 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp @@ -319,8 +319,8 @@ void EscortAI::Start(bool isActiveAttacker /* = true*/, bool run /* = false */, me->GetMotionMaster()->Clear(MOTION_PRIORITY_NORMAL); // disable npcflags - me->SetNpcFlags(UNIT_NPC_FLAG_NONE); - me->SetNpcFlags2(UNIT_NPC_FLAG_2_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags2(UNIT_NPC_FLAG_2_NONE); if (me->IsImmuneToNPC()) { _hasImmuneToNPCFlags = true; diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp index 3ae0f5e0c94..41a63754262 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp @@ -184,8 +184,8 @@ void FollowerAI::StartFollow(Player* player, uint32 factionForFollower, uint32 q me->GetMotionMaster()->Clear(MOTION_PRIORITY_NORMAL); me->PauseMovement(); - me->SetNpcFlags(UNIT_NPC_FLAG_NONE); - me->SetNpcFlags2(UNIT_NPC_FLAG_2_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags2(UNIT_NPC_FLAG_2_NONE); AddFollowState(STATE_FOLLOW_INPROGRESS); diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index 61d546ef17d..2c7e93cb0af 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -70,7 +70,7 @@ void SmartAI::StartPath(bool run/* = false*/, uint32 pathId/* = 0*/, bool repeat if (invoker && invoker->GetTypeId() == TYPEID_PLAYER) { _escortNPCFlags = me->m_unitData->NpcFlags[0]; - me->SetNpcFlags((NPCFlags)0); + me->ReplaceAllNpcFlags((NPCFlags)0); } me->GetMotionMaster()->MovePath(_path, _repeatWaypointPath); @@ -194,7 +194,7 @@ void SmartAI::EndPath(bool fail) if (_escortNPCFlags) { - me->SetNpcFlags((NPCFlags)_escortNPCFlags); + me->ReplaceAllNpcFlags((NPCFlags)_escortNPCFlags); _escortNPCFlags = 0; } diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index b7e78371973..b28edb29ef0 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1645,7 +1645,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u { for (WorldObject* target : targets) if (IsCreature(target)) - target->ToUnit()->SetNpcFlags(NPCFlags(e.action.flag.flag)); + target->ToUnit()->ReplaceAllNpcFlags(NPCFlags(e.action.flag.flag)); break; } case SMART_ACTION_ADD_NPC_FLAG: diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp index b3589db71ae..c0e267c6b28 100644 --- a/src/server/game/Entities/Corpse/Corpse.cpp +++ b/src/server/game/Entities/Corpse/Corpse.cpp @@ -192,8 +192,8 @@ bool Corpse::LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields) SetRace(fields[7].GetUInt8()); SetClass(fields[8].GetUInt8()); SetSex(fields[9].GetUInt8()); - SetFlags(fields[10].GetUInt8()); - SetCorpseDynamicFlags(CorpseDynFlags(fields[11].GetUInt8())); + ReplaceAllFlags(fields[10].GetUInt8()); + ReplaceAllCorpseDynamicFlags(CorpseDynFlags(fields[11].GetUInt8())); SetOwnerGUID(ObjectGuid::Create<HighGuid::Player>(fields[15].GetUInt64())); SetFactionTemplate(sChrRacesStore.AssertEntry(m_corpseData->RaceID)->FactionID); diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h index 5dd29ab5da9..c52e8e74dd1 100644 --- a/src/server/game/Entities/Corpse/Corpse.h +++ b/src/server/game/Entities/Corpse/Corpse.h @@ -86,9 +86,11 @@ class TC_GAME_API Corpse : public WorldObject, public GridObject<Corpse> void DeleteFromDB(CharacterDatabaseTransaction trans); static void DeleteFromDB(ObjectGuid const& ownerGuid, CharacterDatabaseTransaction trans); + CorpseDynFlags GetCorpseDynamicFlags() const { return CorpseDynFlags(*m_corpseData->DynamicFlags); } void AddCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); } void RemoveCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); } - void SetCorpseDynamicFlags(CorpseDynFlags dynamicFlags) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); } + void ReplaceAllCorpseDynamicFlags(CorpseDynFlags dynamicFlags) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); } + ObjectGuid GetOwnerGUID() const override { return m_corpseData->Owner; } void SetOwnerGUID(ObjectGuid owner) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::Owner), owner); } void SetPartyGUID(ObjectGuid partyGuid) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::PartyGUID), partyGuid); } @@ -97,7 +99,7 @@ class TC_GAME_API Corpse : public WorldObject, public GridObject<Corpse> void SetRace(uint8 race) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::RaceID), race); } void SetClass(uint8 playerClass) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::Class), playerClass); } void SetSex(uint8 sex) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::Sex), sex); } - void SetFlags(uint32 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::Flags), flags); } + void ReplaceAllFlags(uint32 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::Flags), flags); } void SetFactionTemplate(int32 factionTemplate) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::FactionTemplate), factionTemplate); } uint32 GetFaction() const override { return m_corpseData->FactionTemplate; } void SetFaction(uint32 faction) override { SetFactionTemplate(faction); } diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 43138185ce0..c5b445df19c 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -612,19 +612,19 @@ bool Creature::UpdateEntry(uint32 entry, CreatureData const* data /*= nullptr*/, if (cInfo->flags_extra & CREATURE_FLAG_EXTRA_WORLDEVENT) npcFlags |= sGameEventMgr->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 &= ~UNIT_FLAG_IN_COMBAT; if (IsInCombat()) unitFlags |= UNIT_FLAG_IN_COMBAT; - SetUnitFlags(UnitFlags(unitFlags)); - SetUnitFlags2(UnitFlags2(unitFlags2)); - SetUnitFlags3(UnitFlags3(unitFlags3)); + ReplaceAllUnitFlags(UnitFlags(unitFlags)); + ReplaceAllUnitFlags2(UnitFlags2(unitFlags2)); + ReplaceAllUnitFlags3(UnitFlags3(unitFlags3)); - SetDynamicFlags(dynamicFlags); + ReplaceAllDynamicFlags(dynamicFlags); SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::StateAnimID), sDB2Manager.GetEmptyAnimStateID()); @@ -2130,8 +2130,8 @@ void Creature::setDeathState(DeathState s) DoNotReacquireSpellFocusTarget(); // cancel delayed re-target SetTarget(ObjectGuid::Empty); // drop target - dead mobs shouldn't ever target things - SetNpcFlags(UNIT_NPC_FLAG_NONE); - SetNpcFlags2(UNIT_NPC_FLAG_2_NONE); + ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); + ReplaceAllNpcFlags2(UNIT_NPC_FLAG_2_NONE); SetMountDisplayId(0); // if creature is mounted on a virtual mount, remove it at death @@ -2179,13 +2179,13 @@ void Creature::setDeathState(DeathState s) if (cInfo->flags_extra & CREATURE_FLAG_EXTRA_WORLDEVENT) npcFlags |= sGameEventMgr->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(dynamicFlags); + ReplaceAllUnitFlags(UnitFlags(unitFlags)); + ReplaceAllUnitFlags2(UnitFlags2(unitFlags2)); + ReplaceAllUnitFlags3(UnitFlags3(unitFlags3)); + ReplaceAllDynamicFlags(dynamicFlags); RemoveUnitFlag(UNIT_FLAG_IN_COMBAT); @@ -2678,7 +2678,7 @@ bool Creature::LoadCreaturesAddon() // 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: @@ -2698,8 +2698,8 @@ bool Creature::LoadCreaturesAddon() // 3 ShapeshiftForm Must be determined/set by shapeshift spell/aura SetSheath(SheathState(cainfo->bytes2 & 0xFF)); - SetPvpFlags(UNIT_BYTE2_FLAG_NONE); - SetPetFlags(UNIT_PET_FLAG_NONE); + ReplaceAllPvpFlags(UNIT_BYTE2_FLAG_NONE); + ReplaceAllPetFlags(UNIT_PET_FLAG_NONE); SetShapeshiftForm(FORM_NONE); } @@ -3493,7 +3493,7 @@ void Creature::AtDisengage() ClearUnitState(UNIT_STATE_ATTACK_PLAYER); if (IsAlive() && HasDynamicFlag(UNIT_DYNFLAG_TAPPED)) - SetDynamicFlags(GetCreatureTemplate()->dynamicflags); + ReplaceAllDynamicFlags(GetCreatureTemplate()->dynamicflags); if (IsPet() || IsGuardian()) // update pets' speed for catchup OOC speed { diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index a5242500c14..8d618eaf8f2 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -336,7 +336,7 @@ bool GameObject::Create(uint32 entry, Map* map, Position const& pos, QuaternionD if (GameObjectOverride const* goOverride = GetGameObjectOverride()) { SetFaction(goOverride->Faction); - SetFlags(GameObjectFlags(goOverride->Flags)); + ReplaceAllFlags(GameObjectFlags(goOverride->Flags)); } if (m_goTemplateAddon) @@ -632,7 +632,7 @@ void GameObject::Update(uint32 diff) if (caster && caster->GetTypeId() == TYPEID_PLAYER) { SetGoState(GO_STATE_ACTIVE); - SetFlags(GO_FLAG_NODESPAWN); + ReplaceAllFlags(GO_FLAG_NODESPAWN); UpdateData udata(caster->GetMapId()); WorldPacket packet; @@ -993,7 +993,7 @@ void GameObject::Update(uint32 diff) SendGameObjectDespawn(); //reset flags if (GameObjectOverride const* goOverride = GetGameObjectOverride()) - SetFlags(GameObjectFlags(goOverride->Flags)); + ReplaceAllFlags(GameObjectFlags(goOverride->Flags)); } if (!m_respawnDelayTime) @@ -1094,7 +1094,7 @@ void GameObject::Delete() SetGoState(GO_STATE_READY); if (GameObjectOverride const* goOverride = GetGameObjectOverride()) - SetFlags(GameObjectFlags(goOverride->Flags)); + ReplaceAllFlags(GameObjectFlags(goOverride->Flags)); uint32 poolid = GetSpawnId() ? sPoolMgr->IsPartOfAPool<GameObject>(GetSpawnId()) : 0; if (poolid) diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index ee73ba521d4..7b2d4aa1d88 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -198,10 +198,12 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject> void SendGameObjectDespawn(); void getFishLoot(Loot* loot, Player* loot_owner); void getFishLootJunk(Loot* loot, Player* loot_owner); + bool HasFlag(GameObjectFlags flags) const { return (*m_gameObjectData->Flags & flags) != 0; } void AddFlag(GameObjectFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::Flags), flags); } void RemoveFlag(GameObjectFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::Flags), flags); } - void SetFlags(GameObjectFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::Flags), flags); } + void ReplaceAllFlags(GameObjectFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::Flags), flags); } + void SetLevel(uint32 level) { SetUpdateFieldValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::Level), level); } GameobjectTypes GetGoType() const { return GameobjectTypes(*m_gameObjectData->TypeID); } void SetGoType(GameobjectTypes type) { SetUpdateFieldValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::TypeID), type); } diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index 252e881936e..30617f21b88 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -883,7 +883,7 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid ownerGuid, Field* fie need_save = true; } - SetItemFlags(ItemFieldFlags(itemFlags)); + ReplaceAllItemFlags(ItemFieldFlags(itemFlags)); uint32 durability = fields[10].GetUInt16(); SetDurability(durability); @@ -1647,7 +1647,7 @@ Item* Item::CloneItem(uint32 count, Player const* player /*= nullptr*/) const newItem->SetCreator(GetCreator()); newItem->SetGiftCreator(GetGiftCreator()); - newItem->SetItemFlags(ItemFieldFlags(*m_itemData->DynamicFlags & ~(ITEM_FIELD_FLAG_REFUNDABLE | ITEM_FIELD_FLAG_BOP_TRADEABLE))); + newItem->ReplaceAllItemFlags(ItemFieldFlags(*m_itemData->DynamicFlags & ~(ITEM_FIELD_FLAG_REFUNDABLE | ITEM_FIELD_FLAG_BOP_TRADEABLE))); 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) diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index 32c81b5d77a..7440b9bb0a2 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -208,11 +208,13 @@ class TC_GAME_API Item : public Object bool HasItemFlag(ItemFieldFlags flag) const { return (*m_itemData->DynamicFlags & flag) != 0; } void AddItemFlag(ItemFieldFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags), flags); } void RemoveItemFlag(ItemFieldFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags), flags); } - void SetItemFlags(ItemFieldFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags), flags); } + void ReplaceAllItemFlags(ItemFieldFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags), flags); } + bool HasItemFlag2(ItemFieldFlags2 flag) const { return (*m_itemData->DynamicFlags2 & flag) != 0; } void AddItemFlag2(ItemFieldFlags2 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags2), flags); } void RemoveItemFlag2(ItemFieldFlags2 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags2), flags); } - void SetItemFlags2(ItemFieldFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags2), flags); } + void ReplaceAllItemFlags2(ItemFieldFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags2), flags); } + bool IsSoulBound() const { return HasItemFlag(ITEM_FIELD_FLAG_SOULBOUND); } bool IsBoundAccountWide() const { return GetTemplate()->HasFlag(ITEM_FLAG_IS_BOUND_TO_ACCOUNT); } bool IsBattlenetAccountBound() const { return GetTemplate()->HasFlag(ITEM_FLAG2_BNET_ACCOUNT_TRADE_OK); } diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index eec0d27c179..66c9ed7a8ce 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -165,7 +165,7 @@ class TC_GAME_API Object bool HasDynamicFlag(uint32 flag) const { return (*m_objectData->DynamicFlags & flag) != 0; } void AddDynamicFlag(uint32 flag) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Object::m_objectData).ModifyValue(&UF::ObjectData::DynamicFlags), flag); } void RemoveDynamicFlag(uint32 flag) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Object::m_objectData).ModifyValue(&UF::ObjectData::DynamicFlags), flag); } - void SetDynamicFlags(uint32 flag) { SetUpdateFieldValue(m_values.ModifyValue(&Object::m_objectData).ModifyValue(&UF::ObjectData::DynamicFlags), flag); } + void ReplaceAllDynamicFlags(uint32 flag) { SetUpdateFieldValue(m_values.ModifyValue(&Object::m_objectData).ModifyValue(&UF::ObjectData::DynamicFlags), flag); } TypeID GetTypeId() const { return m_objectTypeId; } bool isType(uint16 mask) const { return (mask & m_objectType) != 0; } diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp index dae7ea5e396..82a1ca81712 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp +++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp @@ -145,7 +145,7 @@ bool ItemMod::operator==(ItemMod const& right) const void ItemModList::WriteCreate(ByteBuffer& data, Item const* owner, Player const* receiver) const { data.WriteBits(Values.size(), 6); - for (std::size_t i = 0; i < Values.size(); ++i) + for (uint32 i = 0; i < Values.size(); ++i) { Values[i].WriteCreate(data, owner, receiver); } @@ -175,7 +175,7 @@ void ItemModList::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Item con { if (changesMask[0]) { - for (std::size_t i = 0; i < Values.size(); ++i) + for (uint32 i = 0; i < Values.size(); ++i) { if (Values.HasChanged(i) || ignoreChangesMask) { @@ -217,7 +217,7 @@ bool ArtifactPower::operator==(ArtifactPower const& right) const void SocketedGem::WriteCreate(ByteBuffer& data, Item const* owner, Player const* receiver) const { data << int32(ItemID); - for (std::size_t i = 0; i < 16; ++i) + for (uint32 i = 0; i < 16; ++i) { data << uint16(BonusListIDs[i]); } @@ -248,7 +248,7 @@ void SocketedGem::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Item con } if (changesMask[3]) { - for (std::size_t i = 0; i < 16; ++i) + for (uint32 i = 0; i < 16; ++i) { if (changesMask[4 + i]) { @@ -269,7 +269,7 @@ void SocketedGem::ClearChangesMask() void ItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const { data << uint32(BonusListIDs->size()); - for (std::size_t i = 0; i < BonusListIDs->size(); ++i) + for (uint32 i = 0; i < BonusListIDs->size(); ++i) { data << int32((*BonusListIDs)[i]); } @@ -281,13 +281,13 @@ void ItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi { data << uint32(StackCount); data << uint32(Expiration); - for (std::size_t i = 0; i < 5; ++i) + for (uint32 i = 0; i < 5; ++i) { data << int32(SpellCharges[i]); } } data << uint32(DynamicFlags); - for (std::size_t i = 0; i < 13; ++i) + for (uint32 i = 0; i < 13; ++i) { Enchantment[i].WriteCreate(data, owner, receiver); } @@ -310,11 +310,11 @@ void ItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi { data << uint32(DynamicFlags2); } - for (std::size_t i = 0; i < ArtifactPowers.size(); ++i) + for (uint32 i = 0; i < ArtifactPowers.size(); ++i) { ArtifactPowers[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < Gems.size(); ++i) + for (uint32 i = 0; i < Gems.size(); ++i) { Gems[i].WriteCreate(data, owner, receiver); } @@ -344,7 +344,7 @@ void ItemData::FilterDisallowedFieldsMaskForFlag(Mask& changesMask, EnumFlag<Upd void ItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignoreNestedChangesMask, Item const* owner, Player const* receiver) const { data.WriteBits(changesMask.GetBlocksMask(0), 2); - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); @@ -353,7 +353,7 @@ void ItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor if (changesMask[1]) { data.WriteBits(BonusListIDs->size(), 32); - for (std::size_t i = 0; i < BonusListIDs->size(); ++i) + for (uint32 i = 0; i < BonusListIDs->size(); ++i) { data << int32((*BonusListIDs)[i]); } @@ -382,7 +382,7 @@ void ItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor { if (changesMask[2]) { - for (std::size_t i = 0; i < ArtifactPowers.size(); ++i) + for (uint32 i = 0; i < ArtifactPowers.size(); ++i) { if (ArtifactPowers.HasChanged(i) || ignoreNestedChangesMask) { @@ -392,7 +392,7 @@ void ItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[3]) { - for (std::size_t i = 0; i < Gems.size(); ++i) + for (uint32 i = 0; i < Gems.size(); ++i) { if (Gems.HasChanged(i) || ignoreNestedChangesMask) { @@ -467,7 +467,7 @@ void ItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[20]) { - for (std::size_t i = 0; i < 5; ++i) + for (uint32 i = 0; i < 5; ++i) { if (changesMask[21 + i]) { @@ -477,7 +477,7 @@ void ItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[26]) { - for (std::size_t i = 0; i < 13; ++i) + for (uint32 i = 0; i < 13; ++i) { if (changesMask[27 + i]) { @@ -515,7 +515,7 @@ void ItemData::ClearChangesMask() void ContainerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const { - for (std::size_t i = 0; i < 36; ++i) + for (uint32 i = 0; i < 36; ++i) { data << Slots[i]; } @@ -530,7 +530,7 @@ void ContainerData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fiel void ContainerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignoreNestedChangesMask, Bag const* owner, Player const* receiver) const { data.WriteBits(changesMask.GetBlocksMask(0), 2); - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); @@ -544,7 +544,7 @@ void ContainerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool } if (changesMask[2]) { - for (std::size_t i = 0; i < 36; ++i) + for (uint32 i = 0; i < 36; ++i) { if (changesMask[3 + i]) { @@ -563,7 +563,7 @@ void ContainerData::ClearChangesMask() void AzeriteEmpoweredItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const { - for (std::size_t i = 0; i < 5; ++i) + for (uint32 i = 0; i < 5; ++i) { data << int32(Selections[i]); } @@ -583,7 +583,7 @@ void AzeriteEmpoweredItemData::WriteUpdate(ByteBuffer& data, Mask const& changes data.FlushBits(); if (changesMask[0]) { - for (std::size_t i = 0; i < 5; ++i) + for (uint32 i = 0; i < 5; ++i) { if (changesMask[1 + i]) { @@ -619,7 +619,7 @@ bool UnlockedAzeriteEssence::operator==(UnlockedAzeriteEssence const& right) con void SelectedAzeriteEssences::WriteCreate(ByteBuffer& data, AzeriteItem const* owner, Player const* receiver) const { - for (std::size_t i = 0; i < 4; ++i) + for (uint32 i = 0; i < 4; ++i) { data << uint32(AzeriteEssenceID[i]); } @@ -655,7 +655,7 @@ void SelectedAzeriteEssences::WriteUpdate(ByteBuffer& data, bool ignoreChangesMa } if (changesMask[3]) { - for (std::size_t i = 0; i < 4; ++i) + for (uint32 i = 0; i < 4; ++i) { if (changesMask[4 + i]) { @@ -687,11 +687,11 @@ void AzeriteItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fi data << uint32(UnlockedEssences.size()); data << uint32(SelectedEssences.size()); data << uint32(UnlockedEssenceMilestones.size()); - for (std::size_t i = 0; i < UnlockedEssences.size(); ++i) + for (uint32 i = 0; i < UnlockedEssences.size(); ++i) { UnlockedEssences[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < UnlockedEssenceMilestones.size(); ++i) + for (uint32 i = 0; i < UnlockedEssenceMilestones.size(); ++i) { data << uint32(UnlockedEssenceMilestones[i]); } @@ -699,7 +699,7 @@ void AzeriteItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fi { data.WriteBit(Enabled); } - for (std::size_t i = 0; i < SelectedEssences.size(); ++i) + for (uint32 i = 0; i < SelectedEssences.size(); ++i) { SelectedEssences[i].WriteCreate(data, owner, receiver); } @@ -763,7 +763,7 @@ void AzeriteItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, boo { if (changesMask[2]) { - for (std::size_t i = 0; i < UnlockedEssences.size(); ++i) + for (uint32 i = 0; i < UnlockedEssences.size(); ++i) { if (UnlockedEssences.HasChanged(i) || ignoreNestedChangesMask) { @@ -773,7 +773,7 @@ void AzeriteItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, boo } if (changesMask[4]) { - for (std::size_t i = 0; i < UnlockedEssenceMilestones.size(); ++i) + for (uint32 i = 0; i < UnlockedEssenceMilestones.size(); ++i) { if (UnlockedEssenceMilestones.HasChanged(i) || ignoreNestedChangesMask) { @@ -783,7 +783,7 @@ void AzeriteItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, boo } if (changesMask[3]) { - for (std::size_t i = 0; i < SelectedEssences.size(); ++i) + for (uint32 i = 0; i < SelectedEssences.size(); ++i) { if (SelectedEssences.HasChanged(i) || ignoreNestedChangesMask) { @@ -933,7 +933,7 @@ bool PassiveSpellHistory::operator==(PassiveSpellHistory const& right) const void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const { data << int32(ViewerDependentValue<DisplayIDTag>::GetValue(this, owner, receiver)); - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { data << uint32(ViewerDependentValue<NpcFlagsTag>::GetValue(this, i, owner, receiver)); } @@ -943,7 +943,7 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi data << uint32(StateWorldEffectIDs->size()); data << uint32(StateWorldEffectsQuestObjectiveID); data << int32(SpellOverrideNameID); - for (std::size_t i = 0; i < StateWorldEffectIDs->size(); ++i) + for (uint32 i = 0; i < StateWorldEffectIDs->size(); ++i) { data << uint32((*StateWorldEffectIDs)[i]); } @@ -970,14 +970,14 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi data << uint8(DisplayPower); data << uint32(OverrideDisplayPowerID); data << int64(Health); - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { data << int32(Power[i]); data << int32(MaxPower[i]); } if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner | UpdateFieldFlag::UnitAll)) { - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { data << float(PowerRegenFlatModifier[i]); data << float(PowerRegenInterruptedFlatModifier[i]); @@ -994,7 +994,7 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi data << int32(ScalingHealthItemLevelCurveID); data << int32(ScalingDamageItemLevelCurveID); data << int32(ViewerDependentValue<FactionTemplateTag>::GetValue(this, owner, receiver)); - for (std::size_t i = 0; i < 3; ++i) + for (uint32 i = 0; i < 3; ++i) { VirtualItems[i].WriteCreate(data, owner, receiver); } @@ -1002,7 +1002,7 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi data << uint32(Flags2); data << uint32(Flags3); data << uint32(ViewerDependentValue<AuraStateTag>::GetValue(this, owner, receiver)); - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { data << uint32(AttackRoundBaseTime[i]); } @@ -1045,7 +1045,7 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi data << int32(EmoteState); if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner)) { - for (std::size_t i = 0; i < 4; ++i) + for (uint32 i = 0; i < 4; ++i) { data << int32(Stats[i]); data << int32(StatPosBuff[i]); @@ -1054,14 +1054,14 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi } if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner | UpdateFieldFlag::Empath)) { - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { data << int32(Resistances[i]); } } if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner)) { - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { data << int32(BonusResistanceMods[i]); data << int32(ManaCostModifier[i]); @@ -1116,15 +1116,15 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi data << uint32(ChannelObjects.size()); data << uint32(SilencedSchoolMask); data << NameplateAttachToGUID; - for (std::size_t i = 0; i < PassiveSpells.size(); ++i) + for (uint32 i = 0; i < PassiveSpells.size(); ++i) { PassiveSpells[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < WorldEffects.size(); ++i) + for (uint32 i = 0; i < WorldEffects.size(); ++i) { data << int32(WorldEffects[i]); } - for (std::size_t i = 0; i < ChannelObjects.size(); ++i) + for (uint32 i = 0; i < ChannelObjects.size(); ++i) { data << ChannelObjects[i]; } @@ -1157,7 +1157,7 @@ void UnitData::FilterDisallowedFieldsMaskForFlag(Mask& changesMask, EnumFlag<Upd void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignoreNestedChangesMask, Unit const* owner, Player const* receiver) const { data.WriteBits(changesMask.GetBlocksMask(0), 7); - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); @@ -1166,7 +1166,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor if (changesMask[1]) { data.WriteBits(StateWorldEffectIDs->size(), 32); - for (std::size_t i = 0; i < StateWorldEffectIDs->size(); ++i) + for (uint32 i = 0; i < StateWorldEffectIDs->size(); ++i) { data << uint32((*StateWorldEffectIDs)[i]); } @@ -1202,7 +1202,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor { if (changesMask[2]) { - for (std::size_t i = 0; i < PassiveSpells.size(); ++i) + for (uint32 i = 0; i < PassiveSpells.size(); ++i) { if (PassiveSpells.HasChanged(i) || ignoreNestedChangesMask) { @@ -1212,7 +1212,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[3]) { - for (std::size_t i = 0; i < WorldEffects.size(); ++i) + for (uint32 i = 0; i < WorldEffects.size(); ++i) { if (WorldEffects.HasChanged(i) || ignoreNestedChangesMask) { @@ -1222,7 +1222,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[4]) { - for (std::size_t i = 0; i < ChannelObjects.size(); ++i) + for (uint32 i = 0; i < ChannelObjects.size(); ++i) { if (ChannelObjects.HasChanged(i) || ignoreNestedChangesMask) { @@ -1690,7 +1690,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[120]) { - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { if (changesMask[121 + i]) { @@ -1700,7 +1700,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[123]) { - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { if (changesMask[124 + i]) { @@ -1722,7 +1722,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[152]) { - for (std::size_t i = 0; i < 3; ++i) + for (uint32 i = 0; i < 3; ++i) { if (changesMask[153 + i]) { @@ -1732,7 +1732,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[156]) { - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { if (changesMask[157 + i]) { @@ -1742,7 +1742,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[159]) { - for (std::size_t i = 0; i < 4; ++i) + for (uint32 i = 0; i < 4; ++i) { if (changesMask[160 + i]) { @@ -1760,7 +1760,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor } if (changesMask[172]) { - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { if (changesMask[173 + i]) { @@ -1937,7 +1937,7 @@ void QuestLog::WriteCreate(ByteBuffer& data, Player const* owner, Player const* data << uint32(EndTime); data << uint32(AcceptTime); data << uint32(ObjectiveFlags); - for (std::size_t i = 0; i < 24; ++i) + for (uint32 i = 0; i < 24; ++i) { data << int16(ObjectiveProgress[i]); } @@ -1979,7 +1979,7 @@ void QuestLog::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player cons } if (changesMask[6]) { - for (std::size_t i = 0; i < 24; ++i) + for (uint32 i = 0; i < 24; ++i) { if (changesMask[7 + i]) { @@ -2106,13 +2106,13 @@ void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi data << int32(GuildTimeStamp); if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::PartyMember)) { - for (std::size_t i = 0; i < 125; ++i) + for (uint32 i = 0; i < 125; ++i) { QuestLog[i].WriteCreate(data, owner, receiver); } data << uint32(QuestSessionQuestLog.size()); } - for (std::size_t i = 0; i < 19; ++i) + for (uint32 i = 0; i < 19; ++i) { VisibleItems[i].WriteCreate(data, owner, receiver); } @@ -2121,7 +2121,7 @@ void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi data << uint32(VirtualPlayerRealm); data << uint32(CurrentSpecID); data << int32(TaxiMountAnimKitID); - for (std::size_t i = 0; i < 6; ++i) + for (uint32 i = 0; i < 6; ++i) { data << float(AvgItemLevel[i]); } @@ -2133,18 +2133,18 @@ void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi CtrOptions->WriteCreate(data, owner, receiver); data << int32(CovenantID); data << int32(SoulbindID); - for (std::size_t i = 0; i < Customizations.size(); ++i) + for (uint32 i = 0; i < Customizations.size(); ++i) { Customizations[i].WriteCreate(data, owner, receiver); } if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::PartyMember)) { - for (std::size_t i = 0; i < QuestSessionQuestLog.size(); ++i) + for (uint32 i = 0; i < QuestSessionQuestLog.size(); ++i) { QuestSessionQuestLog[i].WriteCreate(data, owner, receiver); } } - for (std::size_t i = 0; i < ArenaCooldowns.size(); ++i) + for (uint32 i = 0; i < ArenaCooldowns.size(); ++i) { ArenaCooldowns[i].WriteCreate(data, owner, receiver); } @@ -2180,7 +2180,7 @@ void PlayerData::FilterDisallowedFieldsMaskForFlag(Mask& changesMask, EnumFlag<U void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignoreNestedChangesMask, Player const* owner, Player const* receiver) const { data.WriteBits(changesMask.GetBlocksMask(0), 6); - for (std::size_t i = 0; i < 6; ++i) + for (uint32 i = 0; i < 6; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); @@ -2222,7 +2222,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign { if (changesMask[3]) { - for (std::size_t i = 0; i < Customizations.size(); ++i) + for (uint32 i = 0; i < Customizations.size(); ++i) { if (Customizations.HasChanged(i) || ignoreNestedChangesMask) { @@ -2232,7 +2232,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign } if (changesMask[4]) { - for (std::size_t i = 0; i < QuestSessionQuestLog.size(); ++i) + for (uint32 i = 0; i < QuestSessionQuestLog.size(); ++i) { if (QuestSessionQuestLog.HasChanged(i) || ignoreNestedChangesMask) { @@ -2245,7 +2245,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign } if (changesMask[5]) { - for (std::size_t i = 0; i < ArenaCooldowns.size(); ++i) + for (uint32 i = 0; i < ArenaCooldowns.size(); ++i) { if (ArenaCooldowns.HasChanged(i) || ignoreNestedChangesMask) { @@ -2371,7 +2371,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign } if (changesMask[35]) { - for (std::size_t i = 0; i < 125; ++i) + for (uint32 i = 0; i < 125; ++i) { if (changesMask[36 + i]) { @@ -2384,7 +2384,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign } if (changesMask[161]) { - for (std::size_t i = 0; i < 19; ++i) + for (uint32 i = 0; i < 19; ++i) { if (changesMask[162 + i]) { @@ -2394,7 +2394,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign } if (changesMask[181]) { - for (std::size_t i = 0; i < 6; ++i) + for (uint32 i = 0; i < 6; ++i) { if (changesMask[182 + i]) { @@ -2448,7 +2448,7 @@ void PlayerData::ClearChangesMask() void SkillInfo::WriteCreate(ByteBuffer& data, Player const* owner, Player const* receiver) const { - for (std::size_t i = 0; i < 256; ++i) + for (uint32 i = 0; i < 256; ++i) { data << uint16(SkillLineID[i]); data << uint16(SkillStep[i]); @@ -2466,17 +2466,17 @@ void SkillInfo::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player con if (ignoreChangesMask) changesMask.SetAll(); - for (std::size_t i = 0; i < 1; ++i) + for (uint32 i = 0; i < 1; ++i) data << uint32(changesMask.GetBlocksMask(i)); data.WriteBits(changesMask.GetBlocksMask(1), 25); - for (std::size_t i = 0; i < 57; ++i) + for (uint32 i = 0; i < 57; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); data.FlushBits(); if (changesMask[0]) { - for (std::size_t i = 0; i < 256; ++i) + for (uint32 i = 0; i < 256; ++i) { if (changesMask[1 + i]) { @@ -2764,7 +2764,7 @@ bool MawPower::operator==(MawPower const& right) const void MultiFloorExplore::WriteCreate(ByteBuffer& data, Player const* owner, Player const* receiver) const { data << uint32(WorldMapOverlayIDs.size()); - for (std::size_t i = 0; i < WorldMapOverlayIDs.size(); ++i) + for (uint32 i = 0; i < WorldMapOverlayIDs.size(); ++i) { data << int32(WorldMapOverlayIDs[i]); } @@ -2773,7 +2773,7 @@ void MultiFloorExplore::WriteCreate(ByteBuffer& data, Player const* owner, Playe void MultiFloorExplore::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player const* owner, Player const* receiver) const { data << uint32(WorldMapOverlayIDs.size()); - for (std::size_t i = 0; i < WorldMapOverlayIDs.size(); ++i) + for (uint32 i = 0; i < WorldMapOverlayIDs.size(); ++i) { data << int32(WorldMapOverlayIDs[i]); } @@ -2841,7 +2841,7 @@ void ActivePlayerUnk901::ClearChangesMask() void QuestSession::WriteCreate(ByteBuffer& data, Player const* owner, Player const* receiver) const { data << Owner; - for (std::size_t i = 0; i < 875; ++i) + for (uint32 i = 0; i < 875; ++i) { data << uint64(QuestCompleted[i]); } @@ -2854,7 +2854,7 @@ void QuestSession::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player changesMask.SetAll(); data.WriteBits(changesMask.GetBlocksMask(0), 28); - for (std::size_t i = 0; i < 28; ++i) + for (uint32 i = 0; i < 28; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); @@ -2868,7 +2868,7 @@ void QuestSession::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player } if (changesMask[2]) { - for (std::size_t i = 0; i < 875; ++i) + for (uint32 i = 0; i < 875; ++i) { if (changesMask[3 + i]) { @@ -2922,7 +2922,7 @@ void ReplayedQuest::ClearChangesMask() void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const { - for (std::size_t i = 0; i < 199; ++i) + for (uint32 i = 0; i < 199; ++i) { data << InvSlots[i]; } @@ -2960,15 +2960,15 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f data << float(VersatilityBonus); data << float(PvpPowerDamage); data << float(PvpPowerHealing); - for (std::size_t i = 0; i < 240; ++i) + for (uint32 i = 0; i < 240; ++i) { data << uint64(ExploredZones[i]); } - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { RestInfo[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { data << int32(ModDamageDonePos[i]); data << int32(ModDamageDoneNeg[i]); @@ -2978,7 +2978,7 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f data << int32(ModHealingDonePos); data << float(ModHealingPercent); data << float(ModPeriodicHealingDonePercent); - for (std::size_t i = 0; i < 3; ++i) + for (uint32 i = 0; i < 3; ++i) { data << float(WeaponDmgMultipliers[i]); data << float(WeaponAtkSpeedMultipliers[i]); @@ -2995,7 +2995,7 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f data << uint8(LifetimeMaxRank); data << uint8(NumRespecs); data << uint32(PvpMedals); - for (std::size_t i = 0; i < 12; ++i) + for (uint32 i = 0; i < 12; ++i) { data << uint32(BuybackPrice[i]); data << uint32(BuybackTimestamp[i]); @@ -3004,19 +3004,19 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f data << uint16(YesterdayHonorableKills); data << uint32(LifetimeHonorableKills); data << int32(WatchedFactionIndex); - for (std::size_t i = 0; i < 32; ++i) + for (uint32 i = 0; i < 32; ++i) { data << int32(CombatRatings[i]); } data << int32(MaxLevel); data << int32(ScalingPlayerLevelDelta); data << int32(MaxCreatureScalingLevel); - for (std::size_t i = 0; i < 4; ++i) + for (uint32 i = 0; i < 4; ++i) { data << uint32(NoReagentCostMask[i]); } data << int32(PetSpellPower); - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { data << int32(ProfessionSkillLine[i]); } @@ -3034,15 +3034,15 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f data << uint32(OverrideZonePVPType); data << BnetAccount; data << uint64(GuildClubMemberID); - for (std::size_t i = 0; i < 4; ++i) + for (uint32 i = 0; i < 4; ++i) { data << uint32(BagSlotFlags[i]); } - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { data << uint32(BankBagSlotFlags[i]); } - for (std::size_t i = 0; i < 875; ++i) + for (uint32 i = 0; i < 875; ++i) { data << uint64(QuestCompleted[i]); } @@ -3065,10 +3065,10 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f data << uint32(CharacterRestrictions.size()); data << uint32(SpellPctModByLabel.size()); data << uint32(SpellFlatModByLabel.size()); - for (std::size_t i = 0; i < 1; ++i) + for (uint32 i = 0; i < 1; ++i) { data << uint32(Research[i].size()); - for (std::size_t j = 0; j < Research[i].size(); ++j) + for (uint32 j = 0; j < Research[i].size(); ++j) { Research[i][j].WriteCreate(data, owner, receiver); } @@ -3082,91 +3082,91 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f data << int32(TransportServerTime); data << uint32(WeeklyRewardsPeriodSinceOrigin); data << int16(DEBUGSoulbindConduitRank); - for (std::size_t i = 0; i < KnownTitles.size(); ++i) + for (uint32 i = 0; i < KnownTitles.size(); ++i) { data << uint64(KnownTitles[i]); } - for (std::size_t i = 0; i < ResearchSites.size(); ++i) + for (uint32 i = 0; i < ResearchSites.size(); ++i) { data << uint16(ResearchSites[i]); } - for (std::size_t i = 0; i < ResearchSiteProgress.size(); ++i) + for (uint32 i = 0; i < ResearchSiteProgress.size(); ++i) { data << uint32(ResearchSiteProgress[i]); } - for (std::size_t i = 0; i < DailyQuestsCompleted.size(); ++i) + for (uint32 i = 0; i < DailyQuestsCompleted.size(); ++i) { data << int32(DailyQuestsCompleted[i]); } - for (std::size_t i = 0; i < AvailableQuestLineXQuestIDs.size(); ++i) + for (uint32 i = 0; i < AvailableQuestLineXQuestIDs.size(); ++i) { data << int32(AvailableQuestLineXQuestIDs[i]); } - for (std::size_t i = 0; i < Heirlooms.size(); ++i) + for (uint32 i = 0; i < Heirlooms.size(); ++i) { data << int32(Heirlooms[i]); } - for (std::size_t i = 0; i < HeirloomFlags.size(); ++i) + for (uint32 i = 0; i < HeirloomFlags.size(); ++i) { data << uint32(HeirloomFlags[i]); } - for (std::size_t i = 0; i < Toys.size(); ++i) + for (uint32 i = 0; i < Toys.size(); ++i) { data << int32(Toys[i]); } - for (std::size_t i = 0; i < ToyFlags.size(); ++i) + for (uint32 i = 0; i < ToyFlags.size(); ++i) { data << uint32(ToyFlags[i]); } - for (std::size_t i = 0; i < Transmog.size(); ++i) + for (uint32 i = 0; i < Transmog.size(); ++i) { data << uint32(Transmog[i]); } - for (std::size_t i = 0; i < ConditionalTransmog.size(); ++i) + for (uint32 i = 0; i < ConditionalTransmog.size(); ++i) { data << int32(ConditionalTransmog[i]); } - for (std::size_t i = 0; i < SelfResSpells.size(); ++i) + for (uint32 i = 0; i < SelfResSpells.size(); ++i) { data << int32(SelfResSpells[i]); } - for (std::size_t i = 0; i < RuneforgePowers.size(); ++i) + for (uint32 i = 0; i < RuneforgePowers.size(); ++i) { data << uint32(RuneforgePowers[i]); } - for (std::size_t i = 0; i < TransmogIllusions.size(); ++i) + for (uint32 i = 0; i < TransmogIllusions.size(); ++i) { data << uint32(TransmogIllusions[i]); } - for (std::size_t i = 0; i < SpellPctModByLabel.size(); ++i) + for (uint32 i = 0; i < SpellPctModByLabel.size(); ++i) { SpellPctModByLabel[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < SpellFlatModByLabel.size(); ++i) + for (uint32 i = 0; i < SpellFlatModByLabel.size(); ++i) { SpellFlatModByLabel[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < MawPowers.size(); ++i) + for (uint32 i = 0; i < MawPowers.size(); ++i) { MawPowers[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < MultiFloorExploration.size(); ++i) + for (uint32 i = 0; i < MultiFloorExploration.size(); ++i) { MultiFloorExploration[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < RecipeProgression.size(); ++i) + for (uint32 i = 0; i < RecipeProgression.size(); ++i) { RecipeProgression[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < ReplayedQuests.size(); ++i) + for (uint32 i = 0; i < ReplayedQuests.size(); ++i) { ReplayedQuests[i].WriteCreate(data, owner, receiver); } - for (std::size_t i = 0; i < DisabledSpells.size(); ++i) + for (uint32 i = 0; i < DisabledSpells.size(); ++i) { data << int32(DisabledSpells[i]); } - for (std::size_t i = 0; i < 6; ++i) + for (uint32 i = 0; i < 6; ++i) { PvpInfo[i].WriteCreate(data, owner, receiver); } @@ -3182,7 +3182,7 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f QuestSession->WriteCreate(data, owner, receiver); } data << DungeonScore; - for (std::size_t i = 0; i < CharacterRestrictions.size(); ++i) + for (uint32 i = 0; i < CharacterRestrictions.size(); ++i) { CharacterRestrictions[i].WriteCreate(data, owner, receiver); } @@ -3196,10 +3196,10 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignoreNestedChangesMask, Player const* owner, Player const* receiver) const { - for (std::size_t i = 0; i < 1; ++i) + for (uint32 i = 0; i < 1; ++i) data << uint32(changesMask.GetBlocksMask(i)); data.WriteBits(changesMask.GetBlocksMask(1), 17); - for (std::size_t i = 0; i < 49; ++i) + for (uint32 i = 0; i < 49; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); @@ -3343,7 +3343,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[27]) { - for (std::size_t i = 0; i < 1; ++i) + for (uint32 i = 0; i < 1; ++i) { if (changesMask[28 + i]) { @@ -3351,7 +3351,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo Research[i].WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(Research[i].size(), data); - for (std::size_t j = 0; j < Research[i].size(); ++j) + for (uint32 j = 0; j < Research[i].size(); ++j) { if (Research[i].HasChanged(j) || ignoreNestedChangesMask) { @@ -3405,7 +3405,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo { if (changesMask[5]) { - for (std::size_t i = 0; i < KnownTitles.size(); ++i) + for (uint32 i = 0; i < KnownTitles.size(); ++i) { if (KnownTitles.HasChanged(i) || ignoreNestedChangesMask) { @@ -3415,7 +3415,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[6]) { - for (std::size_t i = 0; i < ResearchSites.size(); ++i) + for (uint32 i = 0; i < ResearchSites.size(); ++i) { if (ResearchSites.HasChanged(i) || ignoreNestedChangesMask) { @@ -3425,7 +3425,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[7]) { - for (std::size_t i = 0; i < ResearchSiteProgress.size(); ++i) + for (uint32 i = 0; i < ResearchSiteProgress.size(); ++i) { if (ResearchSiteProgress.HasChanged(i) || ignoreNestedChangesMask) { @@ -3435,7 +3435,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[8]) { - for (std::size_t i = 0; i < DailyQuestsCompleted.size(); ++i) + for (uint32 i = 0; i < DailyQuestsCompleted.size(); ++i) { if (DailyQuestsCompleted.HasChanged(i) || ignoreNestedChangesMask) { @@ -3445,7 +3445,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[9]) { - for (std::size_t i = 0; i < AvailableQuestLineXQuestIDs.size(); ++i) + for (uint32 i = 0; i < AvailableQuestLineXQuestIDs.size(); ++i) { if (AvailableQuestLineXQuestIDs.HasChanged(i) || ignoreNestedChangesMask) { @@ -3455,7 +3455,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[10]) { - for (std::size_t i = 0; i < Heirlooms.size(); ++i) + for (uint32 i = 0; i < Heirlooms.size(); ++i) { if (Heirlooms.HasChanged(i) || ignoreNestedChangesMask) { @@ -3465,7 +3465,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[11]) { - for (std::size_t i = 0; i < HeirloomFlags.size(); ++i) + for (uint32 i = 0; i < HeirloomFlags.size(); ++i) { if (HeirloomFlags.HasChanged(i) || ignoreNestedChangesMask) { @@ -3475,7 +3475,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[12]) { - for (std::size_t i = 0; i < Toys.size(); ++i) + for (uint32 i = 0; i < Toys.size(); ++i) { if (Toys.HasChanged(i) || ignoreNestedChangesMask) { @@ -3485,7 +3485,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[13]) { - for (std::size_t i = 0; i < ToyFlags.size(); ++i) + for (uint32 i = 0; i < ToyFlags.size(); ++i) { if (ToyFlags.HasChanged(i) || ignoreNestedChangesMask) { @@ -3495,7 +3495,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[14]) { - for (std::size_t i = 0; i < Transmog.size(); ++i) + for (uint32 i = 0; i < Transmog.size(); ++i) { if (Transmog.HasChanged(i) || ignoreNestedChangesMask) { @@ -3505,7 +3505,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[15]) { - for (std::size_t i = 0; i < ConditionalTransmog.size(); ++i) + for (uint32 i = 0; i < ConditionalTransmog.size(); ++i) { if (ConditionalTransmog.HasChanged(i) || ignoreNestedChangesMask) { @@ -3515,7 +3515,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[16]) { - for (std::size_t i = 0; i < SelfResSpells.size(); ++i) + for (uint32 i = 0; i < SelfResSpells.size(); ++i) { if (SelfResSpells.HasChanged(i) || ignoreNestedChangesMask) { @@ -3525,7 +3525,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[17]) { - for (std::size_t i = 0; i < RuneforgePowers.size(); ++i) + for (uint32 i = 0; i < RuneforgePowers.size(); ++i) { if (RuneforgePowers.HasChanged(i) || ignoreNestedChangesMask) { @@ -3535,7 +3535,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[18]) { - for (std::size_t i = 0; i < TransmogIllusions.size(); ++i) + for (uint32 i = 0; i < TransmogIllusions.size(); ++i) { if (TransmogIllusions.HasChanged(i) || ignoreNestedChangesMask) { @@ -3545,7 +3545,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[20]) { - for (std::size_t i = 0; i < SpellPctModByLabel.size(); ++i) + for (uint32 i = 0; i < SpellPctModByLabel.size(); ++i) { if (SpellPctModByLabel.HasChanged(i) || ignoreNestedChangesMask) { @@ -3555,7 +3555,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[21]) { - for (std::size_t i = 0; i < SpellFlatModByLabel.size(); ++i) + for (uint32 i = 0; i < SpellFlatModByLabel.size(); ++i) { if (SpellFlatModByLabel.HasChanged(i) || ignoreNestedChangesMask) { @@ -3565,7 +3565,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[22]) { - for (std::size_t i = 0; i < MawPowers.size(); ++i) + for (uint32 i = 0; i < MawPowers.size(); ++i) { if (MawPowers.HasChanged(i) || ignoreNestedChangesMask) { @@ -3575,7 +3575,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[23]) { - for (std::size_t i = 0; i < MultiFloorExploration.size(); ++i) + for (uint32 i = 0; i < MultiFloorExploration.size(); ++i) { if (MultiFloorExploration.HasChanged(i) || ignoreNestedChangesMask) { @@ -3585,7 +3585,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[24]) { - for (std::size_t i = 0; i < RecipeProgression.size(); ++i) + for (uint32 i = 0; i < RecipeProgression.size(); ++i) { if (RecipeProgression.HasChanged(i) || ignoreNestedChangesMask) { @@ -3595,7 +3595,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[25]) { - for (std::size_t i = 0; i < ReplayedQuests.size(); ++i) + for (uint32 i = 0; i < ReplayedQuests.size(); ++i) { if (ReplayedQuests.HasChanged(i) || ignoreNestedChangesMask) { @@ -3605,7 +3605,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[26]) { - for (std::size_t i = 0; i < DisabledSpells.size(); ++i) + for (uint32 i = 0; i < DisabledSpells.size(); ++i) { if (DisabledSpells.HasChanged(i) || ignoreNestedChangesMask) { @@ -3615,7 +3615,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[19]) { - for (std::size_t i = 0; i < CharacterRestrictions.size(); ++i) + for (uint32 i = 0; i < CharacterRestrictions.size(); ++i) { if (CharacterRestrictions.HasChanged(i) || ignoreNestedChangesMask) { @@ -3962,7 +3962,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[112]) { - for (std::size_t i = 0; i < 199; ++i) + for (uint32 i = 0; i < 199; ++i) { if (changesMask[113 + i]) { @@ -3972,7 +3972,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[312]) { - for (std::size_t i = 0; i < 240; ++i) + for (uint32 i = 0; i < 240; ++i) { if (changesMask[313 + i]) { @@ -3982,7 +3982,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[553]) { - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { if (changesMask[554 + i]) { @@ -3992,7 +3992,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[556]) { - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { if (changesMask[557 + i]) { @@ -4014,7 +4014,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[585]) { - for (std::size_t i = 0; i < 3; ++i) + for (uint32 i = 0; i < 3; ++i) { if (changesMask[586 + i]) { @@ -4028,7 +4028,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[592]) { - for (std::size_t i = 0; i < 12; ++i) + for (uint32 i = 0; i < 12; ++i) { if (changesMask[593 + i]) { @@ -4042,7 +4042,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[617]) { - for (std::size_t i = 0; i < 32; ++i) + for (uint32 i = 0; i < 32; ++i) { if (changesMask[618 + i]) { @@ -4052,7 +4052,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[657]) { - for (std::size_t i = 0; i < 4; ++i) + for (uint32 i = 0; i < 4; ++i) { if (changesMask[658 + i]) { @@ -4062,7 +4062,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[662]) { - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { if (changesMask[663 + i]) { @@ -4072,7 +4072,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[665]) { - for (std::size_t i = 0; i < 4; ++i) + for (uint32 i = 0; i < 4; ++i) { if (changesMask[666 + i]) { @@ -4082,7 +4082,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[670]) { - for (std::size_t i = 0; i < 7; ++i) + for (uint32 i = 0; i < 7; ++i) { if (changesMask[671 + i]) { @@ -4092,7 +4092,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[678]) { - for (std::size_t i = 0; i < 875; ++i) + for (uint32 i = 0; i < 875; ++i) { if (changesMask[679 + i]) { @@ -4102,7 +4102,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo } if (changesMask[650]) { - for (std::size_t i = 0; i < 6; ++i) + for (uint32 i = 0; i < 6; ++i) { if (changesMask[651 + i]) { @@ -4252,7 +4252,7 @@ void GameObjectData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fie data << uint32(SpawnTrackingStateAnimKitID); data << uint32(StateWorldEffectIDs->size()); data << uint32(StateWorldEffectsQuestObjectiveID); - for (std::size_t i = 0; i < StateWorldEffectIDs->size(); ++i) + for (uint32 i = 0; i < StateWorldEffectIDs->size(); ++i) { data << uint32((*StateWorldEffectIDs)[i]); } @@ -4272,7 +4272,7 @@ void GameObjectData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fie data << uint32(CustomParam); data << int32(ViewerDependentValue<LevelTag>::GetValue(this, owner, receiver)); data << uint32(AnimGroupInstance); - for (std::size_t i = 0; i < EnableDoodadSets.size(); ++i) + for (uint32 i = 0; i < EnableDoodadSets.size(); ++i) { data << int32(EnableDoodadSets[i]); } @@ -4292,7 +4292,7 @@ void GameObjectData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool if (changesMask[1]) { data.WriteBits(StateWorldEffectIDs->size(), 32); - for (std::size_t i = 0; i < StateWorldEffectIDs->size(); ++i) + for (uint32 i = 0; i < StateWorldEffectIDs->size(); ++i) { data << uint32((*StateWorldEffectIDs)[i]); } @@ -4314,7 +4314,7 @@ void GameObjectData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool { if (changesMask[2]) { - for (std::size_t i = 0; i < EnableDoodadSets.size(); ++i) + for (uint32 i = 0; i < EnableDoodadSets.size(); ++i) { if (EnableDoodadSets.HasChanged(i) || ignoreNestedChangesMask) { @@ -4492,7 +4492,7 @@ void CorpseData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi data << PartyGUID; data << GuildGUID; data << uint32(DisplayID); - for (std::size_t i = 0; i < 19; ++i) + for (uint32 i = 0; i < 19; ++i) { data << uint32(Items[i]); } @@ -4503,7 +4503,7 @@ void CorpseData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi data << uint32(Flags); data << int32(FactionTemplate); data << uint32(StateSpellVisualKitID); - for (std::size_t i = 0; i < Customizations.size(); ++i) + for (uint32 i = 0; i < Customizations.size(); ++i) { Customizations[i].WriteCreate(data, owner, receiver); } @@ -4517,7 +4517,7 @@ void CorpseData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi void CorpseData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignoreNestedChangesMask, Corpse const* owner, Player const* receiver) const { data.WriteBits(changesMask.GetBlocksMask(0), 2); - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); @@ -4536,7 +4536,7 @@ void CorpseData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign { if (changesMask[1]) { - for (std::size_t i = 0; i < Customizations.size(); ++i) + for (uint32 i = 0; i < Customizations.size(); ++i) { if (Customizations.HasChanged(i) || ignoreNestedChangesMask) { @@ -4591,7 +4591,7 @@ void CorpseData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign } if (changesMask[13]) { - for (std::size_t i = 0; i < 19; ++i) + for (uint32 i = 0; i < 19; ++i) { if (changesMask[14 + i]) { @@ -4622,7 +4622,7 @@ void CorpseData::ClearChangesMask() void ScaleCurve::WriteCreate(ByteBuffer& data, AreaTrigger const* owner, Player const* receiver) const { data << uint32(StartTimeOffset); - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { data << Points[i]; } @@ -4660,7 +4660,7 @@ void ScaleCurve::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, AreaTrigg } if (changesMask[4]) { - for (std::size_t i = 0; i < 2; ++i) + for (uint32 i = 0; i < 2; ++i) { if (changesMask[5 + i]) { @@ -4973,14 +4973,14 @@ void ConversationData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f data << uint32(Lines->size()); data << int32(ViewerDependentValue<LastLineEndTimeTag>::GetValue(this, owner, receiver)); data << uint32(Progress); - for (std::size_t i = 0; i < Lines->size(); ++i) + for (uint32 i = 0; i < Lines->size(); ++i) { (*Lines)[i].WriteCreate(data, owner, receiver); } data.WriteBit(DontPlayBroadcastTextSounds); data << uint32(Actors.size()); data << uint32(Flags); - for (std::size_t i = 0; i < Actors.size(); ++i) + for (uint32 i = 0; i < Actors.size(); ++i) { Actors[i].WriteCreate(data, owner, receiver); } @@ -5005,7 +5005,7 @@ void ConversationData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo if (changesMask[2]) { data.WriteBits(Lines->size(), 32); - for (std::size_t i = 0; i < Lines->size(); ++i) + for (uint32 i = 0; i < Lines->size(); ++i) { (*Lines)[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } @@ -5027,7 +5027,7 @@ void ConversationData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo { if (changesMask[3]) { - for (std::size_t i = 0; i < Actors.size(); ++i) + for (uint32 i = 0; i < Actors.size(); ++i) { if (Actors.HasChanged(i) || ignoreNestedChangesMask) { diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 24765034ff8..467daa1996b 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -274,8 +274,8 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c SetDisplayId(petInfo->DisplayId); SetNativeDisplayId(petInfo->DisplayId); uint8 petlevel = petInfo->Level; - SetNpcFlags(UNIT_NPC_FLAG_NONE); - SetNpcFlags2(UNIT_NPC_FLAG_2_NONE); + ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); + ReplaceAllNpcFlags2(UNIT_NPC_FLAG_2_NONE); SetName(petInfo->Name); switch (getPetType()) @@ -283,14 +283,14 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c case SUMMON_PET: petlevel = owner->GetLevel(); SetClass(CLASS_MAGE); - SetUnitFlags(UNIT_FLAG_PLAYER_CONTROLLED); // this enables popup window (pet dismiss, cancel) + ReplaceAllUnitFlags(UNIT_FLAG_PLAYER_CONTROLLED); // this enables popup window (pet dismiss, cancel) break; case HUNTER_PET: SetClass(CLASS_WARRIOR); SetGender(GENDER_NONE); SetSheath(SHEATH_STATE_MELEE); - SetPetFlags(petInfo->WasRenamed ? UNIT_PET_FLAG_CAN_BE_ABANDONED : UnitPetFlag(UNIT_PET_FLAG_CAN_BE_RENAMED | UNIT_PET_FLAG_CAN_BE_ABANDONED)); - SetUnitFlags(UNIT_FLAG_PLAYER_CONTROLLED); // this enables popup window (pet abandon, cancel) + ReplaceAllPetFlags(petInfo->WasRenamed ? UNIT_PET_FLAG_CAN_BE_ABANDONED : UnitPetFlag(UNIT_PET_FLAG_CAN_BE_RENAMED | UNIT_PET_FLAG_CAN_BE_ABANDONED)); + ReplaceAllUnitFlags(UNIT_FLAG_PLAYER_CONTROLLED); // this enables popup window (pet abandon, cancel) break; default: if (!IsPetGhoul()) @@ -616,7 +616,7 @@ void Pet::setDeathState(DeathState s) // overwrite virtual if (getPetType() == HUNTER_PET) { // pet corpse non lootable and non skinnable - SetDynamicFlags(UNIT_DYNFLAG_NONE); + ReplaceAllDynamicFlags(UNIT_DYNFLAG_NONE); RemoveUnitFlag(UNIT_FLAG_SKINNABLE); //SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED); @@ -833,8 +833,8 @@ bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map) SetPetNameTimestamp(0); SetPetExperience(0); SetPetNextLevelExperience(uint32(sObjectMgr->GetXPForLevel(GetLevel() + 1) * PET_XP_FACTOR)); - SetNpcFlags(UNIT_NPC_FLAG_NONE); - SetNpcFlags2(UNIT_NPC_FLAG_2_NONE); + ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); + ReplaceAllNpcFlags2(UNIT_NPC_FLAG_2_NONE); if (cinfo->type == CREATURE_TYPE_BEAST) { @@ -842,7 +842,7 @@ bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map) SetGender(GENDER_NONE); SetPowerType(POWER_FOCUS); SetSheath(SHEATH_STATE_MELEE); - SetPetFlags(UnitPetFlag(UNIT_PET_FLAG_CAN_BE_RENAMED | UNIT_PET_FLAG_CAN_BE_ABANDONED)); + ReplaceAllPetFlags(UnitPetFlag(UNIT_PET_FLAG_CAN_BE_RENAMED | UNIT_PET_FLAG_CAN_BE_ABANDONED)); } return true; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 9660cf8468a..41957580229 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4411,7 +4411,7 @@ void Player::KillPlayer() setDeathState(CORPSE); //SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_IN_PVP); - SetDynamicFlags(UNIT_DYNFLAG_NONE); + ReplaceAllDynamicFlags(UNIT_DYNFLAG_NONE); if (!sMapStore.LookupEntry(GetMapId())->Instanceable() && !HasAuraType(SPELL_AURA_PREVENT_RESURRECTION)) AddPlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); else @@ -4470,7 +4470,7 @@ Corpse* Player::CreateCorpse() corpse->SetSex(GetNativeGender()); corpse->SetClass(GetClass()); corpse->SetCustomizations(Trinity::Containers::MakeIteratorPair(m_playerData->Customizations.begin(), m_playerData->Customizations.end())); - corpse->SetFlags(flags); + corpse->ReplaceAllFlags(flags); corpse->SetDisplayId(GetNativeDisplayId()); corpse->SetFactionTemplate(sChrRacesStore.AssertEntry(GetRace())->FactionID); @@ -18047,8 +18047,8 @@ bool Player::LoadFromDB(ObjectGuid guid, CharacterDatabaseQueryHolder const& hol SetBankBagSlotCount(fields.bankSlots); SetNativeGender(fields.gender); SetUpdateFieldValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::Inebriation), fields.drunk); - SetPlayerFlags(fields.playerFlags); - SetPlayerFlagsEx(fields.playerFlagsEx); + ReplaceAllPlayerFlags(fields.playerFlags); + ReplaceAllPlayerFlagsEx(fields.playerFlagsEx); SetWatchedFactionIndex(fields.watchedFaction); m_atLoginFlags = fields.at_login; @@ -28668,8 +28668,8 @@ Pet* Player::SummonPet(uint32 entry, Optional<PetSaveMode> slot, float x, float pet->SetCreatorGUID(GetGUID()); pet->SetFaction(GetFaction()); - pet->SetNpcFlags(UNIT_NPC_FLAG_NONE); - pet->SetNpcFlags2(UNIT_NPC_FLAG_2_NONE); + pet->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); + pet->ReplaceAllNpcFlags2(UNIT_NPC_FLAG_2_NONE); pet->InitStatsForLevel(GetLevel()); SetMinion(pet, true); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 6684786987d..528d8db6fab 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2677,12 +2677,12 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool HasPlayerFlag(PlayerFlags flags) const { return (*m_playerData->PlayerFlags & flags) != 0; } void AddPlayerFlag(PlayerFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlags), flags); } void RemovePlayerFlag(PlayerFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlags), flags); } - void SetPlayerFlags(PlayerFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlags), flags); } + void ReplaceAllPlayerFlags(PlayerFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlags), flags); } bool HasPlayerFlagEx(PlayerFlagsEx flags) const { return (*m_playerData->PlayerFlagsEx & flags) != 0; } void AddPlayerFlagEx(PlayerFlagsEx flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlagsEx), flags); } void RemovePlayerFlagEx(PlayerFlagsEx flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlagsEx), flags); } - void SetPlayerFlagsEx(PlayerFlagsEx flags) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlagsEx), flags); } + void ReplaceAllPlayerFlagsEx(PlayerFlagsEx flags) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlagsEx), flags); } void SetAverageItemLevelTotal(float newItemLevel) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::AvgItemLevel, 0), newItemLevel); } void SetAverageItemLevelEquipped(float newItemLevel) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::AvgItemLevel, 1), newItemLevel); } @@ -2768,7 +2768,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool HasPlayerLocalFlag(PlayerLocalFlags flags) const { return (*m_activePlayerData->LocalFlags & flags) != 0; } void AddPlayerLocalFlag(PlayerLocalFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::LocalFlags), flags); } void RemovePlayerLocalFlag(PlayerLocalFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::LocalFlags), flags); } - void SetPlayerLocalFlags(PlayerLocalFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::LocalFlags), flags); } + void ReplaceAllPlayerLocalFlags(PlayerLocalFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::LocalFlags), flags); } uint8 GetNumRespecs() const { return m_activePlayerData->NumRespecs; } void SetNumRespecs(uint8 numRespecs) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::NumRespecs), numRespecs); } diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp index dbd4f0b16fe..7046723c4bd 100644 --- a/src/server/game/Entities/Transport/Transport.cpp +++ b/src/server/game/Entities/Transport/Transport.cpp @@ -90,7 +90,7 @@ bool Transport::Create(ObjectGuid::LowType guidlow, uint32 entry, uint32 mapid, if (GameObjectOverride const* goOverride = GetGameObjectOverride()) { SetFaction(goOverride->Faction); - SetFlags(GameObjectFlags(goOverride->Flags)); + ReplaceAllFlags(GameObjectFlags(goOverride->Flags)); } m_goValue.Transport.PathProgress = 0; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 4a5f8bedba5..004ee1f1ab3 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -5925,7 +5925,7 @@ void Unit::SetMinion(Minion *minion, bool apply) } // PvP, FFAPvP - minion->SetPvpFlags(GetPvpFlags()); + minion->ReplaceAllPvpFlags(GetPvpFlags()); // FIXME: hack, speed must be set only at follow if (GetTypeId() == TYPEID_PLAYER && minion->IsPet()) @@ -6061,7 +6061,7 @@ void Unit::SetCharm(Unit* charm, bool apply) charm->m_ControlledByPlayer = false; // PvP, FFAPvP - charm->SetPvpFlags(GetPvpFlags()); + charm->ReplaceAllPvpFlags(GetPvpFlags()); ASSERT(charm->GetCharmerGUID().IsEmpty(), "Unit %u is being charmed, but it already has a charmer %s", charm->GetEntry(), charm->GetCharmerGUID().ToString().c_str()); @@ -6101,13 +6101,13 @@ void Unit::SetCharm(Unit* charm, bool apply) { charm->m_ControlledByPlayer = true; charm->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); - charm->SetPvpFlags(player->GetPvpFlags()); + charm->ReplaceAllPvpFlags(player->GetPvpFlags()); } else { charm->m_ControlledByPlayer = false; charm->RemoveUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); - charm->SetPvpFlags(UNIT_BYTE2_FLAG_NONE); + charm->ReplaceAllPvpFlags(UNIT_BYTE2_FLAG_NONE); } if (charm->IsWalking() != _isWalkingBeforeCharm) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index ba5a12a0152..235eb5da319 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -948,15 +948,17 @@ class TC_GAME_API Unit : public WorldObject bool HasUnitFlag(UnitFlags flags) const { return (*m_unitData->Flags & flags) != 0; } void AddUnitFlag(UnitFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags), flags); } void RemoveUnitFlag(UnitFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags), flags); } - void SetUnitFlags(UnitFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags), flags); } + void ReplaceAllUnitFlags(UnitFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags), flags); } + bool HasUnitFlag2(UnitFlags2 flags) const { return (*m_unitData->Flags2 & flags) != 0; } void AddUnitFlag2(UnitFlags2 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags2), flags); } void RemoveUnitFlag2(UnitFlags2 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags2), flags); } - void SetUnitFlags2(UnitFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags2), flags); } + void ReplaceAllUnitFlags2(UnitFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags2), flags); } + bool HasUnitFlag3(UnitFlags3 flags) const { return (*m_unitData->Flags3 & flags) != 0; } void AddUnitFlag3(UnitFlags3 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags3), flags); } void RemoveUnitFlag3(UnitFlags3 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags3), flags); } - void SetUnitFlags3(UnitFlags3 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags3), flags); } + void ReplaceAllUnitFlags3(UnitFlags3 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags3), flags); } void SetCreatedBySpell(int32 spellId) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::CreatedBySpell), spellId); } @@ -974,11 +976,13 @@ class TC_GAME_API Unit : public WorldObject bool IsInRaidWith(Unit const* unit) const; void GetPartyMembers(std::list<Unit*> &units); bool IsContestedGuard() const; + UnitPVPStateFlags GetPvpFlags() const { return UnitPVPStateFlags(*m_unitData->PvpFlags); } bool HasPvpFlag(UnitPVPStateFlags flags) const { return (*m_unitData->PvpFlags & flags) != 0; } void AddPvpFlag(UnitPVPStateFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PvpFlags), flags); } void RemovePvpFlag(UnitPVPStateFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PvpFlags), flags); } - void SetPvpFlags(UnitPVPStateFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PvpFlags), flags); } + void ReplaceAllPvpFlags(UnitPVPStateFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PvpFlags), flags); } + bool IsInSanctuary() const { return HasPvpFlag(UNIT_BYTE2_FLAG_SANCTUARY); } bool IsPvP() const { return HasPvpFlag(UNIT_BYTE2_FLAG_PVP); } bool IsFFAPvP() const { return HasPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); } @@ -988,7 +992,7 @@ class TC_GAME_API Unit : public WorldObject bool HasPetFlag(UnitPetFlag flags) const { return (*m_unitData->PetFlags & flags) != 0; } void AddPetFlag(UnitPetFlag flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PetFlags), flags); } void RemovePetFlag(UnitPetFlag flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PetFlags), flags); } - void SetPetFlags(UnitPetFlag flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PetFlags), flags); } + void ReplaceAllPetFlags(UnitPetFlag flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PetFlags), flags); } uint32 GetCreatureType() const; uint32 GetCreatureTypeMask() const; @@ -1000,7 +1004,7 @@ class TC_GAME_API Unit : public WorldObject void AddVisFlags(UnitVisFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::VisFlags), flags); } void RemoveVisFlags(UnitVisFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::VisFlags), flags); } - void SetVisFlags(UnitVisFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::VisFlags), flags); } + void ReplaceAllVisFlags(UnitVisFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::VisFlags), flags); } AnimTier GetAnimTier() const { return AnimTier(*m_unitData->AnimTier); } void SetAnimTier(AnimTier animTier, bool notifyClient = true); @@ -1089,11 +1093,13 @@ class TC_GAME_API Unit : public WorldObject bool HasNpcFlag(NPCFlags flags) const { return (m_unitData->NpcFlags[0] & flags) != 0; } void AddNpcFlag(NPCFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 0), flags); } void RemoveNpcFlag(NPCFlags flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 0), flags); } - void SetNpcFlags(NPCFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 0), flags); } + void ReplaceAllNpcFlags(NPCFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 0), flags); } + bool HasNpcFlag2(NPCFlags2 flags) const { return (m_unitData->NpcFlags[1] & flags) != 0; } void AddNpcFlag2(NPCFlags2 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 1), flags); } void RemoveNpcFlag2(NPCFlags2 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 1), flags); } - void SetNpcFlags2(NPCFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 1), flags); } + void ReplaceAllNpcFlags2(NPCFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 1), flags); } + bool IsVendor() const { return HasNpcFlag(UNIT_NPC_FLAG_VENDOR); } bool IsTrainer() const { return HasNpcFlag(UNIT_NPC_FLAG_TRAINER); } bool IsQuestGiver() const { return HasNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); } diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index d27b7b12a4e..b0d207dc01e 100644 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -1184,8 +1184,8 @@ void GameEventMgr::UpdateEventNPCFlags(uint16 event_id) if (CreatureTemplate const* creatureTemplate = creature->GetCreatureTemplate()) npcflag |= 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(); } diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index c7762fe397c..753dedeff21 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -905,7 +905,7 @@ void WorldSession::HandleWrapItem(WorldPackets::Item::WrapItem& packet) } item->SetGiftCreator(_player->GetGUID()); - item->SetItemFlags(ITEM_FIELD_FLAG_WRAPPED); + item->ReplaceAllItemFlags(ITEM_FIELD_FLAG_WRAPPED); item->SetState(ITEM_CHANGED, _player); if (item->GetState() == ITEM_NEW) // save new item, to have alway for `character_gifts` record in `item_instance` diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index 75c259d78f7..daa1cda6c88 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -231,7 +231,7 @@ void WorldSession::HandleOpenWrappedItemCallback(uint16 pos, ObjectGuid itemGuid item->SetGiftCreator(ObjectGuid::Empty); item->SetEntry(entry); - item->SetItemFlags(ItemFieldFlags(flags)); + item->ReplaceAllItemFlags(ItemFieldFlags(flags)); item->SetMaxDurability(item->GetTemplate()->MaxDurability); item->SetState(ITEM_CHANGED, GetPlayer()); diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index dcf634ae3a7..26f0a0f3287 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -4851,7 +4851,7 @@ Corpse* Map::ConvertCorpseToBones(ObjectGuid const& ownerGuid, bool insignia /*= bones = new Corpse(); bones->Create(corpse->GetGUID().GetCounter(), this); - bones->SetCorpseDynamicFlags(CorpseDynFlags(*corpse->m_corpseData->DynamicFlags)); + bones->ReplaceAllCorpseDynamicFlags(corpse->GetCorpseDynamicFlags()); bones->SetOwnerGUID(corpse->m_corpseData->Owner); bones->SetPartyGUID(corpse->m_corpseData->PartyGUID); bones->SetGuildGUID(corpse->m_corpseData->GuildGUID); @@ -4860,7 +4860,7 @@ Corpse* Map::ConvertCorpseToBones(ObjectGuid const& ownerGuid, bool insignia /*= bones->SetSex(corpse->m_corpseData->Sex); bones->SetClass(corpse->m_corpseData->Class); bones->SetCustomizations(Trinity::Containers::MakeIteratorPair(corpse->m_corpseData->Customizations.begin(), corpse->m_corpseData->Customizations.end())); - bones->SetFlags(corpse->m_corpseData->Flags | CORPSE_FLAG_BONES); + bones->ReplaceAllFlags(corpse->m_corpseData->Flags | CORPSE_FLAG_BONES); bones->SetFactionTemplate(corpse->m_corpseData->FactionTemplate); bones->SetCellCoord(corpse->GetCellCoord()); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index b4db1a2a4f1..d723e505845 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4188,7 +4188,7 @@ void Spell::EffectResurrectPet() pet->Relocate(x, y, z, player->GetOrientation()); // This is needed so SaveStayPosition() will get the proper coords. } - pet->SetDynamicFlags(UNIT_DYNFLAG_NONE); + pet->ReplaceAllDynamicFlags(UNIT_DYNFLAG_NONE); pet->RemoveUnitFlag(UNIT_FLAG_SKINNABLE); pet->setDeathState(ALIVE); pet->ClearUnitState(UNIT_STATE_ALL_ERASABLE); diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp index 9960143f455..dce7d2cb339 100644 --- a/src/server/scripts/Commands/cs_modify.cpp +++ b/src/server/scripts/Commands/cs_modify.cpp @@ -268,10 +268,10 @@ public: handler->PSendSysMessage(LANG_YOU_CHANGE_FACTION, target->GetGUID().ToString().c_str(), factionid, flag, std::to_string(npcflag).c_str(), dyflag); target->SetFaction(factionid); - target->SetUnitFlags(UnitFlags(flag)); - target->SetNpcFlags(NPCFlags(npcflag & 0xFFFFFFFF)); - target->SetNpcFlags2(NPCFlags2(npcflag >> 32)); - target->SetDynamicFlags(dyflag); + target->ReplaceAllUnitFlags(UnitFlags(flag)); + target->ReplaceAllNpcFlags(NPCFlags(npcflag & 0xFFFFFFFF)); + target->ReplaceAllNpcFlags2(NPCFlags2(npcflag >> 32)); + target->ReplaceAllDynamicFlags(dyflag); return true; } diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index e90ded28df5..e7198d0afff 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -412,8 +412,8 @@ public: return false; } - creature->SetNpcFlags(npcFlags); - creature->SetNpcFlags2(npcFlags2); + creature->ReplaceAllNpcFlags(npcFlags); + creature->ReplaceAllNpcFlags2(npcFlags2); WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_CREATURE_NPCFLAG); diff --git a/src/server/scripts/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp index 2cddb813ac1..139f25b5226 100644 --- a/src/server/scripts/Commands/cs_reset.cpp +++ b/src/server/scripts/Commands/cs_reset.cpp @@ -114,9 +114,9 @@ public: if (player->GetShapeshiftForm() == FORM_NONE) player->InitDisplayIds(); - player->SetPvpFlags(UNIT_BYTE2_FLAG_PVP); + player->ReplaceAllPvpFlags(UNIT_BYTE2_FLAG_PVP); - player->SetUnitFlags(UNIT_FLAG_PLAYER_CONTROLLED); + player->ReplaceAllUnitFlags(UNIT_FLAG_PLAYER_CONTROLLED); //-1 is default value player->SetWatchedFactionIndex(-1); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp index e3af3869ce8..e2e2908c5ab 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp @@ -159,9 +159,9 @@ class boss_doomrel : public CreatureScript me->SetImmuneToPC(true); if (_instance->GetData(DATA_GHOSTKILL) >= 7) - me->SetNpcFlags(UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); else - me->SetNpcFlags(UNIT_NPC_FLAG_GOSSIP); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP); } void JustEngagedWith(Unit* /*who*/) override diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index 311a1e338bd..49f3f827d78 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -1256,7 +1256,7 @@ public: Julianne->GetMotionMaster()->Clear(); Julianne->setDeathState(JUST_DIED); Julianne->CombatStop(true); - Julianne->SetDynamicFlags(UNIT_DYNFLAG_LOOTABLE); + Julianne->ReplaceAllDynamicFlags(UNIT_DYNFLAG_LOOTABLE); } return; } @@ -1525,7 +1525,7 @@ void boss_julianne::boss_julianneAI::DamageTaken(Unit* /*done_by*/, uint32& dama Romulo->GetMotionMaster()->Clear(); Romulo->setDeathState(JUST_DIED); Romulo->CombatStop(true); - Romulo->SetDynamicFlags(UNIT_DYNFLAG_LOOTABLE); + Romulo->ReplaceAllDynamicFlags(UNIT_DYNFLAG_LOOTABLE); } return; diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp index 8cb1f2242cd..ff59dc0a512 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp @@ -122,7 +122,7 @@ class instance_uldaman : public InstanceMapScript case GO_ANCIENT_VAULT_DOOR: go->SetGoState(GO_STATE_READY); - go->SetFlags(GameObjectFlags(GO_FLAG_IN_USE | GO_FLAG_NODESPAWN)); + go->ReplaceAllFlags(GameObjectFlags(GO_FLAG_IN_USE | GO_FLAG_NODESPAWN)); ancientVaultDoor = go->GetGUID(); if (m_auiEncounter[1] == DONE) diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index c055c800ed3..471baa612c3 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -109,7 +109,7 @@ class npc_voljin_zulaman : public CreatureScript _events.Reset(); me->SetMountDisplayId(0); me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); - me->SetDynamicFlags(UNIT_DYNFLAG_NONE); + me->ReplaceAllDynamicFlags(UNIT_DYNFLAG_NONE); _events.ScheduleEvent(EVENT_INTRO_MOVEPOINT_1, 1s); Talk(SAY_INTRO_1, player); me->SetWalk(true); diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp index 850693e3159..54cee126e70 100644 --- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp @@ -219,7 +219,7 @@ public: Initialize(); me->SetFaction(NormFaction); - me->SetNpcFlags(NpcFlags); + me->ReplaceAllNpcFlags(NpcFlags); } void JustEngagedWith(Unit* who) override diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index 7680b078110..6bcaaaee5e0 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -985,7 +985,7 @@ public: if (Merithra) { - Merithra->SetNpcFlags(UNIT_NPC_FLAG_NONE); + Merithra->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); Merithra->SetStandState(UNIT_STAND_STATE_STAND); Merithra->SetDisplayId(MERITHRA_NIGHT_ELF_FORM); Merithra->SetFaction(FACTION_FRIENDLY); @@ -993,7 +993,7 @@ public: if (Caelestrasz) { - Caelestrasz->SetNpcFlags(UNIT_NPC_FLAG_NONE); + Caelestrasz->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); Caelestrasz->SetStandState(UNIT_STAND_STATE_STAND); Caelestrasz->SetDisplayId(CAELESTRASZ_NIGHT_ELF_FORM); Caelestrasz->SetFaction(FACTION_FRIENDLY); @@ -1001,7 +1001,7 @@ public: if (Arygos) { - Arygos->SetNpcFlags(UNIT_NPC_FLAG_NONE); + Arygos->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); Arygos->SetStandState(UNIT_STAND_STATE_STAND); Arygos->SetDisplayId(ARYGOS_GNOME_FORM); Arygos->SetFaction(FACTION_FRIENDLY); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index 53caef97401..82ea3018c92 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -637,7 +637,7 @@ class boss_flame_leviathan_seat : public CreatureScript if (Creature* turret = turretPassenger->ToCreature()) { turret->SetFaction(me->GetVehicleBase()->GetFaction()); - turret->SetUnitFlags(UnitFlags(0)); // unselectable + turret->ReplaceAllUnitFlags(UnitFlags(0)); // unselectable turret->AI()->AttackStart(who); } if (Unit* devicePassenger = me->GetVehicleKit()->GetPassenger(SEAT_DEVICE)) @@ -657,7 +657,7 @@ class boss_flame_leviathan_seat : public CreatureScript if (Unit* device = ASSERT_NOTNULL(me->GetVehicleKit())->GetPassenger(SEAT_DEVICE)) { device->AddNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); - device->SetUnitFlags(UnitFlags(0)); // unselectable + device->ReplaceAllUnitFlags(UnitFlags(0)); // unselectable } } } diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 8e94bdef929..9a69cb7ce23 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -1458,7 +1458,7 @@ public: me->SetEmoteState(uiEmoteState); if (uiNpcFlags) - me->SetNpcFlags(uiNpcFlags); + me->ReplaceAllNpcFlags(uiNpcFlags); Initialize(); @@ -1470,7 +1470,7 @@ public: void DoAction(int32 /*iParam*/) override { me->StopMoving(); - me->SetNpcFlags(UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); me->SetEmoteState(EMOTE_ONESHOT_NONE); if (Player* player = ObjectAccessor::GetPlayer(*me, uiPlayerGUID)) me->SetFacingToObject(player); diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index febb0674067..f03923a39a1 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -674,7 +674,7 @@ public: me->RemoveAurasDueToSpell(SPELL_JAWS_OF_DEATH_PERIODIC); me->RemoveAurasDueToSpell(SPELL_PRY_JAWS_OPEN); - me->SetNpcFlags(UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); me->GetMotionMaster()->MoveFall(POINT_FALL); }); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp index 0ed60bfafbf..a17bf98c310 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -367,7 +367,7 @@ public: if (!Spawned) { - me->SetUnitFlags(UNIT_FLAG_IMMUNE_TO_PC); + me->ReplaceAllUnitFlags(UNIT_FLAG_IMMUNE_TO_PC); // spawn adds for (uint8 i = 0; i < 9; ++i) if (Creature* summoned = me->SummonCreature(i < 6 ? NPC_COILFANG_AMBUSHER : NPC_COILFANG_GUARDIAN, AddPos[i][0], AddPos[i][1], AddPos[i][2], 0, TEMPSUMMON_CORPSE_DESPAWN)) |