diff options
Diffstat (limited to 'src/server')
205 files changed, 616 insertions, 584 deletions
diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp index 9f4dfb4c9f3..3479e4c55a9 100644 --- a/src/server/game/AI/CoreAI/PetAI.cpp +++ b/src/server/game/AI/CoreAI/PetAI.cpp @@ -412,7 +412,7 @@ void PetAI::DoAttack(Unit* target, bool chase) if (me->Attack(target, true)) { - me->AddUnitFlag(UNIT_FLAG_PET_IN_COMBAT); // on player pets, this flag indicates we're actively going after a target - that's what we're doing, so set it + me->SetUnitFlag(UNIT_FLAG_PET_IN_COMBAT); // on player pets, this flag indicates we're actively going after a target - that's what we're doing, so set it // Play sound to let the player know the pet is attacking something it picked on its own if (me->HasReactState(REACT_AGGRESSIVE) && !me->GetCharmInfo()->IsCommandAttack()) me->SendPetAIReaction(me->GetGUID()); diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 9222084a5d8..4d5be9811b9 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -394,10 +394,10 @@ int32 CreatureAI::VisualizeBoundary(Seconds duration, Unit* owner, bool fill) co if (TempSummon* point = owner->SummonCreature(BOUNDARY_VISUALIZE_CREATURE, Position(startPosition.GetPositionX() + front.first * BOUNDARY_VISUALIZE_STEP_SIZE, startPosition.GetPositionY() + front.second * BOUNDARY_VISUALIZE_STEP_SIZE, spawnZ), TEMPSUMMON_TIMED_DESPAWN, duration)) { point->SetObjectScale(BOUNDARY_VISUALIZE_CREATURE_SCALE); - point->AddUnitFlag(UNIT_FLAG_STUNNED); + point->SetUnitFlag(UNIT_FLAG_STUNNED); point->SetImmuneToAll(true); if (!hasOutOfBoundsNeighbor) - point->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + point->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } } diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index b28edb29ef0..9d1b5c98651 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1652,7 +1652,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u { for (WorldObject* target : targets) if (IsCreature(target)) - target->ToUnit()->AddNpcFlag(NPCFlags(e.action.flag.flag)); + target->ToUnit()->SetNpcFlag(NPCFlags(e.action.flag.flag)); break; } case SMART_ACTION_REMOVE_NPC_FLAG: @@ -1805,7 +1805,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u // pet talent points break; case 2: - target->ToUnit()->AddVisFlags(UnitVisFlags(e.action.setunitByte.byte1)); + target->ToUnit()->SetVisFlag(UnitVisFlags(e.action.setunitByte.byte1)); break; case 3: target->ToUnit()->SetAnimTier(AnimTier(e.action.setunitByte.byte1)); @@ -1828,7 +1828,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u // pet talent points break; case 2: - target->ToUnit()->RemoveVisFlags(UnitVisFlags(e.action.setunitByte.byte1)); + target->ToUnit()->RemoveVisFlag(UnitVisFlags(e.action.setunitByte.byte1)); break; case 3: target->ToUnit()->SetAnimTier(AnimTier::Ground); @@ -2369,7 +2369,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u if (IsUnit(target)) { if (e.action.setImmunePC.immunePC) - target->ToUnit()->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_PC); + target->ToUnit()->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC); else target->ToUnit()->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC); } @@ -2383,7 +2383,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u if (IsUnit(target)) { if (e.action.setImmuneNPC.immuneNPC) - target->ToUnit()->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); + target->ToUnit()->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); else target->ToUnit()->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); } @@ -2397,7 +2397,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u if (IsUnit(target)) { if (e.action.setUninteractible.uninteractible) - target->ToUnit()->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + target->ToUnit()->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); else target->ToUnit()->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp index c39dbc9106a..4a0a3d25137 100644 --- a/src/server/game/Battlefield/Battlefield.cpp +++ b/src/server/game/Battlefield/Battlefield.cpp @@ -503,7 +503,7 @@ void Battlefield::HideNpc(Creature* creature) { creature->CombatStop(); creature->SetReactState(REACT_PASSIVE); - creature->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); creature->DisappearAndDie(); creature->SetVisible(false); } @@ -511,14 +511,14 @@ void Battlefield::HideNpc(Creature* creature) void Battlefield::ShowNpc(Creature* creature, bool aggressive) { creature->SetVisible(true); - creature->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + creature->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); if (!creature->IsAlive()) creature->Respawn(true); if (aggressive) creature->SetReactState(REACT_AGGRESSIVE); else { - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); creature->SetReactState(REACT_PASSIVE); } } diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index 715c497fa30..5d18797a419 100644 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -1812,7 +1812,7 @@ void Battleground::HandleKillPlayer(Player* victim, Player* killer) if (!isArena()) { // To be able to remove insignia -- ONLY IN Battlegrounds - victim->AddUnitFlag(UNIT_FLAG_SKINNABLE); + victim->SetUnitFlag(UNIT_FLAG_SKINNABLE); RewardXPAtKill(killer, victim); } } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp index d826794b178..d0518e566e0 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp @@ -137,9 +137,9 @@ void BattlegroundIC::PostUpdateImpl(uint32 diff) { if (siege->IsAlive()) { - if (siege->HasUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_CANT_SWIM | UNIT_FLAG_IMMUNE_TO_PC))) + if (siege->HasUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_CANT_SWIM | UNIT_FLAG_IMMUNE_TO_PC)) // following sniffs the vehicle always has UNIT_FLAG_CANNOT_SWIM - siege->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_IMMUNE_TO_PC)); + siege->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_IMMUNE_TO_PC); else siege->SetHealth(siege->GetMaxHealth()); } @@ -577,7 +577,7 @@ void BattlegroundIC::HandleContestedNodes(ICNodePoint* node) for (Creature* cannon : cannons) { cannon->GetVehicleKit()->RemoveAllPassengers(); - cannon->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + cannon->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } } else if (node->nodeType == NODE_TYPE_WORKSHOP) @@ -764,7 +764,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* node, bool recapture) if (Creature* siegeEngine = GetBGCreature(siegeType)) { - siegeEngine->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_CANT_SWIM)); + siegeEngine->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_CANT_SWIM); siegeEngine->SetImmuneToPC(true); siegeEngine->SetFaction(BG_IC_Factions[(node->faction == TEAM_ALLIANCE ? 0 : 1)]); } diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp index c2cb0bad634..e112eff40ce 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp @@ -676,9 +676,9 @@ void BattlegroundSA::DemolisherStartState(bool start) if (Creature* dem = GetBGCreature(i)) { if (start) - dem->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + dem->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); else - dem->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + dem->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); } } } @@ -762,7 +762,7 @@ void BattlegroundSA::UpdateObjectInteractionFlags(uint32 objectId) if (CanInteractWithObject(objectId)) go->RemoveFlag(GO_FLAG_NOT_SELECTABLE); else - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); } } diff --git a/src/server/game/Combat/CombatManager.cpp b/src/server/game/Combat/CombatManager.cpp index 41ee2147113..4a82b5e98b2 100644 --- a/src/server/game/Combat/CombatManager.cpp +++ b/src/server/game/Combat/CombatManager.cpp @@ -367,7 +367,7 @@ bool CombatManager::UpdateOwnerCombatState() const if (combatState) { - _owner->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + _owner->SetUnitFlag(UNIT_FLAG_IN_COMBAT); _owner->AtEnterCombat(); if (_owner->GetTypeId() != TYPEID_UNIT) _owner->AtEngage(GetAnyTarget()); diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h index c52e8e74dd1..5d65e858ae3 100644 --- a/src/server/game/Entities/Corpse/Corpse.h +++ b/src/server/game/Entities/Corpse/Corpse.h @@ -87,7 +87,7 @@ class TC_GAME_API Corpse : public WorldObject, public GridObject<Corpse> 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 SetCorpseDynamicFlag(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 ReplaceAllCorpseDynamicFlags(CorpseDynFlags dynamicFlags) { SetUpdateFieldValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); } diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index c5b445df19c..baba65fca1d 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -675,7 +675,7 @@ bool Creature::UpdateEntry(uint32 entry, CreatureData const* data /*= nullptr*/, // trigger creature is always uninteractible and can not be attacked if (IsTrigger()) - AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); InitializeReactState(); @@ -1357,7 +1357,7 @@ void Creature::SetLootRecipient(Unit* unit, bool withGroup) else m_lootRecipientGroup = ObjectGuid::Empty; - AddDynamicFlag(UNIT_DYNFLAG_TAPPED); + SetDynamicFlag(UNIT_DYNFLAG_TAPPED); } // return true if this creature is tapped by the player or by a member of his group. @@ -2518,7 +2518,7 @@ bool Creature::CanAssistTo(Unit const* u, Unit const* enemy, bool checkfaction / if (IsCivilian()) return false; - if (HasUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)) || IsImmuneToNPC()) + if (HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE) || IsImmuneToNPC()) return false; // skip fighting creature @@ -2874,14 +2874,14 @@ void Creature::RefreshCanSwimFlag(bool recheck) // Check if the creature has UNIT_FLAG_CAN_SWIM and add it if it's missing // Creatures must be able to chase a target in water if they can enter water if (_isMissingCanSwimFlagOutOfCombat && CanEnterWater()) - AddUnitFlag(UNIT_FLAG_CAN_SWIM); + SetUnitFlag(UNIT_FLAG_CAN_SWIM); } void Creature::AllLootRemovedFromCorpse() { if (loot.loot_type != LOOT_SKINNING && !IsPet() && GetCreatureTemplate()->SkinLootId && hasLootRecipient()) if (LootTemplates_Skinning.HaveLootFor(GetCreatureTemplate()->SkinLootId)) - AddUnitFlag(UNIT_FLAG_SKINNABLE); + SetUnitFlag(UNIT_FLAG_SKINNABLE); time_t now = GameTime::GetGameTime(); // Do not reset corpse remove time if corpse is already removed diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 8d618eaf8f2..bdd4b55c2eb 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -439,7 +439,7 @@ bool GameObject::Create(uint32 entry, Map* map, Position const& pos, QuaternionD break; case GAMEOBJECT_TYPE_PHASEABLE_MO: RemoveFlag(GameObjectFlags(0xF00)); - AddFlag(GameObjectFlags((m_goInfo->phaseableMO.AreaNameSet & 0xF) << 8)); + SetFlag(GameObjectFlags((m_goInfo->phaseableMO.AreaNameSet & 0xF) << 8)); break; case GAMEOBJECT_TYPE_CAPTURE_POINT: SetUpdateFieldValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::SpellVisualID), m_goInfo->capturePoint.SpellVisual1); @@ -1269,7 +1269,7 @@ bool GameObject::LoadFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap if (!GetGOInfo()->GetDespawnPossibility() && !GetGOInfo()->IsDespawnAtAction()) { - AddFlag(GO_FLAG_NODESPAWN); + SetFlag(GO_FLAG_NODESPAWN); m_respawnDelayTime = 0; m_respawnTime = 0; } @@ -1660,7 +1660,7 @@ void GameObject::ActivateObject(GameObjectActions action, int32 param, WorldObje RemoveFlag(GO_FLAG_LOCKED); break; case GameObjectActions::Lock: - AddFlag(GO_FLAG_LOCKED); + SetFlag(GO_FLAG_LOCKED); break; case GameObjectActions::Open: if (unitCaster) @@ -1691,14 +1691,14 @@ void GameObject::ActivateObject(GameObjectActions action, int32 param, WorldObje DespawnOrUnsummon(); break; case GameObjectActions::MakeInert: - AddFlag(GO_FLAG_NOT_SELECTABLE); + SetFlag(GO_FLAG_NOT_SELECTABLE); break; case GameObjectActions::MakeActive: RemoveFlag(GO_FLAG_NOT_SELECTABLE); break; case GameObjectActions::CloseAndLock: ResetDoorOrButton(); - AddFlag(GO_FLAG_LOCKED); + SetFlag(GO_FLAG_LOCKED); break; case GameObjectActions::UseArtKit0: case GameObjectActions::UseArtKit1: @@ -1801,7 +1801,7 @@ void GameObject::SetGoArtKit(uint8 artkit, GameObject* go, ObjectGuid::LowType l void GameObject::SwitchDoorOrButton(bool activate, bool alternative /* = false */) { if (activate) - AddFlag(GO_FLAG_IN_USE); + SetFlag(GO_FLAG_IN_USE); else RemoveFlag(GO_FLAG_IN_USE); @@ -2002,7 +2002,7 @@ void GameObject::Use(Unit* user) if (uint32 trapEntry = info->goober.linkedTrap) TriggeringLinkedGameObject(trapEntry, user); - AddFlag(GO_FLAG_IN_USE); + SetFlag(GO_FLAG_IN_USE); SetLootState(GO_ACTIVATED, user); // this appear to be ok, however others exist in addition to this that should have custom (ex: 190510, 188692, 187389) @@ -2669,7 +2669,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb switch (state) { case GO_DESTRUCTIBLE_INTACT: - RemoveFlag(GameObjectFlags(GO_FLAG_DAMAGED | GO_FLAG_DESTROYED)); + RemoveFlag(GO_FLAG_DAMAGED | GO_FLAG_DESTROYED); SetDisplayId(m_goInfo->displayId); if (setHealth) { @@ -2684,7 +2684,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb AI()->Damaged(attackerOrHealer, m_goInfo->destructibleBuilding.DamagedEvent); RemoveFlag(GO_FLAG_DESTROYED); - AddFlag(GO_FLAG_DAMAGED); + SetFlag(GO_FLAG_DAMAGED); uint32 modelId = m_goInfo->displayId; if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->destructibleBuilding.DestructibleModelRec)) @@ -2713,7 +2713,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb bg->DestroyGate(player, this); RemoveFlag(GO_FLAG_DAMAGED); - AddFlag(GO_FLAG_DESTROYED); + SetFlag(GO_FLAG_DESTROYED); uint32 modelId = m_goInfo->displayId; if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->destructibleBuilding.DestructibleModelRec)) @@ -2732,7 +2732,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb case GO_DESTRUCTIBLE_REBUILDING: { EventInform(m_goInfo->destructibleBuilding.RebuildingEvent, attackerOrHealer); - RemoveFlag(GameObjectFlags(GO_FLAG_DAMAGED | GO_FLAG_DESTROYED)); + RemoveFlag(GO_FLAG_DAMAGED | GO_FLAG_DESTROYED); uint32 modelId = m_goInfo->displayId; if (DestructibleModelDataEntry const* modelData = sDestructibleModelDataStore.LookupEntry(m_goInfo->destructibleBuilding.DestructibleModelRec)) @@ -3321,7 +3321,7 @@ void GameObject::CreateModel() { m_model = GameObjectModel::Create(std::make_unique<GameObjectModelOwnerImpl>(this), sWorld->GetDataPath()); if (m_model && m_model->isMapObject()) - AddFlag(GO_FLAG_MAP_OBJECT); + SetFlag(GO_FLAG_MAP_OBJECT); } std::string GameObject::GetDebugInfo() const diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 7b2d4aa1d88..b032b0018bb 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -200,7 +200,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject> 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 SetFlag(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 ReplaceAllFlags(GameObjectFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::Flags), flags); } diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index 30617f21b88..d52519fa164 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -1647,7 +1647,7 @@ Item* Item::CloneItem(uint32 count, Player const* player /*= nullptr*/) const newItem->SetCreator(GetCreator()); newItem->SetGiftCreator(GetGiftCreator()); - newItem->ReplaceAllItemFlags(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) @@ -1892,7 +1892,7 @@ bool Item::IsRefundExpired() void Item::SetSoulboundTradeable(GuidSet const& allowedLooters) { - AddItemFlag(ITEM_FIELD_FLAG_BOP_TRADEABLE); + SetItemFlag(ITEM_FIELD_FLAG_BOP_TRADEABLE); allowedGUIDs = allowedLooters; } diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index 7440b9bb0a2..8e7aebc7660 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -201,17 +201,17 @@ class TC_GAME_API Item : public Object void SetBinding(bool val) { if (val) - AddItemFlag(ITEM_FIELD_FLAG_SOULBOUND); + SetItemFlag(ITEM_FIELD_FLAG_SOULBOUND); else RemoveItemFlag(ITEM_FIELD_FLAG_SOULBOUND); } 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 SetItemFlag(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 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 SetItemFlag2(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 ReplaceAllItemFlags2(ItemFieldFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Item::m_itemData).ModifyValue(&UF::ItemData::DynamicFlags2), flags); } diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h index a2183ba78be..8ae68284dec 100644 --- a/src/server/game/Entities/Item/ItemTemplate.h +++ b/src/server/game/Entities/Item/ItemTemplate.h @@ -168,11 +168,15 @@ enum ItemFieldFlags : uint32 ITEM_FIELD_FLAG_UNK26 = 0x80000000 }; +DEFINE_ENUM_FLAG(ItemFieldFlags); + enum ItemFieldFlags2 : uint32 { ITEM_FIELD_FLAG2_EQUIPPED = 0x1 }; +DEFINE_ENUM_FLAG(ItemFieldFlags2); + enum ItemFlags : uint32 { ITEM_FLAG_NO_PICKUP = 0x00000001, diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 129ac5a7988..9350f7073e6 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -2931,7 +2931,7 @@ bool WorldObject::IsValidAttackTarget(WorldObject const* target, SpellInfo const } // check flags - if (unitTarget && unitTarget->HasUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_ON_TAXI | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_NON_ATTACKABLE_2))) + if (unitTarget && unitTarget->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_ON_TAXI | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_NON_ATTACKABLE_2)) return false; Unit const* unitOrOwner = unit; @@ -3075,7 +3075,7 @@ bool WorldObject::IsValidAssistTarget(WorldObject const* target, SpellInfo const return false; // check flags for negative spells - if (isNegativeSpell && unitTarget && unitTarget->HasUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_ON_TAXI | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_NON_ATTACKABLE_2))) + if (isNegativeSpell && unitTarget && unitTarget->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_ON_TAXI | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_NON_ATTACKABLE_2)) return false; if (isNegativeSpell || !bySpell || !bySpell->HasAttribute(SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG)) diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 66c9ed7a8ce..cd1e47ca26a 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -163,7 +163,7 @@ class TC_GAME_API Object uint32 GetDynamicFlags() const { return m_objectData->DynamicFlags; } 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 SetDynamicFlag(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 ReplaceAllDynamicFlags(uint32 flag) { SetUpdateFieldValue(m_values.ModifyValue(&Object::m_objectData).ModifyValue(&UF::ObjectData::DynamicFlags), flag); } diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 467daa1996b..a3c2313e63f 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -289,7 +289,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c SetClass(CLASS_WARRIOR); SetGender(GENDER_NONE); SetSheath(SHEATH_STATE_MELEE); - ReplaceAllPetFlags(petInfo->WasRenamed ? UNIT_PET_FLAG_CAN_BE_ABANDONED : UnitPetFlag(UNIT_PET_FLAG_CAN_BE_RENAMED | UNIT_PET_FLAG_CAN_BE_ABANDONED)); + ReplaceAllPetFlags(petInfo->WasRenamed ? UNIT_PET_FLAG_CAN_BE_ABANDONED : (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: @@ -842,7 +842,7 @@ bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map) SetGender(GENDER_NONE); SetPowerType(POWER_FOCUS); SetSheath(SHEATH_STATE_MELEE); - ReplaceAllPetFlags(UnitPetFlag(UNIT_PET_FLAG_CAN_BE_RENAMED | UNIT_PET_FLAG_CAN_BE_ABANDONED)); + ReplaceAllPetFlags(UNIT_PET_FLAG_CAN_BE_RENAMED | UNIT_PET_FLAG_CAN_BE_ABANDONED); } return true; @@ -1702,7 +1702,7 @@ bool Pet::Create(ObjectGuid::LowType guidlow, Map* map, uint32 Entry, uint32 /*p return false; // Force regen flag for player pets, just like we do for players themselves - AddUnitFlag2(UNIT_FLAG2_REGENERATE_POWER); + SetUnitFlag2(UNIT_FLAG2_REGENERATE_POWER); SetSheath(SHEATH_STATE_MELEE); GetThreatManager().Initialize(); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 41957580229..f649e5169b1 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -476,11 +476,11 @@ bool Player::Create(ObjectGuid::LowType guidlow, WorldPackets::Character::Charac InitDisplayIds(); if (sWorld->getIntConfig(CONFIG_GAME_TYPE) == REALM_TYPE_PVP || sWorld->getIntConfig(CONFIG_GAME_TYPE) == REALM_TYPE_RPPVP) { - AddPvpFlag(UNIT_BYTE2_FLAG_PVP); - AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + SetPvpFlag(UNIT_BYTE2_FLAG_PVP); + SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); } - AddUnitFlag2(UNIT_FLAG2_REGENERATE_POWER); + SetUnitFlag2(UNIT_FLAG2_REGENERATE_POWER); SetHoverHeight(1.0f); // default for players in 3.0.3 SetWatchedFactionIndex(-1); @@ -1275,7 +1275,7 @@ void Player::ToggleAFK() if (isAFK()) RemovePlayerFlag(PLAYER_FLAGS_AFK); else - AddPlayerFlag(PLAYER_FLAGS_AFK); + SetPlayerFlag(PLAYER_FLAGS_AFK); // afk player not allowed in battleground if (!IsGameMaster() && isAFK() && InBattleground() && !InArena()) @@ -1287,7 +1287,7 @@ void Player::ToggleDND() if (isDND()) RemovePlayerFlag(PLAYER_FLAGS_DND); else - AddPlayerFlag(PLAYER_FLAGS_DND); + SetPlayerFlag(PLAYER_FLAGS_DND); } uint8 Player::GetChatFlags() const @@ -2109,8 +2109,8 @@ void Player::SetGameMaster(bool on) { m_ExtraFlags |= PLAYER_EXTRA_GM_ON; SetFaction(FACTION_FRIENDLY); - AddPlayerFlag(PLAYER_FLAGS_GM); - AddUnitFlag2(UNIT_FLAG2_ALLOW_CHEAT_SPELLS); + SetPlayerFlag(PLAYER_FLAGS_GM); + SetUnitFlag2(UNIT_FLAG2_ALLOW_CHEAT_SPELLS); if (Pet* pet = GetPet()) pet->SetFaction(FACTION_FRIENDLY); @@ -2137,7 +2137,7 @@ void Player::SetGameMaster(bool on) // restore FFA PvP Server state if (sWorld->IsFFAPvPRealm()) - AddPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); + SetPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); // restore FFA PvP area state, remove not allowed for GM mounts UpdateArea(m_areaUpdateId); @@ -2570,22 +2570,22 @@ void Player::InitStatsForLevel(bool reapplyMods) SetMountDisplayId(0); // cleanup unit flags (will be re-applied if need at aura load). - RemoveUnitFlag(UnitFlags( + RemoveUnitFlag( UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_REMOVE_CLIENT_CONTROL | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_LOOTING | UNIT_FLAG_PET_IN_COMBAT | UNIT_FLAG_SILENCED | UNIT_FLAG_PACIFIED | UNIT_FLAG_STUNNED | UNIT_FLAG_IN_COMBAT | UNIT_FLAG_DISARMED | UNIT_FLAG_CONFUSED | UNIT_FLAG_FLEEING | UNIT_FLAG_UNINTERACTIBLE | - UNIT_FLAG_SKINNABLE | UNIT_FLAG_MOUNT | UNIT_FLAG_ON_TAXI )); - AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); // must be set + UNIT_FLAG_SKINNABLE | UNIT_FLAG_MOUNT | UNIT_FLAG_ON_TAXI ); + SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); // must be set - AddUnitFlag2(UNIT_FLAG2_REGENERATE_POWER);// must be set + SetUnitFlag2(UNIT_FLAG2_REGENERATE_POWER);// must be set // cleanup player flags (will be re-applied if need at aura load), to avoid have ghost flag without ghost aura, for example. - RemovePlayerFlag(PlayerFlags(PLAYER_FLAGS_AFK | PLAYER_FLAGS_DND | PLAYER_FLAGS_GM | PLAYER_FLAGS_GHOST)); + RemovePlayerFlag(PLAYER_FLAGS_AFK | PLAYER_FLAGS_DND | PLAYER_FLAGS_GM | PLAYER_FLAGS_GHOST); - RemoveVisFlags(UNIT_VIS_FLAGS_ALL); // one form stealth modified bytes - RemovePvpFlag(UnitPVPStateFlags(UNIT_BYTE2_FLAG_FFA_PVP | UNIT_BYTE2_FLAG_SANCTUARY)); + RemoveVisFlag(UNIT_VIS_FLAGS_ALL); // one form stealth modified bytes + RemovePvpFlag(UNIT_BYTE2_FLAG_FFA_PVP | UNIT_BYTE2_FLAG_SANCTUARY); // restore if need some important flags SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::LocalRegenFlags), 0); @@ -4330,7 +4330,7 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness) RemoveAurasDueToSpell(8326); // SPELL_AURA_GHOST if (GetSession()->IsARecruiter() || (GetSession()->GetRecruiterId() != 0)) - AddDynamicFlag(UNIT_DYNFLAG_REFER_A_FRIEND); + SetDynamicFlag(UNIT_DYNFLAG_REFER_A_FRIEND); setDeathState(ALIVE); @@ -4413,7 +4413,7 @@ void Player::KillPlayer() ReplaceAllDynamicFlags(UNIT_DYNFLAG_NONE); if (!sMapStore.LookupEntry(GetMapId())->Instanceable() && !HasAuraType(SPELL_AURA_PREVENT_RESURRECTION)) - AddPlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); + SetPlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); else RemovePlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); @@ -7114,7 +7114,7 @@ void Player::SetInGuild(ObjectGuid::LowType guildId) if (guildId) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::GuildGUID), ObjectGuid::Create<HighGuid::Guild>(guildId)); - AddPlayerFlag(PLAYER_FLAGS_GUILD_LEVEL_ENABLED); + SetPlayerFlag(PLAYER_FLAGS_GUILD_LEVEL_ENABLED); } else { @@ -7208,7 +7208,7 @@ void Player::UpdateArea(uint32 newArea) pvpInfo.IsInNoPvPArea = false; if (area && area->IsSanctuary()) // in sanctuary { - AddPvpFlag(UNIT_BYTE2_FLAG_SANCTUARY); + SetPvpFlag(UNIT_BYTE2_FLAG_SANCTUARY); pvpInfo.IsInNoPvPArea = true; if (!duel && GetCombatManager().HasPvPCombat()) CombatStopWithPets(); @@ -8707,7 +8707,7 @@ void Player::RemovedInsignia(Player* looterPlr) return; // Now we must make bones lootable, and send player loot - bones->AddCorpseDynamicFlag(CORPSE_DYNFLAG_LOOTABLE); + bones->SetCorpseDynamicFlag(CORPSE_DYNFLAG_LOOTABLE); // We store the level of our player in the gold field // We retrieve this information at Player::SendLoot() @@ -9121,7 +9121,7 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type, bool aeLooting/* = fa m_AELootView[loot->GetGUID()] = guid; if (loot_type == LOOT_CORPSE && !guid.IsItem()) - AddUnitFlag(UNIT_FLAG_LOOTING); + SetUnitFlag(UNIT_FLAG_LOOTING); } else SendLootError(loot->GetGUID(), guid, LOOT_ERROR_DIDNT_KILL); @@ -12075,7 +12075,7 @@ Item* Player::StoreNewItem(ItemPosCountVec const& pos, uint32 itemId, bool updat Item* item = Item::CreateItem(itemId, count, context, this); if (item) { - item->AddItemFlag(ITEM_FIELD_FLAG_NEW_ITEM); + item->SetItemFlag(ITEM_FIELD_FLAG_NEW_ITEM); item->SetBonuses(bonusListIDs); @@ -12119,7 +12119,7 @@ Item* Player::StoreNewItem(ItemPosCountVec const& pos, uint32 itemId, bool updat if (Item* childItem = StoreNewItem(childDest, childTemplate->GetId(), update, {}, {}, context, {}, addToCollection)) { childItem->SetCreator(item->GetGUID()); - childItem->AddItemFlag(ITEM_FIELD_FLAG_CHILD); + childItem->SetItemFlag(ITEM_FIELD_FLAG_CHILD); item->SetChildItem(childItem->GetGUID()); } } @@ -12321,7 +12321,7 @@ Item* Player::EquipItem(uint16 pos, Item* pItem, bool update) } } - pItem->AddItemFlag2(ITEM_FIELD_FLAG2_EQUIPPED); + pItem->SetItemFlag2(ITEM_FIELD_FLAG2_EQUIPPED); if (IsInWorld() && update) { @@ -12499,7 +12499,7 @@ void Player::QuickEquipItem(uint16 pos, Item* pItem) uint8 slot = pos & 255; VisualizeItem(slot, pItem); - pItem->AddItemFlag2(ITEM_FIELD_FLAG2_EQUIPPED); + pItem->SetItemFlag2(ITEM_FIELD_FLAG2_EQUIPPED); if (IsInWorld()) { @@ -18628,7 +18628,7 @@ bool Player::LoadFromDB(ObjectGuid guid, CharacterDatabaseQueryHolder const& hol // RaF stuff. if (GetSession()->IsARecruiter() || (GetSession()->GetRecruiterId() != 0)) - AddDynamicFlag(UNIT_DYNFLAG_REFER_A_FRIEND); + SetDynamicFlag(UNIT_DYNFLAG_REFER_A_FRIEND); _LoadDeclinedNames(holder.GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_DECLINED_NAMES)); @@ -18924,7 +18924,7 @@ void Player::LoadCorpse(PreparedQueryResult result) Field* fields = result->Fetch(); _corpseLocation.WorldRelocate(fields[0].GetUInt16(), fields[1].GetFloat(), fields[2].GetFloat(), fields[3].GetFloat(), fields[4].GetFloat()); if (!sMapStore.AssertEntry(_corpseLocation.GetMapId())->Instanceable()) - AddPlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); + SetPlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); else RemovePlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); } @@ -19787,7 +19787,7 @@ void Player::_LoadGroup(PreparedQueryResult result) if (Group* group = sGroupMgr->GetGroupByDbStoreId((*result)[0].GetUInt32())) { if (group->IsLeader(GetGUID())) - AddPlayerFlag(PLAYER_FLAGS_GROUP_LEADER); + SetPlayerFlag(PLAYER_FLAGS_GROUP_LEADER); uint8 subgroup = group->GetMemberGroup(GetGUID()); SetGroup(group, subgroup); @@ -21797,7 +21797,7 @@ void Player::SetContestedPvP(Player* attackedPlayer) if (!HasUnitState(UNIT_STATE_ATTACK_PLAYER)) { AddUnitState(UNIT_STATE_ATTACK_PLAYER); - AddPlayerFlag(PLAYER_FLAGS_CONTESTED_PVP); + SetPlayerFlag(PLAYER_FLAGS_CONTESTED_PVP); // call MoveInLineOfSight for nearby contested guards Trinity::AIRelocationNotifier notifier(*this); Cell::VisitWorldObjects(this, notifier, GetVisibilityRange()); @@ -23017,7 +23017,7 @@ void Player::CleanupAfterTaxiFlight() { m_taxi.ClearTaxiDestinations(); // not destinations, clear source node Dismount(); - RemoveUnitFlag(UnitFlags(UNIT_FLAG_REMOVE_CLIENT_CONTROL | UNIT_FLAG_ON_TAXI)); + RemoveUnitFlag(UNIT_FLAG_REMOVE_CLIENT_CONTROL | UNIT_FLAG_ON_TAXI); } void Player::ContinueTaxiFlight() const @@ -23165,7 +23165,7 @@ inline bool Player::_StoreOrEquipNewItem(uint32 vendorslot, uint32 item, uint8 c if (pProto->HasFlag(ITEM_FLAG_ITEM_PURCHASE_RECORD) && crItem->ExtendedCost && pProto->GetMaxStackSize() == 1) { - it->AddItemFlag(ITEM_FIELD_FLAG_REFUNDABLE); + it->SetItemFlag(ITEM_FIELD_FLAG_REFUNDABLE); it->SetRefundRecipient(GetGUID()); it->SetPaidMoney(price); it->SetPaidExtendedCost(crItem->ExtendedCost); @@ -23623,9 +23623,9 @@ void Player::UpdatePvPState(bool onlyFFA) { if (!IsFFAPvP()) { - AddPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); + SetPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); for (ControlList::iterator itr = m_Controlled.begin(); itr != m_Controlled.end(); ++itr) - (*itr)->AddPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); + (*itr)->SetPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); } } else if (IsFFAPvP()) @@ -29180,7 +29180,7 @@ void Player::SetWarModeDesired(bool enabled) if (enabled) { - AddPlayerFlag(PLAYER_FLAGS_WAR_MODE_DESIRED); + SetPlayerFlag(PLAYER_FLAGS_WAR_MODE_DESIRED); TogglePvpTalents(true); SetPvP(true); } @@ -29197,7 +29197,7 @@ void Player::SetWarModeDesired(bool enabled) void Player::SetWarModeLocal(bool enabled) { if (enabled) - AddPlayerLocalFlag(PLAYER_LOCAL_FLAG_WAR_MODE); + SetPlayerLocalFlag(PLAYER_LOCAL_FLAG_WAR_MODE); else RemovePlayerLocalFlag(PLAYER_LOCAL_FLAG_WAR_MODE); } @@ -29238,12 +29238,12 @@ void Player::UpdateWarModeAuras() } else { - AddPlayerFlag(PLAYER_FLAGS_WAR_MODE_ACTIVE); + SetPlayerFlag(PLAYER_FLAGS_WAR_MODE_ACTIVE); RemoveAurasDueToSpell(auraInside); CastSpell(this, auraOutside, true); } SetWarModeLocal(true); - AddPvpFlag(UNIT_BYTE2_FLAG_PVP); + SetPvpFlag(UNIT_BYTE2_FLAG_PVP); } else { diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 528d8db6fab..12477542e99 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -484,6 +484,8 @@ enum PlayerFlags PLAYER_FLAGS_COMMENTATOR_CAMERA = 0x80000000 }; +DEFINE_ENUM_FLAG(PlayerFlags); + enum PlayerFlagsEx { PLAYER_FLAGS_EX_REAGENT_BANK_UNLOCKED = 0x0001, @@ -495,6 +497,8 @@ enum PlayerFlagsEx PLAYER_FLAGS_EX_UNLOCKED_AOE_LOOT = 0x0200 }; +DEFINE_ENUM_FLAG(PlayerFlagsEx); + enum PlayerLocalFlags { PLAYER_LOCAL_FLAG_CONTROLLING_PET = 0x00000001, // Displays "You have an active summon already" when trying to tame new pet @@ -514,6 +518,8 @@ enum PlayerLocalFlags PLAYER_LOCAL_FLAG_WEEKLY_REWARD_AVAILABLE = 0x00040000, }; +DEFINE_ENUM_FLAG(PlayerLocalFlags); + // used in PLAYER_FIELD_BYTES2 values enum PlayerFieldByte2Flags { @@ -1190,7 +1196,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void ContinueTaxiFlight() const; bool IsDeveloper() const { return HasPlayerFlag(PLAYER_FLAGS_DEVELOPER); } - void SetDeveloper(bool on) { if (on) AddPlayerFlag(PLAYER_FLAGS_DEVELOPER); else RemovePlayerFlag(PLAYER_FLAGS_DEVELOPER); } + void SetDeveloper(bool on) { if (on) SetPlayerFlag(PLAYER_FLAGS_DEVELOPER); else RemovePlayerFlag(PLAYER_FLAGS_DEVELOPER); } bool isAcceptWhispers() const { return (m_ExtraFlags & PLAYER_EXTRA_ACCEPT_WHISPERS) != 0; } void SetAcceptWhispers(bool on) { if (on) m_ExtraFlags |= PLAYER_EXTRA_ACCEPT_WHISPERS; else m_ExtraFlags &= ~PLAYER_EXTRA_ACCEPT_WHISPERS; } bool IsGameMaster() const { return (m_ExtraFlags & PLAYER_EXTRA_GM_ON) != 0; } @@ -2631,7 +2637,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> // Void Storage bool IsVoidStorageUnlocked() const { return HasPlayerFlag(PLAYER_FLAGS_VOID_UNLOCKED); } - void UnlockVoidStorage() { AddPlayerFlag(PLAYER_FLAGS_VOID_UNLOCKED); } + void UnlockVoidStorage() { SetPlayerFlag(PLAYER_FLAGS_VOID_UNLOCKED); } void LockVoidStorage() { RemovePlayerFlag(PLAYER_FLAGS_VOID_UNLOCKED); } uint8 GetNextVoidStorageFreeSlot() const; uint8 GetNumOfVoidStorageFreeSlots() const; @@ -2643,7 +2649,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> // Reagent Bank bool IsReagentBankUnlocked() const { return HasPlayerFlagEx(PLAYER_FLAGS_EX_REAGENT_BANK_UNLOCKED); } - void UnlockReagentBank() { AddPlayerFlagEx(PLAYER_FLAGS_EX_REAGENT_BANK_UNLOCKED); } + void UnlockReagentBank() { SetPlayerFlagEx(PLAYER_FLAGS_EX_REAGENT_BANK_UNLOCKED); } void CreateGarrison(uint32 garrSiteId); void DeleteGarrison(); @@ -2675,12 +2681,12 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool MeetPlayerCondition(uint32 conditionId) const; 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 SetPlayerFlag(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 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 SetPlayerFlagEx(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 ReplaceAllPlayerFlagsEx(PlayerFlagsEx flags) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_playerData).ModifyValue(&UF::PlayerData::PlayerFlagsEx), flags); } @@ -2756,7 +2762,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> ObjectGuid GetSummonedBattlePetGUID() const { return m_activePlayerData->SummonedBattlePetGUID; } void SetSummonedBattlePetGUID(ObjectGuid guid) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::SummonedBattlePetGUID), guid); } - void AddTrackCreatureFlag(uint32 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::TrackCreatureMask), flags); } + void SetTrackCreatureFlag(uint32 flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::TrackCreatureMask), flags); } void RemoveTrackCreatureFlag(uint32 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::TrackCreatureMask), flags); } void SetVersatilityBonus(float value) { SetUpdateFieldStatValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::VersatilityBonus), value); } @@ -2766,7 +2772,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void ApplyModOverrideAPBySpellPowerPercent(float mod, bool apply) { ApplyModUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::OverrideAPBySpellPowerPercent), mod, apply); } 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 SetPlayerLocalFlag(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 ReplaceAllPlayerLocalFlags(PlayerLocalFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::LocalFlags), flags); } diff --git a/src/server/game/Entities/Player/RestMgr.cpp b/src/server/game/Entities/Player/RestMgr.cpp index 3c23a9310c0..2eb0243be28 100644 --- a/src/server/game/Entities/Player/RestMgr.cpp +++ b/src/server/game/Entities/Player/RestMgr.cpp @@ -102,7 +102,7 @@ void RestMgr::SetRestFlag(RestFlag restFlag, uint32 triggerID) if (!oldRestMask && _restFlagMask) // only set flag/time on the first rest state { _restTime = GameTime::GetGameTime(); - _player->AddPlayerFlag(PLAYER_FLAGS_RESTING); + _player->SetPlayerFlag(PLAYER_FLAGS_RESTING); } if (triggerID) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 004ee1f1ab3..86b7eac84a4 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -5868,7 +5868,7 @@ void Unit::SetMinion(Minion *minion, bool apply) if (GetTypeId() == TYPEID_PLAYER) { minion->m_ControlledByPlayer = true; - minion->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + minion->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); } // Can only have one pet. If a new one is summoned, dismiss the old one. @@ -6055,7 +6055,7 @@ void Unit::SetCharm(Unit* charm, bool apply) charm->m_ControlledByPlayer = true; /// @todo maybe we can use this flag to check if controlled by player - charm->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + charm->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); } else charm->m_ControlledByPlayer = false; @@ -6094,13 +6094,13 @@ void Unit::SetCharm(Unit* charm, bool apply) if (charm->GetTypeId() == TYPEID_PLAYER) { charm->m_ControlledByPlayer = true; - charm->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + charm->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); charm->ToPlayer()->UpdatePvPState(); } else if (Player* player = charm->GetCharmerOrOwnerPlayerOrPlayerItself()) { charm->m_ControlledByPlayer = true; - charm->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + charm->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); charm->ReplaceAllPvpFlags(player->GetPvpFlags()); } else @@ -7573,7 +7573,7 @@ void Unit::Mount(uint32 mount, uint32 VehicleId, uint32 creatureEntry) if (mount) SetMountDisplayId(mount); - AddUnitFlag(UNIT_FLAG_MOUNT); + SetUnitFlag(UNIT_FLAG_MOUNT); if (Player* player = ToPlayer()) { @@ -7596,7 +7596,7 @@ void Unit::Mount(uint32 mount, uint32 VehicleId, uint32 creatureEntry) Battleground* bg = ToPlayer()->GetBattleground(); // don't unsummon pet in arena but SetFlag UNIT_FLAG_STUNNED to disable pet's interface if (bg && bg->isArena()) - pet->AddUnitFlag(UNIT_FLAG_STUNNED); + pet->SetUnitFlag(UNIT_FLAG_STUNNED); else player->UnsummonPetTemporaryIfAny(); } @@ -7604,7 +7604,7 @@ void Unit::Mount(uint32 mount, uint32 VehicleId, uint32 creatureEntry) // if we have charmed npc, stun him also (everywhere) if (Unit* charm = player->GetCharmed()) if (charm->GetTypeId() == TYPEID_UNIT) - charm->AddUnitFlag(UNIT_FLAG_STUNNED); + charm->SetUnitFlag(UNIT_FLAG_STUNNED); player->SendMovementSetCollisionHeight(player->GetCollisionHeight(), WorldPackets::Movement::UpdateCollisionHeightReason::Mount); } @@ -7766,11 +7766,11 @@ void Unit::UpdateMountCapability() bool Unit::IsServiceProvider() const { - return HasNpcFlag(NPCFlags( + return HasNpcFlag( UNIT_NPC_FLAG_VENDOR | UNIT_NPC_FLAG_TRAINER | UNIT_NPC_FLAG_FLIGHTMASTER | UNIT_NPC_FLAG_PETITIONER | UNIT_NPC_FLAG_BATTLEMASTER | UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_INNKEEPER | UNIT_NPC_FLAG_SPIRITHEALER | - UNIT_NPC_FLAG_SPIRITGUIDE | UNIT_NPC_FLAG_TABARDDESIGNER | UNIT_NPC_FLAG_AUCTIONEER)); + UNIT_NPC_FLAG_SPIRITGUIDE | UNIT_NPC_FLAG_TABARDDESIGNER | UNIT_NPC_FLAG_AUCTIONEER); } void Unit::EngageWithTarget(Unit* enemy) @@ -7788,20 +7788,20 @@ void Unit::SetImmuneToAll(bool apply, bool keepCombat) { if (apply) { - AddUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC)); + SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); ValidateAttackersAndOwnTarget(); if (!keepCombat) m_combatManager.EndAllCombat(); } else - RemoveUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC)); + RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); } void Unit::SetImmuneToPC(bool apply, bool keepCombat) { if (apply) { - AddUnitFlag(UNIT_FLAG_IMMUNE_TO_PC); + SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC); ValidateAttackersAndOwnTarget(); if (!keepCombat) { @@ -7824,7 +7824,7 @@ void Unit::SetImmuneToNPC(bool apply, bool keepCombat) { if (apply) { - AddUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); + SetUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); ValidateAttackersAndOwnTarget(); if (!keepCombat) { @@ -7853,7 +7853,7 @@ bool Unit::isTargetableForAttack(bool checkFakeDeath) const if (!IsAlive()) return false; - if (HasUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE))) + if (HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)) return false; if (GetTypeId() == TYPEID_PLAYER && ToPlayer()->IsGameMaster()) @@ -8394,7 +8394,7 @@ void Unit::UpdatePetCombatState() } if (state) - AddUnitFlag(UNIT_FLAG_PET_IN_COMBAT); + SetUnitFlag(UNIT_FLAG_PET_IN_COMBAT); else RemoveUnitFlag(UNIT_FLAG_PET_IN_COMBAT); } @@ -10408,7 +10408,7 @@ bool Unit::InitTamedPet(Pet* pet, uint8 level, uint32 spell_id) pet->SetCreatedBySpell(spell_id); if (GetTypeId() == TYPEID_PLAYER) - pet->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + pet->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); if (!pet->InitStatsForLevel(level)) { @@ -10710,7 +10710,7 @@ void Unit::SetMeleeAnimKitId(uint16 animKitId) { // must be after setDeathState which resets dynamic flags if (!creature->loot.isLooted()) - creature->AddDynamicFlag(UNIT_DYNFLAG_LOOTABLE); + creature->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); else creature->AllLootRemovedFromCorpse(); } @@ -10918,7 +10918,7 @@ void Unit::SetStunned(bool apply) if (apply) { SetTarget(ObjectGuid::Empty); - AddUnitFlag(UNIT_FLAG_STUNNED); + SetUnitFlag(UNIT_FLAG_STUNNED); StopMoving(); @@ -11169,13 +11169,13 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au switch (type) { case CHARM_TYPE_VEHICLE: - AddUnitFlag(UNIT_FLAG_POSSESSED); + SetUnitFlag(UNIT_FLAG_POSSESSED); playerCharmer->SetClientControl(this, true); playerCharmer->VehicleSpellInitialize(); break; case CHARM_TYPE_POSSESS: - AddUnitFlag(UNIT_FLAG_POSSESSED); - charmer->AddUnitFlag(UNIT_FLAG_REMOVE_CLIENT_CONTROL); + SetUnitFlag(UNIT_FLAG_POSSESSED); + charmer->SetUnitFlag(UNIT_FLAG_REMOVE_CLIENT_CONTROL); playerCharmer->SetClientControl(this, true); playerCharmer->PossessSpellInitialize(); AddUnitState(UNIT_STATE_POSSESSED); @@ -11374,7 +11374,7 @@ void Unit::RemoveVehicleKit(bool onRemoveFromWorld /*= false*/) m_updateFlag.Vehicle = false; m_unitTypeMask &= ~UNIT_MASK_VEHICLE; - RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_SPELLCLICK | UNIT_NPC_FLAG_PLAYER_VEHICLE)); + RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK | UNIT_NPC_FLAG_PLAYER_VEHICLE); } bool Unit::IsOnVehicle(Unit const* vehicle) const @@ -11515,7 +11515,7 @@ bool Unit::IsContestedGuard() const void Unit::SetPvP(bool state) { if (state) - AddPvpFlag(UNIT_BYTE2_FLAG_PVP); + SetPvpFlag(UNIT_BYTE2_FLAG_PVP); else RemovePvpFlag(UNIT_BYTE2_FLAG_PVP); } @@ -12169,11 +12169,11 @@ bool Unit::CanSwim() const return false; if (HasUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED)) // is player return true; - if (HasUnitFlag2(UnitFlags2(0x1000000))) + if (HasUnitFlag2(UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS)) return false; if (HasUnitFlag(UNIT_FLAG_PET_IN_COMBAT)) return true; - return HasUnitFlag(UnitFlags(UNIT_FLAG_RENAME | UNIT_FLAG_CAN_SWIM)); + return HasUnitFlag(UNIT_FLAG_RENAME | UNIT_FLAG_CAN_SWIM); } void Unit::NearTeleportTo(Position const& pos, bool casting /*= false*/) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 235eb5da319..aa9ec20bc68 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -946,17 +946,17 @@ class TC_GAME_API Unit : public WorldObject void SetModTimeRate(float timeRate) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ModTimeRate), timeRate); } 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 SetUnitFlag(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 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 SetUnitFlag2(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 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 SetUnitFlag3(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 ReplaceAllUnitFlags3(UnitFlags3 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Flags3), flags); } @@ -979,7 +979,7 @@ class TC_GAME_API Unit : public WorldObject 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 SetPvpFlag(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 ReplaceAllPvpFlags(UnitPVPStateFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PvpFlags), flags); } @@ -990,7 +990,7 @@ class TC_GAME_API Unit : public WorldObject UnitPetFlag GetPetFlags() const { return UnitPetFlag(*m_unitData->PetFlags); } 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 SetPetFlag(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 ReplaceAllPetFlags(UnitPetFlag flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PetFlags), flags); } @@ -1002,8 +1002,8 @@ class TC_GAME_API Unit : public WorldObject bool IsStandState() const; void SetStandState(UnitStandStateType state, uint32 animKitID = 0); - 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 SetVisFlag(UnitVisFlags flags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::VisFlags), flags); } + void RemoveVisFlag(UnitVisFlags flags) { RemoveUpdateFieldFlagValue(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); } @@ -1090,13 +1090,15 @@ class TC_GAME_API Unit : public WorldObject MeleeHitOutcome RollMeleeOutcomeAgainst(Unit const* victim, WeaponAttackType attType) const; + NPCFlags GetNpcFlags() const { return NPCFlags(m_unitData->NpcFlags[0]); } 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 SetNpcFlag(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 ReplaceAllNpcFlags(NPCFlags flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 0), flags); } + NPCFlags2 GetNpcFlags2() const { return NPCFlags2(m_unitData->NpcFlags[1]); } 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 SetNpcFlag2(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 ReplaceAllNpcFlags2(NPCFlags2 flags) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::NpcFlags, 1), flags); } @@ -1116,7 +1118,7 @@ class TC_GAME_API Unit : public WorldObject bool IsArmorer() const { return HasNpcFlag(UNIT_NPC_FLAG_REPAIR); } bool IsWildBattlePet() const { return HasNpcFlag(UNIT_NPC_FLAG_WILD_BATTLE_PET); } bool IsServiceProvider() const; - bool IsSpiritService() const { return HasNpcFlag(NPCFlags(UNIT_NPC_FLAG_SPIRITHEALER | UNIT_NPC_FLAG_SPIRITGUIDE)); } + bool IsSpiritService() const { return HasNpcFlag(UNIT_NPC_FLAG_SPIRITHEALER | UNIT_NPC_FLAG_SPIRITGUIDE); } bool IsCritter() const { return GetCreatureType() == CREATURE_TYPE_CRITTER; } bool IsInFlight() const { return HasUnitState(UNIT_STATE_IN_FLIGHT); } diff --git a/src/server/game/Entities/Unit/UnitDefines.h b/src/server/game/Entities/Unit/UnitDefines.h index 48cfa6a9116..161c38161bc 100644 --- a/src/server/game/Entities/Unit/UnitDefines.h +++ b/src/server/game/Entities/Unit/UnitDefines.h @@ -19,6 +19,7 @@ #define UnitDefines_h__ #include "Define.h" +#include "EnumFlag.h" #include <string> #define MIN_MELEE_REACH 2.0f @@ -90,6 +91,8 @@ enum UnitPVPStateFlags : uint8 UNIT_BYTE2_FLAG_UNK7 = 0x80 }; +DEFINE_ENUM_FLAG(UnitPVPStateFlags); + // byte (2 from 0..3) of UNIT_FIELD_BYTES_2 enum UnitPetFlag : uint8 { @@ -98,6 +101,8 @@ enum UnitPetFlag : uint8 UNIT_PET_FLAG_CAN_BE_ABANDONED = 0x02 }; +DEFINE_ENUM_FLAG(UnitPetFlag); + enum UnitMoveType { MOVE_WALK = 0, @@ -161,6 +166,8 @@ enum UnitFlags : uint32 UNIT_FLAG_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG_DISALLOWED) }; +DEFINE_ENUM_FLAG(UnitFlags); + // Value masks for UNIT_FIELD_FLAGS_2 // EnumUtils: DESCRIBE THIS enum UnitFlags2 : uint32 @@ -211,6 +218,8 @@ enum UnitFlags2 : uint32 UNIT_FLAG2_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG2_DISALLOWED) }; +DEFINE_ENUM_FLAG(UnitFlags2); + // Value masks for UNIT_FIELD_FLAGS_3 // EnumUtils: DESCRIBE THIS enum UnitFlags3 : uint32 @@ -221,6 +230,8 @@ enum UnitFlags3 : uint32 UNIT_FLAG3_ALLOWED = (0xFFFFFFFF & ~UNIT_FLAG3_DISALLOWED) }; +DEFINE_ENUM_FLAG(UnitFlags3); + /// Non Player Character flags // EnumUtils: DESCRIBE THIS enum NPCFlags : uint32 @@ -260,6 +271,8 @@ enum NPCFlags : uint32 UNIT_NPC_FLAG_BLACK_MARKET = 0x80000000 // TITLE is black market }; +DEFINE_ENUM_FLAG(NPCFlags); + // EnumUtils: DESCRIBE THIS enum NPCFlags2 : uint32 { @@ -277,6 +290,8 @@ enum NPCFlags2 : uint32 UNIT_NPC_FLAG_2_ISLANDS_QUEUE = 0x8000, // TITLE is islands queue }; +DEFINE_ENUM_FLAG(NPCFlags2); + enum MovementFlags : uint32 { MOVEMENTFLAG_NONE = 0x00000000, diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index c50dcc3fde9..26c5fc949c0 100644 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -50,7 +50,7 @@ UsableSeatNum(0), _me(unit), _vehicleInfo(vehInfo), _creatureEntry(creatureEntry // Set or remove correct flags based on available seats. Will overwrite db data (if wrong). if (UsableSeatNum) - _me->AddNpcFlag((_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK)); + _me->SetNpcFlag((_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK)); else _me->RemoveNpcFlag((_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK)); @@ -500,7 +500,7 @@ Vehicle* Vehicle::RemovePassenger(Unit* unit) unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->ID, _me->GetGUID().ToString().c_str(), (int32)seat->first); if (seat->second.SeatInfo->CanEnterOrExit() && ++UsableSeatNum) - _me->AddNpcFlag((_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK)); + _me->SetNpcFlag((_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK)); // Enable gravity for passenger when he did not have it active before entering the vehicle if (seat->second.SeatInfo->Flags & VEHICLE_SEAT_FLAG_DISABLE_GRAVITY && !seat->second.Passenger.IsGravityDisabled) diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 3b17bb29d32..8b82680f82a 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -161,7 +161,7 @@ bool Group::Create(Player* leader) m_guid = ObjectGuid::Create<HighGuid::Party>(sGroupMgr->GenerateGroupId()); m_leaderGuid = leaderGuid; m_leaderName = leader->GetName(); - leader->AddPlayerFlag(PLAYER_FLAGS_GROUP_LEADER); + leader->SetPlayerFlag(PLAYER_FLAGS_GROUP_LEADER); if (isBGGroup() || isBFGroup()) { @@ -783,7 +783,7 @@ void Group::ChangeLeader(ObjectGuid newLeaderGuid, int8 partyIndex) if (Player* oldLeader = ObjectAccessor::FindConnectedPlayer(m_leaderGuid)) oldLeader->RemovePlayerFlag(PLAYER_FLAGS_GROUP_LEADER); - newLeader->AddPlayerFlag(PLAYER_FLAGS_GROUP_LEADER); + newLeader->SetPlayerFlag(PLAYER_FLAGS_GROUP_LEADER); m_leaderGuid = newLeader->GetGUID(); m_leaderName = newLeader->GetName(); ToggleGroupMemberFlag(slot, MEMBER_FLAG_ASSISTANT, false); diff --git a/src/server/game/Handlers/AzeriteHandler.cpp b/src/server/game/Handlers/AzeriteHandler.cpp index 6b7d1e027fe..1f4bfa7646c 100644 --- a/src/server/game/Handlers/AzeriteHandler.cpp +++ b/src/server/game/Handlers/AzeriteHandler.cpp @@ -176,7 +176,7 @@ void WorldSession::HandleAzeriteEmpoweredItemViewed(WorldPackets::Azerite::Azeri if (!item || !item->IsAzeriteEmpoweredItem()) return; - item->AddItemFlag(ITEM_FIELD_FLAG_AZERITE_EMPOWERED_ITEM_VIEWED); + item->SetItemFlag(ITEM_FIELD_FLAG_AZERITE_EMPOWERED_ITEM_VIEWED); item->SetState(ITEM_CHANGED, _player); } diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 48f22613bdf..7c98070ed15 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1296,7 +1296,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder const& holder) // Set FFA PvP for non GM in non-rest mode if (sWorld->IsFFAPvPRealm() && !pCurrChar->IsGameMaster() && !pCurrChar->HasPlayerFlag(PLAYER_FLAGS_RESTING)) - pCurrChar->AddPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); + pCurrChar->SetPvpFlag(UNIT_BYTE2_FLAG_FFA_PVP); if (pCurrChar->HasPlayerFlag(PLAYER_FLAGS_CONTESTED_PVP)) pCurrChar->SetContestedPvP(); diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp index ce0e4b0681d..c47b8145b19 100644 --- a/src/server/game/Handlers/GuildHandler.cpp +++ b/src/server/game/Handlers/GuildHandler.cpp @@ -535,7 +535,7 @@ void WorldSession::HandleGuildChallengeUpdateRequest(WorldPackets::Guild::GuildC void WorldSession::HandleDeclineGuildInvites(WorldPackets::Guild::DeclineGuildInvites& packet) { if (packet.Allow) - GetPlayer()->AddPlayerFlag(PLAYER_FLAGS_AUTO_DECLINE_GUILD); + GetPlayer()->SetPlayerFlag(PLAYER_FLAGS_AUTO_DECLINE_GUILD); else GetPlayer()->RemovePlayerFlag(PLAYER_FLAGS_AUTO_DECLINE_GUILD); } diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp index 410726ec394..2b73fd51ffc 100644 --- a/src/server/game/Handlers/MailHandler.cpp +++ b/src/server/game/Handlers/MailHandler.cpp @@ -618,7 +618,7 @@ void WorldSession::HandleMailCreateTextItem(WorldPackets::Mail::MailCreateTextIt if (m->messageType == MAIL_NORMAL) bodyItem->SetCreator(ObjectGuid::Create<HighGuid::Player>(m->sender)); - bodyItem->AddItemFlag(ITEM_FIELD_FLAG_READABLE); + bodyItem->SetItemFlag(ITEM_FIELD_FLAG_READABLE); ItemPosCountVec dest; uint8 msg = _player->CanStoreItem(NULL_BAG, NULL_SLOT, dest, bodyItem, false); diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 519f98aaf31..aff58ca046d 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -278,7 +278,7 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPackets::Character::LogoutRequ if (GetPlayer()->GetStandState() == UNIT_STAND_STATE_STAND) GetPlayer()->SetStandState(UNIT_STAND_STATE_SIT); GetPlayer()->SetRooted(true); - GetPlayer()->AddUnitFlag(UNIT_FLAG_STUNNED); + GetPlayer()->SetUnitFlag(UNIT_FLAG_STUNNED); } SetLogoutStartTime(GameTime::GetGameTime()); @@ -312,7 +312,7 @@ void WorldSession::HandleTogglePvP(WorldPackets::Misc::TogglePvP& /*packet*/) { if (!GetPlayer()->HasPlayerFlag(PLAYER_FLAGS_IN_PVP)) { - GetPlayer()->AddPlayerFlag(PLAYER_FLAGS_IN_PVP); + GetPlayer()->SetPlayerFlag(PLAYER_FLAGS_IN_PVP); GetPlayer()->RemovePlayerFlag(PLAYER_FLAGS_PVP_TIMER); if (!GetPlayer()->IsPvP() || GetPlayer()->pvpInfo.EndTimer) GetPlayer()->UpdatePvP(true, true); @@ -320,7 +320,7 @@ void WorldSession::HandleTogglePvP(WorldPackets::Misc::TogglePvP& /*packet*/) else if (!GetPlayer()->IsWarModeLocalActive()) { GetPlayer()->RemovePlayerFlag(PLAYER_FLAGS_IN_PVP); - GetPlayer()->AddPlayerFlag(PLAYER_FLAGS_PVP_TIMER); + GetPlayer()->SetPlayerFlag(PLAYER_FLAGS_PVP_TIMER); if (!GetPlayer()->pvpInfo.IsHostile && GetPlayer()->IsPvP()) GetPlayer()->pvpInfo.EndTimer = GameTime::GetGameTime(); // start toggle-off } @@ -330,7 +330,7 @@ void WorldSession::HandleSetPvP(WorldPackets::Misc::SetPvP& packet) { if (packet.EnablePVP) { - GetPlayer()->AddPlayerFlag(PLAYER_FLAGS_IN_PVP); + GetPlayer()->SetPlayerFlag(PLAYER_FLAGS_IN_PVP); GetPlayer()->RemovePlayerFlag(PLAYER_FLAGS_PVP_TIMER); if (!GetPlayer()->IsPvP() || GetPlayer()->pvpInfo.EndTimer) GetPlayer()->UpdatePvP(true, true); @@ -338,7 +338,7 @@ void WorldSession::HandleSetPvP(WorldPackets::Misc::SetPvP& packet) else if (!GetPlayer()->IsWarModeLocalActive()) { GetPlayer()->RemovePlayerFlag(PLAYER_FLAGS_IN_PVP); - GetPlayer()->AddPlayerFlag(PLAYER_FLAGS_PVP_TIMER); + GetPlayer()->SetPlayerFlag(PLAYER_FLAGS_PVP_TIMER); if (!GetPlayer()->pvpInfo.IsHostile && GetPlayer()->IsPvP()) GetPlayer()->pvpInfo.EndTimer = GameTime::GetGameTime(); // start toggle-off } @@ -1041,7 +1041,7 @@ void WorldSession::HandleSetRaidDifficultyOpcode(WorldPackets::Misc::SetRaidDiff void WorldSession::HandleSetTaxiBenchmark(WorldPackets::Misc::SetTaxiBenchmarkMode& packet) { if (packet.Enable) - _player->AddPlayerFlag(PLAYER_FLAGS_TAXI_BENCHMARK); + _player->SetPlayerFlag(PLAYER_FLAGS_TAXI_BENCHMARK); else _player->RemovePlayerFlag(PLAYER_FLAGS_TAXI_BENCHMARK); } diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index da83cc662b0..c1209c0f7a7 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -431,7 +431,7 @@ void WorldSession::HandleMovementOpcode(OpcodeClient opcode, MovementInfo& movem if (plrMover->IsAlive()) { TC_LOG_DEBUG("entities.player.falldamage", "FALLDAMAGE Below map. Map min height: %f , Player debug info:\n%s", plrMover->GetMap()->GetMinHeight(plrMover->GetPhaseShift(), movementInfo.pos.GetPositionX(), movementInfo.pos.GetPositionY()), plrMover->GetDebugInfo().c_str()); - plrMover->AddPlayerFlag(PLAYER_FLAGS_IS_OUT_OF_BOUNDS); + plrMover->SetPlayerFlag(PLAYER_FLAGS_IS_OUT_OF_BOUNDS); plrMover->EnvironmentalDamage(DAMAGE_FALL_TO_VOID, GetPlayer()->GetMaxHealth()); // player can be alive if GM/etc // change the death state to CORPSE to prevent the death timer from diff --git a/src/server/game/Handlers/VoidStorageHandler.cpp b/src/server/game/Handlers/VoidStorageHandler.cpp index 844a6c1eace..a586e64672c 100644 --- a/src/server/game/Handlers/VoidStorageHandler.cpp +++ b/src/server/game/Handlers/VoidStorageHandler.cpp @@ -51,7 +51,7 @@ void WorldSession::HandleVoidStorageUnlock(WorldPackets::VoidStorage::UnlockVoid void WorldSession::HandleVoidStorageQuery(WorldPackets::VoidStorage::QueryVoidStorage& queryVoidStorage) { - Creature* unit = _player->GetNPCIfCanInteractWith(queryVoidStorage.Npc, NPCFlags(UNIT_NPC_FLAG_TRANSMOGRIFIER | UNIT_NPC_FLAG_VAULTKEEPER), UNIT_NPC_FLAG_2_NONE); + Creature* unit = _player->GetNPCIfCanInteractWith(queryVoidStorage.Npc, UNIT_NPC_FLAG_TRANSMOGRIFIER | UNIT_NPC_FLAG_VAULTKEEPER, UNIT_NPC_FLAG_2_NONE); if (!unit) { TC_LOG_DEBUG("network", "WORLD: HandleVoidStorageQuery - %s not found or player can't interact with it.", queryVoidStorage.Npc.ToString().c_str()); diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index c5c75e56dba..8ddb0a46f84 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -19,6 +19,7 @@ #define TRINITY_SHAREDDEFINES_H #include "Define.h" +#include "EnumFlag.h" float const GROUND_HEIGHT_TOLERANCE = 0.05f; // Extra tolerance to z position to check if it is in air or on ground. constexpr float Z_OFFSET_FIND_HEIGHT = 0.5f; @@ -2817,6 +2818,8 @@ enum GameObjectFlags GO_FLAG_LOW_PRIORITY_SELECTION = 0x04000000, // client will give lower cursor priority to this object when multiple objects overlap }; +DEFINE_ENUM_FLAG(GameObjectFlags); + enum GameObjectDynamicLowFlags { GO_DYNFLAG_LO_HIDE_MODEL = 0x0002, // Object model is not shown with this flag @@ -5669,6 +5672,8 @@ enum CorpseDynFlags CORPSE_DYNFLAG_LOOTABLE = 0x0001 }; +DEFINE_ENUM_FLAG(CorpseDynFlags); + #define PLAYER_CORPSE_LOOT_ENTRY 1 // EnumUtils: DESCRIBE THIS diff --git a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp index dd6e3708d68..64fbb953619 100755 --- a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp @@ -49,7 +49,7 @@ void ConfusedMovementGenerator<T>::DoInitialize(T* owner) return; // TODO: UNIT_FIELD_FLAGS should not be handled by generators - owner->AddUnitFlag(UNIT_FLAG_CONFUSED); + owner->SetUnitFlag(UNIT_FLAG_CONFUSED); owner->StopMoving(); _timer.Reset(0); diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp index 415793b7b50..c8916f45c1f 100644 --- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp @@ -55,7 +55,7 @@ void FleeingMovementGenerator<T>::DoInitialize(T* owner) return; // TODO: UNIT_FIELD_FLAGS should not be handled by generators - owner->AddUnitFlag(UNIT_FLAG_FLEEING); + owner->SetUnitFlag(UNIT_FLAG_FLEEING); _path = nullptr; SetTargetLocation(owner); diff --git a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp index f6cc69c1f3c..89d990cb3b8 100644 --- a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp @@ -73,7 +73,7 @@ void FlightPathMovementGenerator::DoReset(Player* owner) RemoveFlag(MOVEMENTGENERATOR_FLAG_DEACTIVATED); owner->CombatStopWithPets(); - owner->AddUnitFlag(UnitFlags(UNIT_FLAG_REMOVE_CLIENT_CONTROL | UNIT_FLAG_ON_TAXI)); + owner->SetUnitFlag(UNIT_FLAG_REMOVE_CLIENT_CONTROL | UNIT_FLAG_ON_TAXI); uint32 end = GetPathAtMapEnd(); uint32 currentNodeId = GetCurrentNode(); @@ -160,7 +160,7 @@ void FlightPathMovementGenerator::DoFinalize(Player* owner, bool active, bool/* uint32 taxiNodeId = owner->m_taxi.GetTaxiDestination(); owner->m_taxi.ClearTaxiDestinations(); owner->Dismount(); - owner->RemoveUnitFlag(UnitFlags(UNIT_FLAG_REMOVE_CLIENT_CONTROL | UNIT_FLAG_ON_TAXI)); + owner->RemoveUnitFlag(UNIT_FLAG_REMOVE_CLIENT_CONTROL | UNIT_FLAG_ON_TAXI); if (owner->m_taxi.empty()) { diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 751f6ac27af..51bcda8d306 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -1533,7 +1533,7 @@ void AuraEffect::HandleModStealth(AuraApplication const* aurApp, uint8 mode, boo target->m_stealth.AddFlag(type); target->m_stealth.AddValue(type, GetAmount()); - target->AddVisFlags(UNIT_VIS_FLAGS_CREEP); + target->SetVisFlag(UNIT_VIS_FLAGS_CREEP); if (Player * playerTarget = target->ToPlayer()) playerTarget->AddAuraVision(PLAYER_FIELD_BYTE2_STEALTH); } @@ -1545,7 +1545,7 @@ void AuraEffect::HandleModStealth(AuraApplication const* aurApp, uint8 mode, boo { target->m_stealth.DelFlag(type); - target->RemoveVisFlags(UNIT_VIS_FLAGS_CREEP); + target->RemoveVisFlag(UNIT_VIS_FLAGS_CREEP); if (Player * playerTarget = target->ToPlayer()) playerTarget->RemoveAuraVision(PLAYER_FIELD_BYTE2_STEALTH); } @@ -1651,7 +1651,7 @@ void AuraEffect::HandleAuraGhost(AuraApplication const* aurApp, uint8 mode, bool if (apply) { - target->AddPlayerFlag(PLAYER_FLAGS_GHOST); + target->SetPlayerFlag(PLAYER_FLAGS_GHOST); target->m_serverSideVisibility.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_GHOST); target->m_serverSideVisibilityDetect.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_GHOST); } @@ -2098,7 +2098,7 @@ void AuraEffect::HandleAuraCloneCaster(AuraApplication const* aurApp, uint8 mode // What must be cloned? at least display and scale target->SetDisplayId(caster->GetDisplayId()); //target->SetObjectScale(caster->GetObjectScale()); // we need retail info about how scaling is handled (aura maybe?) - target->AddUnitFlag2(UNIT_FLAG2_MIRROR_IMAGE); + target->SetUnitFlag2(UNIT_FLAG2_MIRROR_IMAGE); } else { @@ -2160,9 +2160,9 @@ void AuraEffect::HandleFeignDeath(AuraApplication const* aurApp, uint8 mode, boo if (aurApp->GetRemoveMode()) return; - target->AddUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); - target->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); - target->AddDynamicFlag(UNIT_DYNFLAG_DEAD); + target->SetUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); + target->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); + target->SetDynamicFlag(UNIT_DYNFLAG_DEAD); target->AddUnitState(UNIT_STATE_DIED); if (Creature* creature = target->ToCreature()) @@ -2192,7 +2192,7 @@ void AuraEffect::HandleModUnattackable(AuraApplication const* aurApp, uint8 mode return; if (apply) - target->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE_2); + target->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE_2); else target->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE_2); @@ -2230,7 +2230,7 @@ void AuraEffect::HandleAuraModDisarm(AuraApplication const* aurApp, uint8 mode, { case SPELL_AURA_MOD_DISARM: if (apply) - flagChangeFunc = [](Unit* u) { u->AddUnitFlag(UNIT_FLAG_DISARMED); }; + flagChangeFunc = [](Unit* u) { u->SetUnitFlag(UNIT_FLAG_DISARMED); }; else flagChangeFunc = [](Unit* u) { u->RemoveUnitFlag(UNIT_FLAG_DISARMED); }; slot = EQUIPMENT_SLOT_MAINHAND; @@ -2238,7 +2238,7 @@ void AuraEffect::HandleAuraModDisarm(AuraApplication const* aurApp, uint8 mode, break; case SPELL_AURA_MOD_DISARM_OFFHAND: if (apply) - flagChangeFunc = [](Unit* u) { u->AddUnitFlag2(UNIT_FLAG2_DISARM_OFFHAND); }; + flagChangeFunc = [](Unit* u) { u->SetUnitFlag2(UNIT_FLAG2_DISARM_OFFHAND); }; else flagChangeFunc = [](Unit* u) { u->RemoveUnitFlag2(UNIT_FLAG2_DISARM_OFFHAND); }; slot = EQUIPMENT_SLOT_OFFHAND; @@ -2246,7 +2246,7 @@ void AuraEffect::HandleAuraModDisarm(AuraApplication const* aurApp, uint8 mode, break; case SPELL_AURA_MOD_DISARM_RANGED: if (apply) - flagChangeFunc = [](Unit* u) { u->AddUnitFlag2(UNIT_FLAG2_DISARM_RANGED); }; + flagChangeFunc = [](Unit* u) { u->SetUnitFlag2(UNIT_FLAG2_DISARM_RANGED); }; else flagChangeFunc = [](Unit* u) { u->RemoveUnitFlag2(UNIT_FLAG2_DISARM_RANGED); }; slot = EQUIPMENT_SLOT_MAINHAND; @@ -2291,7 +2291,7 @@ void AuraEffect::HandleAuraModSilence(AuraApplication const* aurApp, uint8 mode, if (apply) { - target->AddUnitFlag(UNIT_FLAG_SILENCED); + target->SetUnitFlag(UNIT_FLAG_SILENCED); // call functions which may have additional effects after changing state of unit // Stop cast only spells vs PreventionType & SPELL_PREVENTION_TYPE_SILENCE @@ -2319,7 +2319,7 @@ void AuraEffect::HandleAuraModPacify(AuraApplication const* aurApp, uint8 mode, Unit* target = aurApp->GetTarget(); if (apply) - target->AddUnitFlag(UNIT_FLAG_PACIFIED); + target->SetUnitFlag(UNIT_FLAG_PACIFIED); else { // do not remove unit flag if there are more than this auraEffect of that kind on unit on unit @@ -2341,7 +2341,7 @@ void AuraEffect::HandleAuraModPacifyAndSilence(AuraApplication const* aurApp, ui if (m_spellInfo->Id == 45839) { if (apply) - target->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + target->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); else target->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } @@ -2364,7 +2364,7 @@ void AuraEffect::HandleAuraModNoActions(AuraApplication const* aurApp, uint8 mod if (apply) { - target->AddUnitFlag2(UNIT_FLAG2_NO_ACTIONS); + target->SetUnitFlag2(UNIT_FLAG2_NO_ACTIONS); // call functions which may have additional effects after chainging state of unit // Stop cast only spells vs PreventionType & SPELL_PREVENTION_TYPE_SILENCE @@ -2398,7 +2398,7 @@ void AuraEffect::HandleAuraTrackCreatures(AuraApplication const* aurApp, uint8 m return; if (apply) - target->AddTrackCreatureFlag(uint32(1) << (GetMiscValue() - 1)); + target->SetTrackCreatureFlag(uint32(1) << (GetMiscValue() - 1)); else target->RemoveTrackCreatureFlag(uint32(1) << (GetMiscValue() - 1)); } @@ -2419,7 +2419,7 @@ void AuraEffect::HandleAuraTrackStealthed(AuraApplication const* aurApp, uint8 m return; } if (apply) - target->AddPlayerLocalFlag(PLAYER_LOCAL_FLAG_TRACK_STEALTHED); + target->SetPlayerLocalFlag(PLAYER_LOCAL_FLAG_TRACK_STEALTHED); else target->RemovePlayerLocalFlag(PLAYER_LOCAL_FLAG_TRACK_STEALTHED); } @@ -2433,7 +2433,7 @@ void AuraEffect::HandleAuraModStalked(AuraApplication const* aurApp, uint8 mode, // used by spells: Hunter's Mark, Mind Vision, Syndicate Tracker (MURP) DND if (apply) - target->AddDynamicFlag(UNIT_DYNFLAG_TRACK_UNIT); + target->SetDynamicFlag(UNIT_DYNFLAG_TRACK_UNIT); else { // do not remove unit flag if there are more than this auraEffect of that kind on unit on unit @@ -2454,13 +2454,13 @@ void AuraEffect::HandleAuraUntrackable(AuraApplication const* aurApp, uint8 mode Unit* target = aurApp->GetTarget(); if (apply) - target->AddVisFlags(UNIT_VIS_FLAGS_UNTRACKABLE); + target->SetVisFlag(UNIT_VIS_FLAGS_UNTRACKABLE); else { // do not remove unit flag if there are more than this auraEffect of that kind on unit on unit if (target->HasAuraType(GetAuraType())) return; - target->RemoveVisFlags(UNIT_VIS_FLAGS_UNTRACKABLE); + target->RemoveVisFlag(UNIT_VIS_FLAGS_UNTRACKABLE); } } @@ -2496,7 +2496,7 @@ void AuraEffect::HandleAuraAllowTalentSwapping(AuraApplication const* aurApp, ui return; if (apply) - target->AddUnitFlag2(UNIT_FLAG2_ALLOW_CHANGING_TALENTS); + target->SetUnitFlag2(UNIT_FLAG2_ALLOW_CHANGING_TALENTS); else if (!target->HasAuraType(GetAuraType())) target->RemoveUnitFlag2(UNIT_FLAG2_ALLOW_CHANGING_TALENTS); } @@ -2690,7 +2690,7 @@ void AuraEffect::HandleForceMoveForward(AuraApplication const* aurApp, uint8 mod Unit* target = aurApp->GetTarget(); if (apply) - target->AddUnitFlag2(UNIT_FLAG2_FORCE_MOVEMENT); + target->SetUnitFlag2(UNIT_FLAG2_FORCE_MOVEMENT); else { // do not remove unit flag if there are more than this auraEffect of that kind on unit on unit @@ -3224,7 +3224,7 @@ void AuraEffect::HandleAuraModSchoolImmunity(AuraApplication const* aurApp, uint if (apply) { - target->AddUnitFlag(UNIT_FLAG_IMMUNE); + target->SetUnitFlag(UNIT_FLAG_IMMUNE); target->GetThreatManager().EvaluateSuppressed(); } else @@ -3246,7 +3246,7 @@ void AuraEffect::HandleAuraModDmgImmunity(AuraApplication const* aurApp, uint8 m if (apply) { - target->AddUnitFlag(UNIT_FLAG_IMMUNE); + target->SetUnitFlag(UNIT_FLAG_IMMUNE); target->GetThreatManager().EvaluateSuppressed(); } else @@ -4438,7 +4438,7 @@ void AuraEffect::HandleArenaPreparation(AuraApplication const* aurApp, uint8 mod Unit* target = aurApp->GetTarget(); if (apply) - target->AddUnitFlag(UNIT_FLAG_PREPARATION); + target->SetUnitFlag(UNIT_FLAG_PREPARATION); else { // do not remove unit flag if there are more than this auraEffect of that kind on unit on unit @@ -4873,7 +4873,7 @@ void AuraEffect::HandleAuraEmpathy(AuraApplication const* aurApp, uint8 mode, bo if (target->GetCreatureType() == CREATURE_TYPE_BEAST) { if (apply) - target->AddDynamicFlag(UNIT_DYNFLAG_SPECIALINFO); + target->SetDynamicFlag(UNIT_DYNFLAG_SPECIALINFO); else target->RemoveDynamicFlag(UNIT_DYNFLAG_SPECIALINFO); } @@ -4896,7 +4896,7 @@ void AuraEffect::HandleAuraModFaction(AuraApplication const* aurApp, uint8 mode, { target->RestoreFaction(); if (target->GetTypeId() == TYPEID_PLAYER) - target->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + target->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); } } @@ -4923,7 +4923,7 @@ void AuraEffect::HandleComprehendLanguage(AuraApplication const* aurApp, uint8 m Unit* target = aurApp->GetTarget(); if (apply) - target->AddUnitFlag2(UNIT_FLAG2_COMPREHEND_LANG); + target->SetUnitFlag2(UNIT_FLAG2_COMPREHEND_LANG); else { if (target->HasAuraType(GetAuraType())) @@ -5158,7 +5158,7 @@ void AuraEffect::HandlePreventResurrection(AuraApplication const* aurApp, uint8 if (apply) target->RemovePlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); else if (!target->GetMap()->Instanceable()) - target->AddPlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); + target->SetPlayerLocalFlag(PLAYER_LOCAL_FLAG_RELEASE_TIMER); } void AuraEffect::HandleMastery(AuraApplication const* aurApp, uint8 mode, bool /*apply*/) const @@ -5907,7 +5907,7 @@ void AuraEffect::HandleAllowUsingGameobjectsWhileMounted(AuraApplication const* return; if (apply) - target->AddPlayerLocalFlag(PLAYER_LOCAL_FLAG_CAN_USE_OBJECTS_MOUNTED); + target->SetPlayerLocalFlag(PLAYER_LOCAL_FLAG_CAN_USE_OBJECTS_MOUNTED); else if (!target->HasAuraType(SPELL_AURA_ALLOW_USING_GAMEOBJECTS_WHILE_MOUNTED)) target->RemovePlayerLocalFlag(PLAYER_LOCAL_FLAG_CAN_USE_OBJECTS_MOUNTED); } diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index d723e505845..a7e7f24c007 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1663,7 +1663,7 @@ void Spell::EffectOpenLock() SendLoot(guid, LOOT_SKINNING); else if (itemTarget) { - itemTarget->AddItemFlag(ITEM_FIELD_FLAG_UNLOCKED); + itemTarget->SetItemFlag(ITEM_FIELD_FLAG_UNLOCKED); itemTarget->SetState(ITEM_CHANGED, itemTarget->GetOwner()); } @@ -3780,7 +3780,7 @@ void Spell::EffectSkinning() uint32 skill = creature->GetCreatureTemplate()->GetRequiredLootSkill(); creature->RemoveUnitFlag(UNIT_FLAG_SKINNABLE); - creature->AddDynamicFlag(UNIT_DYNFLAG_LOOTABLE); + creature->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); player->SendLoot(creature->GetGUID(), LOOT_SKINNING); if (skill == SKILL_SKINNING) @@ -4905,7 +4905,7 @@ void Spell::EffectRenamePet() !unitTarget->IsPet() || ((Pet*)unitTarget)->getPetType() != HUNTER_PET) return; - unitTarget->AddPetFlag(UNIT_PET_FLAG_CAN_BE_RENAMED); + unitTarget->SetPetFlag(UNIT_PET_FLAG_CAN_BE_RENAMED); } void Spell::EffectPlayMusic() @@ -5404,7 +5404,7 @@ void Spell::EffectEnableBattlePets() return; Player* player = unitTarget->ToPlayer(); - player->AddPlayerFlag(PLAYER_FLAGS_PET_BATTLES_UNLOCKED); + player->SetPlayerFlag(PLAYER_FLAGS_PET_BATTLES_UNLOCKED); player->GetSession()->GetBattlePetMgr()->UnlockSlot(BattlePets::BattlePetSlot::Slot0); } diff --git a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp index 7169440b308..58e07c7fb25 100644 --- a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp +++ b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp @@ -279,19 +279,19 @@ struct boss_garothi_worldbreaker : public BossAI DoCastSelf(SPELL_APOCALYPSE_DRIVE_FINAL_DAMAGE); Talk(SAY_ANNOUNCE_APOCALYPSE_DRIVE); Talk(SAY_APOCALYPSE_DRIVE); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); if (Creature* decimator = instance->GetCreature(DATA_DECIMATOR)) { instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, decimator, 2); - decimator->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + decimator->SetUnitFlag(UNIT_FLAG_IN_COMBAT); decimator->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } if (Creature* annihilator = instance->GetCreature(DATA_ANNIHILATOR)) { instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, annihilator, 2); - annihilator->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + annihilator->SetUnitFlag(UNIT_FLAG_IN_COMBAT); annihilator->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } ++_apocalypseDriveCount; @@ -456,13 +456,13 @@ struct boss_garothi_worldbreaker : public BossAI if (Creature* decimator = instance->GetCreature(DATA_DECIMATOR)) { instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, decimator); - decimator->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_IMMUNE)); + decimator->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_IMMUNE); } if (Creature* annihilator = instance->GetCreature(DATA_ANNIHILATOR)) { instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, annihilator); - annihilator->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_IMMUNE)); + annihilator->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_IMMUNE); } } }; diff --git a/src/server/scripts/Battlefield/BattlefieldWG.cpp b/src/server/scripts/Battlefield/BattlefieldWG.cpp index ad88855f43a..ba7c3e4ca51 100644 --- a/src/server/scripts/Battlefield/BattlefieldWG.cpp +++ b/src/server/scripts/Battlefield/BattlefieldWG.cpp @@ -570,7 +570,7 @@ void BattlefieldWG::OnBattleStart() // Update faction of relic, only attacker can click on relic->SetFaction(WintergraspFaction[GetAttackerTeam()]); // Set in use (not allow to click on before last door is broken) - relic->AddFlag(GameObjectFlags(GO_FLAG_IN_USE | GO_FLAG_NOT_SELECTABLE)); + relic->SetFlag(GO_FLAG_IN_USE | GO_FLAG_NOT_SELECTABLE); m_titansRelicGUID = relic->GetGUID(); } else @@ -967,7 +967,7 @@ void BattlefieldWG::HandleKill(Player* killer, Unit* victim) HandlePromotion(killer, victim); // Allow to Skin non-released corpse - victim->AddUnitFlag(UNIT_FLAG_SKINNABLE); + victim->SetUnitFlag(UNIT_FLAG_SKINNABLE); } /// @todoRecent PvP activity worldstate @@ -1494,7 +1494,7 @@ void BfWGGameObjectBuilding::Destroyed() go->SetGoState(GO_STATE_ACTIVE); _wg->SetRelicInteractible(true); if (_wg->GetRelic()) - _wg->GetRelic()->RemoveFlag(GameObjectFlags(GO_FLAG_IN_USE | GO_FLAG_NOT_SELECTABLE)); + _wg->GetRelic()->RemoveFlag(GO_FLAG_IN_USE | GO_FLAG_NOT_SELECTABLE); else TC_LOG_ERROR("bg.battlefield.wg", "Titan Relic not found."); break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp index 0131c86e01e..4bdaea4afad 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp @@ -77,7 +77,7 @@ struct boss_pyroguard_emberseer : public BossAI void Reset() override { - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(true); events.Reset(); // Apply auras on spawn and reset diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp index ab4e2af9be3..2a66ff8bf05 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp @@ -204,7 +204,7 @@ struct go_suppression_device : public GameObjectAI return; _active = false; me->SetGoState(GO_STATE_ACTIVE); - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); _events.CancelEvent(EVENT_SUPPRESSION_CAST); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp index 4cdcc59d3c3..8cc58f8dba2 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp @@ -303,7 +303,7 @@ struct go_chromaggus_lever : public GameObjectAI _instance->HandleGameObject(ObjectGuid::Empty, true, go); } - me->AddFlag(GameObjectFlags(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE)); + me->SetFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE); me->SetGoState(GO_STATE_ACTIVE); return true; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp index 78c3f87679e..ae0b6585974 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp @@ -184,7 +184,7 @@ struct boss_victor_nefarius : public BossAI _Reset(); me->SetVisible(true); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetFaction(FACTION_FRIENDLY); me->SetStandState(UNIT_STAND_STATE_SIT_HIGH_CHAIR); me->RemoveAura(SPELL_NEFARIANS_BARRIER); @@ -219,7 +219,7 @@ struct boss_victor_nefarius : public BossAI if (summon->GetEntry() != NPC_NEFARIAN) { summon->UpdateEntry(NPC_BONE_CONSTRUCT); - summon->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + summon->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); summon->SetReactState(REACT_PASSIVE); summon->SetStandState(UNIT_STAND_STATE_DEAD); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp index 066c50f404c..df0eb7e6686 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp @@ -69,7 +69,7 @@ struct boss_vaelastrasz : public BossAI boss_vaelastrasz(Creature* creature) : BossAI(creature, DATA_VAELASTRAZ_THE_CORRUPT) { Initialize(); - creature->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + creature->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->SetFaction(FACTION_FRIENDLY); creature->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp index 48932371a19..5315cb727e1 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp @@ -159,7 +159,7 @@ struct boss_majordomo : public BossAI { case EVENT_OUTRO_1: me->NearTeleportTo(RagnarosTelePos.GetPositionX(), RagnarosTelePos.GetPositionY(), RagnarosTelePos.GetPositionZ(), RagnarosTelePos.GetOrientation()); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case EVENT_OUTRO_2: instance->instance->SummonCreature(NPC_RAGNAROS, RagnarosSummonPos); @@ -186,7 +186,7 @@ struct boss_majordomo : public BossAI else if (action == ACTION_START_RAGNAROS_ALT) { me->SetFaction(FACTION_FRIENDLY); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp index f2de7c47f6e..ebd9f7e8403 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp @@ -82,7 +82,7 @@ struct boss_ragnaros : public BossAI Initialize(); _introState = 0; me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); SetCombatMovement(false); } @@ -250,7 +250,7 @@ struct boss_ragnaros : public BossAI //Root self //DoCast(me, 23973); me->SetFaction(FACTION_FRIENDLY); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetEmoteState(EMOTE_STATE_SUBMERGED); me->HandleEmoteCommand(EMOTE_ONESHOT_SUBMERGE); instance->SetData(DATA_RAGNAROS_ADDS, 0); diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp index f662ac3bf3e..b3e2b053ad7 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp @@ -172,7 +172,7 @@ class instance_deadmines : public InstanceMapScript void LeverStucked() { if (GameObject* pDoorLever = instance->GetGameObject(DoorLeverGUID)) - pDoorLever->AddFlag(GO_FLAG_INTERACT_COND); + pDoorLever->SetFlag(GO_FLAG_INTERACT_COND); } void OnGameObjectCreate(GameObject* go) override diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp index 993db0a6dbc..5cd924863a5 100644 --- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp +++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp @@ -311,7 +311,7 @@ public: if (GameObject* go = me->SummonGameObject(183410, -533.140f, -105.322f, -156.016f, 0.f, QuaternionData(), 1s)) { GoSummonList.push_back(go->GetGUID()); - go->AddFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it! + go->SetFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it! } Summon(3); break; @@ -326,7 +326,7 @@ public: if (GameObject* go = me->SummonGameObject(183410, -542.199f, -96.854f, -155.790f, 0.f, QuaternionData(), 1s)) { GoSummonList.push_back(go->GetGUID()); - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); } break; case 5: @@ -340,7 +340,7 @@ public: if (GameObject* go = me->SummonGameObject(183410, -507.820f, -103.333f, -151.353f, 0.f, QuaternionData(), 1s)) { GoSummonList.push_back(go->GetGUID()); - go->AddFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it! + go->SetFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it! Summon(5); } break; @@ -348,7 +348,7 @@ public: if (GameObject* go = me->SummonGameObject(183410, -511.829f, -86.249f, -151.431f, 0.f, QuaternionData(), 1s)) { GoSummonList.push_back(go->GetGUID()); - go->AddFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it! + go->SetFlag(GO_FLAG_NOT_SELECTABLE); //We can't use it! } break; case 8: diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp index 20003b882d0..90b87ede00a 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -438,7 +438,7 @@ class go_blackened_urn : public GameObjectScript if (Creature* nightbane = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_NIGHTBANE))) { - me->AddFlag(GO_FLAG_IN_USE); + me->SetFlag(GO_FLAG_IN_USE); nightbane->AI()->DoAction(ACTION_SUMMON); } return false; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp index ce6c0788c7e..b02bd8fccc0 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp @@ -158,7 +158,7 @@ public: if (spellInfo->Id == SPELL_INFERNAL_RELAY) { me->SetDisplayId(me->GetNativeDisplayId()); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); HellfireTimer = 4000; CleanupTimer = 170000; } @@ -449,7 +449,7 @@ public: Creature* axe = me->SummonCreature(MALCHEZARS_AXE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s); if (axe) { - axe->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + axe->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); axe->SetFaction(me->GetFaction()); axes[i] = axe->GetGUID(); if (target) diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index 49f3f827d78..96c6a4e4ee6 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -1019,7 +1019,7 @@ void PretendToDie(Creature* creature) creature->InterruptNonMeleeSpells(true); creature->RemoveAllAuras(); creature->SetHealth(0); - creature->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + creature->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); creature->GetMotionMaster()->Clear(); creature->GetMotionMaster()->MoveIdle(); creature->SetStandState(UNIT_STAND_STATE_DEAD); diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp index 2753e009218..66decf65ed3 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp @@ -224,7 +224,7 @@ public: case GO_SIDE_ENTRANCE_DOOR: SideEntranceDoor = go->GetGUID(); if (GetBossState(DATA_OPERA_PERFORMANCE) == DONE) - go->AddFlag(GO_FLAG_LOCKED); + go->SetFlag(GO_FLAG_LOCKED); else go->RemoveFlag(GO_FLAG_LOCKED); break; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp index 982777e07dd..0cd14fd2efd 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp @@ -196,7 +196,7 @@ public: me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1min)) { - spotlight->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + spotlight->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); spotlight->CastSpell(spotlight, SPELL_SPOTLIGHT, false); m_uiSpotlightGUID = spotlight->GetGUID(); } @@ -272,7 +272,7 @@ public: float PosX = Spawns[index][1]; if (Creature* creature = me->SummonCreature(entry, PosX, SPAWN_Y, SPAWN_Z, SPAWN_O, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2h)) - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } RaidWiped = false; @@ -463,7 +463,7 @@ public: void Reset() override { Initialize(); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); if (instance->GetGuidData(DATA_IMAGE_OF_MEDIVH).IsEmpty()) { diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp index 690c4e1b575..8b2a6766a07 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp @@ -410,7 +410,7 @@ struct npc_felblood_kaelthas_phoenix : public ScriptedAI me->AttackStop(); me->SetReactState(REACT_PASSIVE); me->RemoveAllAuras(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCastSelf(SPELL_EMBER_BLAST); // DoCastSelf(SPELL_SUMMON_PHOENIX_EGG); -- We do a manual summon for now. Feel free to move it to spelleffect_dbc if (Creature* egg = DoSummon(NPC_PHOENIX_EGG, me->GetPosition(), 0s)) diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp index c89b0ad1f20..1747d99f3db 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp @@ -421,7 +421,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI //time to make her lootable and complete event if she died before lackeys if (!delrissa->IsAlive()) { - delrissa->AddDynamicFlag(UNIT_DYNFLAG_LOOTABLE); + delrissa->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); instance->SetBossState(DATA_PRIESTESS_DELRISSA, DONE); } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 05abd314e29..e5f9f35a5a8 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -573,7 +573,7 @@ public: me->RestoreFaction(); CombatAI::Reset(); - me->AddUnitFlag(UNIT_FLAG_CAN_SWIM); + me->SetUnitFlag(UNIT_FLAG_CAN_SWIM); } void SpellHit(WorldObject* caster, SpellInfo const* spellInfo) override @@ -931,7 +931,7 @@ public: deathcharger->RestoreFaction(); deathcharger->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); - deathcharger->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + deathcharger->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); if (!me->GetVehicle() && deathcharger->IsVehicle() && deathcharger->GetVehicleKit()->HasEmptySeat(0)) me->EnterVehicle(deathcharger); } @@ -944,7 +944,7 @@ public: if (killer->GetTypeId() == TYPEID_PLAYER && deathcharger->GetTypeId() == TYPEID_UNIT && deathcharger->IsVehicle()) { - deathcharger->AddNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); + deathcharger->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); deathcharger->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); deathcharger->SetFaction(FACTION_SCARLET_CRUSADE_2); } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp index 87139fb42d6..d60ed5a3f51 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp @@ -139,7 +139,7 @@ struct npc_koltira_deathweaver : public ScriptedAI void Reset() override { me->SetImmuneToNPC(true); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetStandState(UNIT_STAND_STATE_DEAD); me->RemoveAllAuras(); @@ -203,7 +203,7 @@ struct npc_koltira_deathweaver : public ScriptedAI case EVENT_INTRO_6: Talk(SAY_KOLTIRA_3); me->SetStandState(UNIT_STAND_STATE_KNEEL); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); _eventGossip = true; break; diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index ed6910f792d..e35ee1725a8 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -759,7 +759,7 @@ public: case 15: // summon gate if (Creature* temp = me->SummonCreature(NPC_HIGHLORD_ALEXANDROS_MOGRAINE, LightofDawnLoc[22], TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 5min)) { - temp->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + temp->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); temp->CastSpell(temp, SPELL_ALEXANDROS_MOGRAINE_SPAWN, true); temp->AI()->Talk(EMOTE_LIGHT_OF_DAWN06); uiAlexandrosGUID = temp->GetGUID(); diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp index 59a18e07dff..6364e35974a 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp @@ -197,7 +197,7 @@ struct npc_headless_horseman_head : public PassiveAI void HandleInitialSetup() { DoCastSelf(SPELL_HEADLESS_HORSEMAN_C_HEAD_STUN); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); _phase = PHASE_1; _events.SetPhase(PHASE_1); } @@ -309,11 +309,11 @@ struct npc_headless_horseman_head : public PassiveAI DoCast(horseman, SPELL_HEADLESS_HORSEMAN_C_RETURN_HEAD, true); me->RemoveAllAttackers(); me->GetMotionMaster()->Clear(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); break; case EVENT_RAIN_OF_TREATS: DoCastSelf(SPELL_RAIN_OF_TREATS); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); _instance->SetData(DATA_PREPARE_RESET, 0); if (GameObject* pumpkin = me->SummonGameObject(GO_PUMPKIN_SHRINE, GOPumpkinSpawnPosition, GOPumpkinSpawnQuat, 7_days)) me->RemoveGameObject(pumpkin, false); @@ -706,7 +706,7 @@ struct npc_sir_thomas : public PassiveAI void Reset() override { me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCastSelf(SPELL_HEADLESS_HORSEMAN_WISP_INVIS); _scheduler.Schedule(9s, [this](TaskContext /*context*/) @@ -720,7 +720,7 @@ struct npc_sir_thomas : public PassiveAI if (spellInfo->Id == SPELL_HEADLESS_HORSEMAN_WISP_FLIGHT_PORT) { me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); - me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->RemoveAurasDueToSpell(SPELL_HEADLESS_HORSEMAN_WISP_INVIS); DoCastSelf(SPELL_HEADLESS_HORSEMAN_C_GHOST_VISUAL, true); } diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp index 1a98e9d6cbb..ce94275294c 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp @@ -95,7 +95,7 @@ public: _killYellTimer.Reset(0s); DoCastSelf(SPELL_RETRIBUTION_AURA, true); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); me->SetStandState(UNIT_STAND_STATE_STAND); me->SetReactState(REACT_AGGRESSIVE); @@ -168,7 +168,7 @@ public: me->InterruptNonMeleeSpells(true); me->RemoveAllAuras(); me->ClearAllReactives(); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); me->SetStandState(UNIT_STAND_STATE_DEAD); me->SetReactState(REACT_PASSIVE); // prevent Mograine from attacking while fake death diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp index 256a914b6da..94963564991 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp @@ -71,7 +71,7 @@ class instance_scarlet_monastery : public InstanceMapScript _horsemanState = IN_PROGRESS; for (uint32 data : {DATA_PUMPKIN_SHRINE, DATA_LOOSELY_TURNED_SOIL}) if (GameObject* gob = GetGameObject(data)) - gob->AddFlag(GO_FLAG_NOT_SELECTABLE); + gob->SetFlag(GO_FLAG_NOT_SELECTABLE); instance->SummonCreature(NPC_HEADLESS_HORSEMAN_HEAD, HeadlessHorsemanHeadSpawnPosition); instance->SummonCreature(NPC_FLAME_BUNNY, BunnySpawnPosition); diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp index 4e16cc94789..97a0d1fa435 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp @@ -90,7 +90,7 @@ public: break; case EVENT_ILLUSION: DoCast(SPELL_ILLUSION); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetDisplayId(11686); // Invisible Model ModifyThreatByPercent(me->GetVictim(), -99); events.ScheduleEvent(EVENT_SET_VISIBILITY, 3s); diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp index f0de40150fa..e62cdf8d8c0 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp @@ -128,7 +128,7 @@ class boss_kirtonos_the_herald : public CreatureScript events.ScheduleEvent(INTRO_1, 500ms); me->SetDisableGravity(true); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); Talk(EMOTE_SUMMONED); } @@ -178,7 +178,7 @@ class boss_kirtonos_the_herald : public CreatureScript case INTRO_5: me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); me->SetVirtualItem(0, uint32(WEAPON_KIRTONOS_STAFF)); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetReactState(REACT_AGGRESSIVE); events.ScheduleEvent(INTRO_6, 5s); break; diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp index 7d31d79b815..ab65e5b28f6 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp @@ -148,7 +148,7 @@ struct boss_apothecary_hummel : public BossAI _isDead = true; me->RemoveAurasDueToSpell(SPELL_ALLURING_PERFUME); DoCastSelf(SPELL_PERMANENT_FEIGN_DEATH, true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); Talk(SAY_HUMMEL_DEATH); } } diff --git a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp index 008cc3a77a1..c2c2022f73b 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp @@ -199,7 +199,7 @@ class instance_stratholme : public InstanceMapScript break; case GO_GAUNTLET_GATE1: //weird, but unless flag is set, client will not respond as expected. DB bug? - go->AddFlag(GO_FLAG_LOCKED); + go->SetFlag(GO_FLAG_LOCKED); gauntletGate1GUID = go->GetGUID(); break; case GO_ZIGGURAT1: @@ -279,7 +279,7 @@ class instance_stratholme : public InstanceMapScript ysida->CastSpell(nullptr, SPELL_YSIDA_SAVED, true); ysida->SetWalk(true); ysida->AI()->Talk(SAY_YSIDA_SAVED); - ysida->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + ysida->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); ysida->GetClosePoint(x, y, z, ysida->GetObjectScale() / 3, 4.0f); ysida->GetMotionMaster()->MovePoint(1, x, y, z); diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp index 073ee9b8c46..93771b34584 100644 --- a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp +++ b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp @@ -167,7 +167,7 @@ public: void UseStatue(GameObject* go) { go->SummonGameObject(GO_ATALAI_LIGHT1, *go, QuaternionData::fromEulerAnglesZYX(go->GetOrientation(), 0.0f, 0.0f), 0s); - go->AddFlag(GO_FLAG_INTERACT_COND); + go->SetFlag(GO_FLAG_INTERACT_COND); } /* diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index 8bb98703bf3..ee0104f9b0f 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -158,7 +158,7 @@ public: IsIntro = true; Madrigosa->SetMaxHealth(me->GetMaxHealth()); Madrigosa->SetHealth(me->GetMaxHealth()); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->Attack(Madrigosa, true); Madrigosa->Attack(me, true); } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index ba06dc82445..42888e461b2 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -264,7 +264,7 @@ public: { Initialize(); me->SetDisableGravity(true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->setActive(true); me->SetFarVisible(true); @@ -444,8 +444,8 @@ public: void InitializeAI() override { - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->AddUnitState(UNIT_STATE_STUNNED); ScriptedAI::InitializeAI(); @@ -617,8 +617,8 @@ public: { if (summoned->GetEntry() == NPC_ARMAGEDDON_TARGET) { - summoned->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); - summoned->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + summoned->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + summoned->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); // summoned->SetVisibility(VISIBILITY_OFF); //with this we cant see the armageddon visuals } else @@ -1038,7 +1038,7 @@ public: void Reset() override { Initialize(); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); } void JustSummoned(Creature* summoned) override diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index 7487fe51f28..523eab4522e 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -279,7 +279,7 @@ struct boss_muru : public BossAI _phase = PHASE_TWO; me->RemoveAllAuras(); DoCast(me, SPELL_OPEN_ALL_PORTALS, true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); scheduler.Schedule(Seconds(6), [this](TaskContext /*context*/) { diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp index 6199734b281..f23e6924eab 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp @@ -101,7 +101,7 @@ class boss_archaedas : public CreatureScript instance->SetData(0, 5); // respawn any dead minions me->SetFaction(FACTION_FRIENDLY); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetControlled(true, UNIT_STATE_ROOT); me->AddAura(SPELL_FREEZE_ANIM, me); } @@ -264,7 +264,7 @@ class npc_archaedas_minions : public CreatureScript Initialize(); me->SetFaction(35); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetControlled(true, UNIT_STATE_ROOT); me->RemoveAllAuras(); me->AddAura(SPELL_MINION_FREEZE_ANIM, me); @@ -353,7 +353,7 @@ class npc_stonekeepers : public CreatureScript void Reset() override { me->SetFaction(FACTION_FRIENDLY); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetControlled(true, UNIT_STATE_ROOT); me->RemoveAllAuras(); me->AddAura(SPELL_MINION_FREEZE_ANIM, me); diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp index ff59dc0a512..4582ed6d45d 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->ReplaceAllFlags(GameObjectFlags(GO_FLAG_IN_USE | GO_FLAG_NODESPAWN)); + go->ReplaceAllFlags(GO_FLAG_IN_USE | GO_FLAG_NODESPAWN); ancientVaultDoor = go->GetGUID(); if (m_auiEncounter[1] == DONE) @@ -142,7 +142,7 @@ class instance_uldaman : public InstanceMapScript if (m_auiEncounter[2] == DONE) { HandleGameObject(ObjectGuid::Empty, true, go); - go->AddFlag(GO_FLAG_INTERACT_COND); + go->SetFlag(GO_FLAG_INTERACT_COND); } break; } @@ -152,7 +152,7 @@ class instance_uldaman : public InstanceMapScript { creature->SetFaction(FACTION_FRIENDLY); creature->RemoveAllAuras(); - creature->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + creature->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); creature->SetControlled(true, UNIT_STATE_ROOT); creature->AddAura(SPELL_MINION_FREEZE_ANIM, creature); } @@ -172,7 +172,7 @@ class instance_uldaman : public InstanceMapScript if (!go) return; - go->AddFlag(GO_FLAG_INTERACT_COND); + go->SetFlag(GO_FLAG_INTERACT_COND); } void ActivateStoneKeepers() diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index 471baa612c3..0c3e4a25620 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -91,7 +91,7 @@ class npc_voljin_zulaman : public CreatureScript { me->SetDisplayFromModel(0); if (_instance->GetData(DATA_ZULAMAN_STATE) == NOT_STARTED) - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } void Reset() override @@ -158,7 +158,7 @@ class npc_voljin_zulaman : public CreatureScript case EVENT_START_DOOR_OPENING_2: me->SetVirtualItem(0, uint32(0)); if (GameObject* strangeGong = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(DATA_STRANGE_GONG))) - strangeGong->AddFlag(GO_FLAG_NOT_SELECTABLE); + strangeGong->SetFlag(GO_FLAG_NOT_SELECTABLE); _events.ScheduleEvent(EVENT_START_DOOR_OPENING_3, 500ms); break; case EVENT_START_DOOR_OPENING_3: diff --git a/src/server/scripts/EasternKingdoms/zone_dun_morogh_area_coldridge_valley.cpp b/src/server/scripts/EasternKingdoms/zone_dun_morogh_area_coldridge_valley.cpp index 99ce5de08e3..2f1b2c51517 100644 --- a/src/server/scripts/EasternKingdoms/zone_dun_morogh_area_coldridge_valley.cpp +++ b/src/server/scripts/EasternKingdoms/zone_dun_morogh_area_coldridge_valley.cpp @@ -68,7 +68,7 @@ public: { _tapped = true; _playerGUID = caster->GetGUID(); - me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); + me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); me->SetStandState(UNIT_STAND_STATE_STAND); _events.ScheduleEvent(EVENT_TURN_TO_PLAYER, Seconds(2)); } diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp index 8bddc6d6708..605e9cc3ba2 100644 --- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp +++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp @@ -153,7 +153,7 @@ struct npc_thalorien_dawnseeker : public ScriptedAI void Reset() override { - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); _summons.DespawnAll(); _playerGUID.Clear(); _morlenGUID.Clear(); @@ -376,7 +376,7 @@ struct npc_thalorien_dawnseeker : public ScriptedAI thalorien->DespawnOrUnsummon(5s); } - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } diff --git a/src/server/scripts/Events/zalazane_fall.cpp b/src/server/scripts/Events/zalazane_fall.cpp index f4cf1387bcb..cdebdca63d8 100644 --- a/src/server/scripts/Events/zalazane_fall.cpp +++ b/src/server/scripts/Events/zalazane_fall.cpp @@ -187,7 +187,7 @@ struct npc_tiger_matriarch : public ScriptedAI if (HealthBelowPct(20)) { damage = 0; - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); if (Unit* vehSummoner = attacker->ToTempSummon()->GetSummonerUnit()) { vehSummoner->AddAura(SPELL_SUMMON_ZENTABRA_TRIGGER, vehSummoner); diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp index dd4aba1e6f5..ee1c4214c55 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp @@ -56,7 +56,7 @@ struct go_blackfathom_fire : public GameObjectAI bool OnGossipHello(Player* /*player*/) override { me->SetGoState(GO_STATE_ACTIVE); - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); instance->SetData(DATA_FIRE, instance->GetData(DATA_FIRE) + 1); return true; } @@ -185,7 +185,7 @@ struct npc_morridune : public EscortAI case 4: SetEscortPaused(true); me->SetFacingTo(1.775791f); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); Talk(SAY_MORRIDUNE_2); break; } diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp index bd742f29eb0..ba054ffc887 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp @@ -105,12 +105,12 @@ public: case GO_SHRINE_OF_GELIHAST: shrineOfGelihastGUID = go->GetGUID(); if (GetBossState(DATA_GELIHAST) != DONE) - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); break; case GO_ALTAR_OF_THE_DEEPS: altarOfTheDeepsGUID = go->GetGUID(); if (GetBossState(DATA_AKU_MAI) != DONE) - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); break; case GO_AKU_MAI_DOOR: if (GetBossState(DATA_AKU_MAI) == DONE) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index f04ff828af0..67dca6114c0 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -127,7 +127,7 @@ public: ArchimondeGUID = instance->GetGuidData(DATA_ARCHIMONDE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } void JustEngagedWith(Unit* /*who*/) override { } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp index 516afac3cbd..58579b568ab 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp @@ -404,7 +404,7 @@ void hyjalAI::Reset() } //Flags - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); //Reset Instance Data for trash count if ((!instance->GetData(DATA_ALLIANCE_RETREAT) && me->GetEntry() == JAINA) || (instance->GetData(DATA_ALLIANCE_RETREAT) && me->GetEntry() == THRALL)) @@ -835,7 +835,7 @@ void hyjalAI::UpdateAI(uint32 diff) } EventBegun = false; CheckTimer = 0; - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); BossGUID[i].Clear(); instance->DoUpdateWorldState(WORLD_STATE_ENEMY, 0); // Reset world state for enemies to disable it } @@ -998,7 +998,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff) { (*itr)->CastSpell(*itr, SPELL_TELEPORT_VISUAL, true); (*itr)->SetFaction(FACTION_FRIENDLY);//make them friendly so mobs won't attack them - (*itr)->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + (*itr)->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } } DoCast(me, SPELL_TELEPORT_VISUAL); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp index ba470985574..9eda6048261 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp @@ -420,7 +420,7 @@ public: CanMove = false; Delay = rand32() % 30000; me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetDisplayId(MODEL_INVIS); go = false; Initialize(); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp index 0a295b060e9..32969c7aa04 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp @@ -576,7 +576,7 @@ public: // Adjust gossip flag based on whether we have a gossip menu or not if (target.HasGossip) - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); else me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); @@ -1465,7 +1465,7 @@ public: case RP5_EVENT_CHROMIE_SPAWN: if (Creature* chromie = instance->instance->SummonCreature(NPC_CHROMIE_3, ArthasPositions[RP5_CHROMIE_SPAWN])) { - chromie->RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + chromie->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); Movement::PointsArray path(ChromieSplinePos, ChromieSplinePos + chromiePathSize); Movement::MoveSplineInit init(chromie); init.SetFly(); @@ -1483,7 +1483,7 @@ public: { chromie->CastSpell(chromie, SPELL_CHROMIE_3_TRANSFORM); chromie->AI()->Talk(RP5_LINE_CHROMIE0); - chromie->AddNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + chromie->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); } break; default: diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp index 69f7c093873..87b3318ef40 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp @@ -265,7 +265,7 @@ public: break; case 30: SetEscortPaused(true); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); SetRun(false); break; case 31: @@ -289,7 +289,7 @@ public: me->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION); //make horsie run off SetEscortPaused(true); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); instance->SetData(TYPE_THRALL_PART2, DONE); SetRun(); break; diff --git a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp index 8d81283871d..6244cf2dcbb 100644 --- a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp +++ b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp @@ -90,7 +90,7 @@ public: // we make Immolthar non attackable, otherwise players with pets can pull him out of the forcefield // TODO: this change isnt correct but since of today (13.09.2020) mmaps dont support doors if (GetBossState(DATA_FORCEFIELD) != DONE) - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); break; default: break; diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp index e09d93ad232..29e843fe1eb 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp @@ -412,7 +412,7 @@ class npc_brann_bronzebeard_anraphet : public CreatureScript break; case EVENT_BRANN_SAY_GET_IT: Talk(BRANN_SAY_GET_IT); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case EVENT_BRANN_SET_ORIENTATION_4: me->SetFacingTo(3.141593f); diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp index 2ef803c6196..5b1b2d2a8eb 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp @@ -293,8 +293,8 @@ public: { if (Unit* ptah = GetCaster()) { - ptah->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT)); - ptah->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); + ptah->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); + ptah->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); } } @@ -302,7 +302,7 @@ public: { if (Unit* ptah = GetCaster()) { - ptah->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT)); + ptah->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); ptah->RemoveUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); } } diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp index 01dc52531e6..ac6d038bfa9 100644 --- a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp +++ b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp @@ -123,7 +123,7 @@ public: //me->m_canMove = true; me->InterruptNonMeleeSpells(false); me->SetFaction(FACTION_FRIENDLY); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); // Invisible Model me->SetDisplayId(11686); SummonAdds(me->GetVictim()); diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp index 02bff0e4d7e..5bc6fcfa007 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp @@ -71,7 +71,7 @@ public: case GO_GONG: goGongGUID = gameObject->GetGUID(); if (GetBossState(DATA_TUTEN_KASH) == DONE) - gameObject->AddFlag(GO_FLAG_NOT_SELECTABLE); + gameObject->SetFlag(GO_FLAG_NOT_SELECTABLE); break; case GO_IDOL_OVEN_FIRE: case GO_IDOL_CUP_FIRE: @@ -114,7 +114,7 @@ public: case IN_PROGRESS: { if (GameObject* go = instance->GetGameObject(goGongGUID)) - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); switch (gongWave) { diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp index 8c191ea7431..8dac870d76e 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp @@ -104,7 +104,7 @@ public: channeling = false; eventProgress = 0; spawnerCount = 0; - me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); } } diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp index f60770f84eb..1b1de8409c4 100644 --- a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp +++ b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp @@ -65,7 +65,7 @@ public: if (WardKeeperDeath == WARD_KEEPERS_NR) if (GameObject* go = instance->GetGameObject(DoorWardGUID)) { - go->AddFlag(GameObjectFlags(GO_FLAG_IN_USE | GO_FLAG_NODESPAWN)); + go->SetFlag(GO_FLAG_IN_USE | GO_FLAG_NODESPAWN); go->SetGoState(GO_STATE_ACTIVE); } } diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp index 78f0fb9d653..7dbf703705e 100644 --- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp +++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp @@ -103,7 +103,7 @@ public: break; case 45: Talk(SAY_WIN, player); - me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); player->GroupEventHappens(QUEST_WILLIX_THE_IMPORTER, me); break; case 46: diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp index 527c3e44a54..a5a695d7429 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp @@ -209,7 +209,7 @@ public: //Reset flags me->RemoveAurasDueToSpell(SPELL_RED_COLORATION); me->RemoveAurasDueToSpell(SPELL_FREEZE_ANIM); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); me->SetVisible(true); //Reset Phase @@ -420,7 +420,7 @@ public: me->RemoveAurasDueToSpell(SPELL_RED_COLORATION); //Reset to normal emote state and prevent select and attack - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); //Remove Target field me->SetTarget(ObjectGuid::Empty); @@ -523,7 +523,7 @@ public: //Reset flags me->RemoveAurasDueToSpell(SPELL_TRANSFORM); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); me->SetVisible(false); instance->SetData(DATA_CTHUN_PHASE, PHASE_NOT_STARTED); @@ -632,7 +632,7 @@ public: me->SetFullHealth(); me->SetVisible(true); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); //Emerging phase //AttackStart(ObjectAccessor::GetUnit(*me, HoldpPlayer)); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp index 625bed6d916..baa45489f71 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp @@ -112,7 +112,7 @@ public: { //Cast me->HandleEmoteCommand(EMOTE_ONESHOT_SUBMERGE); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetFaction(FACTION_FRIENDLY); DoCast(me, SPELL_DIRTMOUND_PASSIVE); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index 26d4bc82e44..5a6805e7da4 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -120,7 +120,7 @@ struct boss_twinemperorsAI : public BossAI if (ohealth <= 0) { pOtherBoss->setDeathState(JUST_DIED); - pOtherBoss->AddDynamicFlag(UNIT_DYNFLAG_LOOTABLE); + pOtherBoss->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); } } } @@ -132,7 +132,7 @@ struct boss_twinemperorsAI : public BossAI { pOtherBoss->SetHealth(0); pOtherBoss->setDeathState(JUST_DIED); - pOtherBoss->AddDynamicFlag(UNIT_DYNFLAG_LOOTABLE); + pOtherBoss->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); ENSURE_AI(boss_twinemperorsAI, pOtherBoss->AI())->DontYellWhenDead = true; } if (!DontYellWhenDead) // I hope AI is not threaded diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp index 54cee126e70..5b241b476eb 100644 --- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp @@ -84,8 +84,8 @@ public: DoCastSelf(SPELL_IRRIDATION, true); - me->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); - me->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + me->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + me->SetUnitFlag(UNIT_FLAG_IN_COMBAT); me->SetHealth(me->CountPctFromMaxHealth(10)); me->SetStandState(UNIT_STAND_STATE_SLEEP); } @@ -200,7 +200,7 @@ public: { Initialize(); NormFaction = creature->GetFaction(); - NpcFlags = NPCFlags(creature->m_unitData->NpcFlags[0]); + NpcFlags = creature->GetNpcFlags(); } void Initialize() @@ -290,7 +290,7 @@ public: void Reset() override { - me->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + me->SetUnitFlag(UNIT_FLAG_IN_COMBAT); me->SetHealth(me->CountPctFromMaxHealth(15)); switch (urand(0, 1)) { diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp index 728f988c3ea..8c4d3cf454b 100644 --- a/src/server/scripts/Kalimdor/zone_desolace.cpp +++ b/src/server/scripts/Kalimdor/zone_desolace.cpp @@ -101,7 +101,7 @@ public: } else if (spellInfo->Id == SPELL_KODO_KOMBO_GOSSIP) { - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation()); me->GetMotionMaster()->Clear(); me->GetMotionMaster()->MoveIdle(); diff --git a/src/server/scripts/Kalimdor/zone_felwood.cpp b/src/server/scripts/Kalimdor/zone_felwood.cpp index f2aae849d8a..fd37411ab82 100644 --- a/src/server/scripts/Kalimdor/zone_felwood.cpp +++ b/src/server/scripts/Kalimdor/zone_felwood.cpp @@ -63,7 +63,7 @@ public: } else { - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index 6bcaaaee5e0..5fb17f72a3f 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -363,7 +363,7 @@ public: { Initialize(); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } void HandleAnimation() diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index b020bde20fa..0f594165860 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -376,8 +376,8 @@ public: if (!creature) continue; creature->SetFaction(35); - creature->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + creature->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); creature->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); AffrayChallenger[i] = creature->GetGUID(); } diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp index 30e1a276f68..eba6aa87899 100644 --- a/src/server/scripts/Kalimdor/zone_winterspring.cpp +++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp @@ -584,7 +584,7 @@ public: if (npc_ranshalla::npc_ranshallaAI* escortAI = dynamic_cast<npc_ranshalla::npc_ranshallaAI*>(ranshalla->AI())) escortAI->DoContinueEscort(isAltar); } - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); return false; } }; diff --git a/src/server/scripts/Maelstrom/Stonecore/boss_corborus.cpp b/src/server/scripts/Maelstrom/Stonecore/boss_corborus.cpp index 64ac5c2b9df..db16f1ad66d 100644 --- a/src/server/scripts/Maelstrom/Stonecore/boss_corborus.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/boss_corborus.cpp @@ -192,7 +192,7 @@ class boss_corborus : public CreatureScript events.RescheduleEvent(EVENT_SUBMERGE, 100s); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCast(me, SPELL_CLEAR_ALL_DEBUFFS); me->AttackStop(); diff --git a/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp b/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp index a0f902410bf..53cd81e28ce 100644 --- a/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp @@ -213,7 +213,7 @@ class instance_stonecore : public InstanceMapScript return; teleporter->CastSpell(teleporter, SPELL_TELEPORTER_ACTIVE_VISUAL, true); - teleporter->AddNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); + teleporter->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); } GuidVector millhouseTrashGUIDs; diff --git a/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp b/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp index 76c33e3b73d..faf71a4dc97 100644 --- a/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/stonecore.cpp @@ -160,7 +160,7 @@ class npc_sc_millhouse_manastorm : public CreatureScript break; } - me->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + me->SetUnitFlag(UNIT_FLAG_IN_COMBAT); } void MovementInform(uint32 type, uint32 pointId) override @@ -178,7 +178,7 @@ class npc_sc_millhouse_manastorm : public CreatureScript switch (pointId) { case POINT_MILLHOUSE_GROUP_2: - me->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + me->SetUnitFlag(UNIT_FLAG_IN_COMBAT); me->SetReactState(REACT_AGGRESSIVE); if (Creature* worldtrigger = me->FindNearestCreature(NPC_WORLDTRIGGER, 200.0f)) me->SetFacingToObject(worldtrigger); @@ -187,7 +187,7 @@ class npc_sc_millhouse_manastorm : public CreatureScript events.ScheduleEvent(EVENT_READY_FOR_COMBAT, 10s); break; case POINT_MILLHOUSE_GROUP_3: - me->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + me->SetUnitFlag(UNIT_FLAG_IN_COMBAT); me->SetReactState(REACT_AGGRESSIVE); me->SetFacingTo(5.931499f); DoCast(me, SPELL_ANCHOR_HERE); diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp index fd242394c59..542ccb8d697 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp @@ -225,7 +225,7 @@ struct boss_volazj : public BossAI Talk(SAY_INSANITY); DoCastSelf(SPELL_WHISPER_INSANITY, true); // Unattackable - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetControlled(true, UNIT_STATE_STUNNED); } // phase mask diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp index f41bab21f14..237c5e9af10 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp @@ -328,7 +328,7 @@ struct boss_jedoga_shadowseeker : public BossAI me->SetReactState(REACT_PASSIVE); me->AttackStop(); me->InterruptNonMeleeSpells(true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->GetMotionMaster()->MovePoint(POINT_PHASE_TWO, JedogaGroundPosition); break; case EVENT_FLY_DELAY: diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp index abca1479257..8975ec6c774 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp @@ -386,7 +386,7 @@ struct go_prince_taldaram_sphere : public GameObjectAI Creature* princeTaldaram = instance->GetCreature(DATA_PRINCE_TALDARAM); if (princeTaldaram && princeTaldaram->IsAlive()) { - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); me->SetGoState(GO_STATE_ACTIVE); switch (me->GetEntry()) diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp index 3880fc32de2..3eb08a405e0 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp @@ -83,7 +83,7 @@ class instance_ahnkahet : public InstanceMapScript if (SpheresState[0]) { go->SetGoState(GO_STATE_ACTIVE); - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); } else go->RemoveFlag(GO_FLAG_NOT_SELECTABLE); @@ -92,7 +92,7 @@ class instance_ahnkahet : public InstanceMapScript if (SpheresState[1]) { go->SetGoState(GO_STATE_ACTIVE); - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); } else go->RemoveFlag(GO_FLAG_NOT_SELECTABLE); diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp index 1d33a86b27f..ffd3f8b58f5 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp @@ -117,7 +117,7 @@ struct boss_anub_arak : public BossAI void Reset() override { BossAI::Reset(); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); instance->DoStopCriteriaTimer(CriteriaStartEvent::SendEvent, ACHIEV_GOTTA_GO_START_EVENT); _nextSubmerge = 75; _petCount = 0; @@ -328,7 +328,7 @@ struct boss_anub_arak : public BossAI { me->RemoveAurasDueToSpell(SPELL_SUBMERGE); me->RemoveAurasDueToSpell(SPELL_IMPALE_AURA); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); DoCastSelf(SPELL_EMERGE); events.SetPhase(PHASE_EMERGE); events.ScheduleEvent(EVENT_POUND, 13s, 18s, 0, PHASE_EMERGE); @@ -358,7 +358,7 @@ struct boss_anub_arak : public BossAI { if (spellInfo->Id == SPELL_SUBMERGE) { - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->RemoveAurasDueToSpell(SPELL_LEECHING_SWARM); DoCastSelf(SPELL_IMPALE_AURA, true); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp index 740da982559..52b5d3c1746 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp @@ -293,7 +293,7 @@ struct boss_sartharion : public BossAI } fetchTene->GetMotionMaster()->MovePoint(POINT_ID_INIT, TenebronPositions[0]); - fetchTene->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + fetchTene->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } } @@ -310,7 +310,7 @@ struct boss_sartharion : public BossAI } fetchShad->GetMotionMaster()->MovePoint(POINT_ID_INIT, ShadronPositions[0]); - fetchShad->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + fetchShad->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } } @@ -327,7 +327,7 @@ struct boss_sartharion : public BossAI } fetchVesp->GetMotionMaster()->MovePoint(POINT_ID_INIT, VesperonPositions[0]); - fetchVesp->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + fetchVesp->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp index 991edd2fafa..7b791385242 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp @@ -794,7 +794,7 @@ struct npc_flame_tsunami : public ScriptedAI me->SetReactState(REACT_PASSIVE); events.ScheduleEvent(EVENT_TSUNAMI_TIMER, 100ms); events.ScheduleEvent(EVENT_TSUNAMI_BUFF, 1s); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); } void UpdateAI(uint32 diff) override @@ -840,7 +840,7 @@ struct npc_twilight_fissure : public ScriptedAI void Reset() override { - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->AddAura(46265, me); // Wrong, can't find proper visual me->AddAura(69422, me); events.ScheduleEvent(EVENT_VOID_BLAST, 5s); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 170eebe9978..347a874d2d4 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -290,7 +290,7 @@ class boss_halion : public CreatureScript Talk(SAY_PHASE_TWO); me->CastStop(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCastSelf(SPELL_TWILIGHT_PHASING); if (Creature* controller = instance->GetCreature(DATA_HALION_CONTROLLER)) @@ -418,7 +418,7 @@ class boss_twilight_halion : public CreatureScript me->SetHealth(halion->GetHealth()); PhasingHandler::AddPhase(me, 174, false); me->SetReactState(REACT_DEFENSIVE); - me->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + me->SetUnitFlag(UNIT_FLAG_IN_COMBAT); events.ScheduleEvent(EVENT_TAIL_LASH, 12s); events.ScheduleEvent(EVENT_SOUL_CONSUMPTION, 15s); } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp index 80b6a1f7931..75761b20a2e 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp @@ -125,7 +125,7 @@ struct npc_xerestrasza : public ScriptedAI Talk(SAY_XERESTRASZA_EVENT_6); break; case EVENT_XERESTRASZA_EVENT_7: - me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); Talk(SAY_XERESTRASZA_EVENT_7); me->setActive(false); me->SetFarVisible(false); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp index fb8b71c8d96..2b5a4b47940 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp @@ -163,7 +163,7 @@ public: Initialize(); instance = creature->GetInstanceScript(); creature->SetReactState(REACT_PASSIVE); - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } void Initialize() @@ -274,7 +274,7 @@ public: instance = creature->GetInstanceScript(); creature->SetReactState(REACT_PASSIVE); - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); creature->RestoreFaction(); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp index 73ffae9afbf..1e478a87d9a 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp @@ -328,7 +328,7 @@ public: me->SetReactState(REACT_PASSIVE); // THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToPC(true); } @@ -466,7 +466,7 @@ public: me->SetReactState(REACT_PASSIVE); // THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToPC(true); } @@ -610,7 +610,7 @@ public: me->SetReactState(REACT_PASSIVE); // THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToPC(true); } @@ -762,7 +762,7 @@ public: me->SetReactState(REACT_PASSIVE); // THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToPC(true); } @@ -923,7 +923,7 @@ public: me->SetReactState(REACT_PASSIVE); // THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToPC(true); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp index 6c3aa8bf6e4..a970518ff33 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp @@ -171,7 +171,7 @@ public: if (Creature* pAnnouncer = instance->GetCreature(uiAnnouncerGUID)) { pAnnouncer->GetMotionMaster()->MovePoint(0, 748.309f, 619.487f, 411.171f); - pAnnouncer->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + pAnnouncer->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); pAnnouncer->SummonGameObject(instance->IsHeroic() ? GO_CHAMPIONS_LOOT_H : GO_CHAMPIONS_LOOT, 746.59f, 618.49f, 411.09f, 1.42f, QuaternionData::fromEulerAnglesZYX(1.42f, 0.0f, 0.0f), 25h); } } @@ -183,7 +183,7 @@ public: if (Creature* pAnnouncer = instance->GetCreature(uiAnnouncerGUID)) { pAnnouncer->GetMotionMaster()->MovePoint(0, 748.309f, 619.487f, 411.171f); - pAnnouncer->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + pAnnouncer->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); pAnnouncer->SummonGameObject(instance->IsHeroic() ? GO_EADRIC_LOOT_H : GO_EADRIC_LOOT, 746.59f, 618.49f, 411.09f, 1.42f, QuaternionData(), 25h); } } @@ -194,7 +194,7 @@ public: if (Creature* pAnnouncer = instance->GetCreature(uiAnnouncerGUID)) { pAnnouncer->GetMotionMaster()->MovePoint(0, 748.309f, 619.487f, 411.171f); - pAnnouncer->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + pAnnouncer->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); pAnnouncer->SummonGameObject(instance->IsHeroic() ? GO_PALETRESS_LOOT_H : GO_PALETRESS_LOOT, 746.59f, 618.49f, 411.09f, 1.42f, QuaternionData(), 25h); } } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp index e7e76e911e1..b34e27a9c7d 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp @@ -92,8 +92,8 @@ public: uiTimer = 0; me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); SetGrandChampionsForEncounter(); SetArgentChampion(); @@ -431,7 +431,7 @@ public: { if (instance->GetBossState(BOSS_GRAND_CHAMPIONS) == NOT_STARTED) { - summon->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + summon->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); summon->SetReactState(REACT_PASSIVE); } } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp index 80f606a59f4..b460ce13e92 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp @@ -188,7 +188,7 @@ struct boss_anubarak_trial : public BossAI events.ScheduleEvent(EVENT_SUMMON_FROST_SPHERE, 20s); Initialize(); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); // clean up spawned Frost Spheres std::list<Creature*> FrostSphereList; me->GetCreatureListWithEntryInGrid(FrostSphereList, NPC_FROST_SPHERE, 150.0f); @@ -268,7 +268,7 @@ struct boss_anubarak_trial : public BossAI { BossAI::JustEngagedWith(who); Talk(SAY_AGGRO); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); // Despawn Scarab Swarms neutral EntryCheckPredicate pred(NPC_SCARAB); @@ -331,7 +331,7 @@ struct boss_anubarak_trial : public BossAI { DoCast(me, SPELL_SUBMERGE_ANUBARAK); DoCast(me, SPELL_CLEAR_ALL_DEBUFFS); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); Talk(EMOTE_BURROWER); events.SetPhase(PHASE_SUBMERGED); events.ScheduleEvent(EVENT_PURSUING_SPIKE, 2s, 0, PHASE_SUBMERGED); @@ -367,7 +367,7 @@ struct boss_anubarak_trial : public BossAI DoCast(SPELL_SPIKE_TELE); summons.DespawnEntry(NPC_SPIKE); me->RemoveAurasDueToSpell(SPELL_SUBMERGE_ANUBARAK); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); DoCast(me, SPELL_EMERGE_ANUBARAK); Talk(EMOTE_EMERGE); events.SetPhase(PHASE_MELEE); @@ -563,7 +563,7 @@ struct npc_nerubian_burrower : public ScriptedAI if (!me->HasAura(SPELL_PERMAFROST_HELPER)) { DoCast(me, SPELL_SUBMERGE_EFFECT); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCast(me, SPELL_PERSISTENT_DIRT, true); } } @@ -604,7 +604,7 @@ struct npc_frost_sphere : public ScriptedAI { // we are close to the ground me->GetMotionMaster()->MoveIdle(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->RemoveAurasDueToSpell(SPELL_FROST_SPHERE); DoCast(SPELL_PERMAFROST_MODEL); DoCast(SPELL_PERMAFROST); @@ -614,7 +614,7 @@ struct npc_frost_sphere : public ScriptedAI { // we are in air me->GetMotionMaster()->MoveIdle(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); //At hit the ground me->HandleEmoteCommand(EMOTE_ONESHOT_FLYDEATH); me->GetMotionMaster()->MoveFall(POINT_FALL_GROUND); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp index f4ec2f3c4db..0cc2f909a6e 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -477,7 +477,7 @@ struct boss_toc_champion_controller : public BossAI { summons.Summon(champion); champion->SetReactState(REACT_PASSIVE); - champion->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + champion->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); champion->SetImmuneToPC(false); if (playerTeam == ALLIANCE) { diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp index 5b6bc1effac..f0a364b28e4 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp @@ -380,7 +380,7 @@ struct boss_gormok : public boss_northrend_beastsAI if (Unit* snobold = me->GetVehicleKit()->GetPassenger(i)) { snobold->ExitVehicle(); - snobold->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + snobold->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); snobold->GetAI()->DoAction(ACTION_DISABLE_FIRE_BOMB); snobold->CastSpell(me, SPELL_JUMP_TO_HAND, true); break; @@ -484,7 +484,7 @@ struct npc_snobold_vassal : public ScriptedAI } else { - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); _events.CancelEvent(EVENT_CHECK_MOUNT); _events.CancelEvent(EVENT_FIRE_BOMB); me->AttackStop(); @@ -743,7 +743,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI DoCastSelf(SPELL_GROUND_VISUAL_0, true); events.SetPhase(PHASE_SUBMERGED); events.ScheduleEvent(EVENT_EMERGE, 5s, 0, PHASE_SUBMERGED); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); } else { @@ -755,7 +755,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI events.SetPhase(PHASE_SUBMERGED); me->SetControlled(false, UNIT_STATE_ROOT); events.ScheduleEvent(EVENT_EMERGE, 6s, 0, PHASE_SUBMERGED); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); } me->GetMotionMaster()->MovePoint(0, ToCCommonLoc[1].GetPositionX() + frand(-40.0f, 40.0f), ToCCommonLoc[1].GetPositionY() + frand(-40.0f, 40.0f), ToCCommonLoc[1].GetPositionZ() + me->GetCollisionHeight()); } @@ -768,7 +768,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI me->RemoveAurasDueToSpell(SPELL_GROUND_VISUAL_0); DoCastSelf(SPELL_EMERGE); DoCastAOE(SPELL_HATE_TO_ZERO, true); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetReactState(REACT_AGGRESSIVE); if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) AttackStart(target); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index b5aff9d6ed3..16ee193658e 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -242,8 +242,8 @@ struct boss_twin_baseAI : public BossAI { if (!pSister->IsAlive()) { - me->AddDynamicFlag(UNIT_DYNFLAG_LOOTABLE); - pSister->AddDynamicFlag(UNIT_DYNFLAG_LOOTABLE); + me->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); + pSister->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); events.Reset(); summons.DespawnAll(); HandleRemoveAuras(); @@ -556,7 +556,7 @@ struct npc_unleashed_ballAI : public ScriptedAI void Reset() override { - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetReactState(REACT_PASSIVE); me->SetDisableGravity(true); me->SetCanFly(true); diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp index cbfe6ff65bd..9977d0bd8f1 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp @@ -204,7 +204,7 @@ private: } else { - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); DoCast(SPELL_ARCANE_FIELD); } } diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp index f5262706cb5..486b65cdea6 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp @@ -81,7 +81,7 @@ struct npc_sylvanas_fos : public ScriptedAI { Initialize(); instance = me->GetInstanceScript(); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } void Initialize() @@ -168,7 +168,7 @@ struct npc_jaina_fos: public ScriptedAI { Initialize(); instance = me->GetInstanceScript(); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } void Initialize() diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index b2198546d65..922fa9c9384 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -381,12 +381,12 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript case 0: CloseGossipMenuFor(player); _events.ScheduleEvent(EVENT_START_INTRO, 1s); - me->RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; case 1: CloseGossipMenuFor(player); _events.ScheduleEvent(EVENT_SKIP_INTRO, 1s); - me->RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; default: break; @@ -401,7 +401,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript _utherGUID.Clear(); _lichkingGUID.Clear(); - me->RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); me->SetStandState(UNIT_STAND_STATE_STAND); _events.ScheduleEvent(EVENT_WALK_INTRO1, 3s); } @@ -434,7 +434,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript Talk(SAY_JAINA_INTRO_2); else Talk(SAY_SYLVANAS_INTRO_2); - me->AddNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; case EVENT_START_INTRO: if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_KORELN_LORALEN))) @@ -965,7 +965,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript me->RemoveAurasDueToSpell(SPELL_JAINA_ICE_BARRIER); else me->RemoveAurasDueToSpell(SPELL_SYLVANAS_CLOAK_OF_DARKNESS); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetHealth(JAINA_SYLVANAS_MAX_HEALTH); me->SetFacingTo(SylvanasShadowThroneDoorPosition.GetOrientation()); break; @@ -1012,7 +1012,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript lichking->AI()->AttackStart(me); } me->SetHealth(JAINA_SYLVANAS_MAX_HEALTH); - me->RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; case EVENT_ESCAPE_1: if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE))) @@ -1037,7 +1037,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE))) { lichking->SetReactState(REACT_PASSIVE); - lichking->AddUnitFlag(UNIT_FLAG_PACIFIED); + lichking->SetUnitFlag(UNIT_FLAG_PACIFIED); } _events.ScheduleEvent(EVENT_ESCAPE_3, 1500ms); @@ -1155,7 +1155,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript else Talk(SAY_SYLVANAS_ESCAPE_9); DoCast(me, SPELL_CREDIT_ESCAPING_ARTHAS); - me->AddNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; default: break; diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp index 968895b9184..15b13cb6353 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp @@ -321,7 +321,7 @@ class instance_halls_of_reflection : public InstanceMapScript bunny->CastSpell(bunny, SPELL_START_HALLS_OF_REFLECTION_QUEST_AE, true); if (Creature* korelnOrLoralen = instance->GetCreature(KorelnOrLoralenGUID)) - korelnOrLoralen->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + korelnOrLoralen->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); HandleGameObject(EntranceDoorGUID, true); HandleGameObject(ImpenetrableDoorGUID, true); @@ -344,7 +344,7 @@ class instance_halls_of_reflection : public InstanceMapScript break; case DONE: if (GameObject* chest = instance->GetGameObject(CaptainsChestGUID)) - chest->RemoveFlag(GameObjectFlags(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN)); + chest->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); DoUseDoorOrButton(CaveInGUID, 15); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index 8b37456df9d..fae90261770 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -318,7 +318,7 @@ struct boss_krick : public ScriptedAI Initialize(); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } void KilledUnit(Unit* victim) override diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp index 50e4c64b905..86f56279dff 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp @@ -147,7 +147,7 @@ struct boss_tyrannus : public BossAI events.Reset(); events.SetPhase(PHASE_NONE); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); instance->SetBossState(DATA_TYRANNUS, NOT_STARTED); } @@ -300,7 +300,7 @@ struct boss_rimefang : public ScriptedAI Initialize(); me->SetCanFly(true); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } void JustReachedHome() override diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp index 42800babb12..49eb21f8f72 100644 --- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp +++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp @@ -357,7 +357,7 @@ struct go_gundrak_altar : public GameObjectAI bool OnGossipHello(Player* /*player*/) override { - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); me->SetGoState(GO_STATE_ACTIVE); instance->SetData(DATA_STATUE_ACTIVATE, me->GetEntry()); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index 507f6a81cc0..afc5777638c 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -528,7 +528,7 @@ struct BloodPrincesBossAI : public BossAI _isEmpowered = false; if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_PRINCES_CONTROL))) { - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); controller->AI()->SetData(DATA_PRINCE_EVADE, 1); } } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index c37d4d5df2a..c6cba70f3ed 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -364,7 +364,7 @@ struct boss_deathbringer_saurfang : public BossAI _dead = true; _JustDied(); _EnterEvadeMode(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(true); me->RemoveAurasOnEvade(); DoCastAOE(SPELL_REMOVE_MARKS_OF_THE_FALLEN_CHAMPION); @@ -729,7 +729,7 @@ struct npc_high_overlord_saurfang_icc : public ScriptedAI if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG))) { deathbringer->CastSpell(me, SPELL_RIDE_VEHICLE, true); // for the packet logs. - deathbringer->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + deathbringer->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); deathbringer->SetEmoteState(EMOTE_STATE_DROWNED); } _events.ScheduleEvent(EVENT_OUTRO_HORDE_5, 1s); // move diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp index d8abdc5246f..a8e7cf3cb47 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp @@ -644,7 +644,7 @@ struct npc_cult_fanatic : public ScriptedAI DoCastSelf(SPELL_PERMANENT_FEIGN_DEATH); DoCastSelf(SPELL_CLEAR_ALL_DEBUFFS); DoCastSelf(SPELL_FULL_HEAL, true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); }) .Schedule(Seconds(6), [this](TaskContext /*context*/) { @@ -735,7 +735,7 @@ struct npc_cult_adherent : public ScriptedAI DoCastSelf(SPELL_PERMANENT_FEIGN_DEATH); DoCastSelf(SPELL_CLEAR_ALL_DEBUFFS); DoCastSelf(SPELL_FULL_HEAL, true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); }) .Schedule(Seconds(6), [this](TaskContext /*context*/) { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 9d742bd133c..31e1d23e11f 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -325,7 +325,7 @@ struct boss_sindragosa : public BossAI me->SetCanFly(true); me->SetDisableGravity(true); me->SetSpeedRate(MOVE_FLIGHT, 4.0f); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); Milliseconds moveTime = Milliseconds(uint64(me->GetExactDist(&SindragosaFlyPos) / (me->GetSpeed(MOVE_FLIGHT) * 0.001f))); me->m_Events.AddEvent(new FrostwyrmLandEvent(*me, SindragosaLandPos), me->m_Events.CalculateTime(moveTime + 250ms)); me->GetMotionMaster()->MovePoint(POINT_FROSTWYRM_FLY_IN, SindragosaFlyPos); @@ -695,7 +695,7 @@ struct npc_spinestalker : public ScriptedAI me->setActive(true); me->SetFarVisible(true); me->SetSpeedRate(MOVE_FLIGHT, 2.0f); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); Milliseconds moveTime = Milliseconds(uint64(me->GetExactDist(&SpinestalkerFlyPos) / (me->GetSpeed(MOVE_FLIGHT) * 0.001f))); me->m_Events.AddEvent(new FrostwyrmLandEvent(*me, SpinestalkerLandPos), me->m_Events.CalculateTime(moveTime + 250ms)); me->SetDefaultMovementType(IDLE_MOTION_TYPE); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp index 428f8a44a13..1ace5e6e7f3 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp @@ -456,7 +456,7 @@ struct boss_sister_svalna : public BossAI CastSpellExtraArgs args; args.AddSpellBP0(1); summon->CastSpell(target, VEHICLE_SPELL_RIDE_HARDCODED, args); - summon->AddUnitFlag2(UNIT_FLAG2_INTERACT_WHILE_HOSTILE); + summon->SetUnitFlag2(UNIT_FLAG2_INTERACT_WHILE_HOSTILE); } break; default: diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 489800274d5..4e428ab041c 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -1714,7 +1714,7 @@ struct npc_terenas_menethil : public ScriptedAI damage = me->GetHealth() - 1; if (!me->HasAura(SPELL_TERENAS_LOSES_INSIDE) && !IsHeroic()) { - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCast(SPELL_TERENAS_LOSES_INSIDE); _events.ScheduleEvent(EVENT_TELEPORT_BACK, 1s); if (Creature* warden = me->FindNearestCreature(NPC_SPIRIT_WARDEN, 20.0f)) @@ -1775,7 +1775,7 @@ struct npc_terenas_menethil : public ScriptedAI } break; case EVENT_DESTROY_SOUL: - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); if (Creature* warden = me->FindNearestCreature(NPC_SPIRIT_WARDEN, 20.0f)) warden->CastSpell(nullptr, SPELL_DESTROY_SOUL, TRIGGERED_NONE); DoCast(SPELL_TERENAS_LOSES_INSIDE); @@ -2529,7 +2529,7 @@ class spell_the_lich_king_vile_spirit_damage_target_search : public SpellScript summoner->GetAI()->SetData(DATA_VILE, 1); GetCaster()->CastSpell(nullptr, SPELL_SPIRIT_BURST, true); GetCaster()->ToCreature()->DespawnOrUnsummon(3s); - GetCaster()->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + GetCaster()->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } void Register() override diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index a27d5da42b2..6b08bf1717d 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -380,7 +380,7 @@ struct boss_valithria_dreamwalker : public ScriptedAI DoCastSelf(SPELL_REPUTATION_BOSS_KILL, true); // this display id was found in sniff instead of the one on aura me->SetDisplayId(11686); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->DespawnOrUnsummon(4s); if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_TRIGGER))) Unit::Kill(me, trigger); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index d3a57140b30..4da7988aa3a 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -754,7 +754,7 @@ struct npc_icc_orb_controller : public ScriptedAI UpdateValidGuids(); ScheduleVisualChannel(true); if (GameObject* orb = me->FindNearestGameObject(GO_EMPOWERING_BLOOD_ORB, 5.0f)) - orb->AddFlag(GO_FLAG_NOT_SELECTABLE); + orb->SetFlag(GO_FLAG_NOT_SELECTABLE); } } @@ -1129,7 +1129,7 @@ struct go_empowering_blood_orb : public GameObjectAI void HandleObjectUse() { - me->AddFlag(GO_FLAG_IN_USE); + me->SetFlag(GO_FLAG_IN_USE); me->SetGoAnimProgress(255); me->SetGoState(GO_STATE_DESTROYED); if (Creature* trigger = ObjectAccessor::GetCreature(*me, _triggerGuid)) @@ -1310,7 +1310,7 @@ class spell_icc_stoneform : public AuraScript if (Creature* target = GetTarget()->ToCreature()) { target->SetReactState(REACT_PASSIVE); - target->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + target->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); target->SetImmuneToPC(true); target->SetEmoteState(EMOTE_STATE_CUSTOM_SPELL_02); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index 89aef0c3866..cedebba8633 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -172,7 +172,7 @@ class instance_icecrown_citadel : public InstanceMapScript } else { - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); go->SetGoState(GO_STATE_READY); } } @@ -647,7 +647,7 @@ class instance_icecrown_citadel : public InstanceMapScript case GO_CACHE_OF_THE_DREAMWALKER_25H: if (Creature* valithria = instance->GetCreature(ValithriaDreamwalkerGUID)) go->SetLootRecipient(valithria->GetLootRecipient(), valithria->GetLootRecipientGroup()); - go->RemoveFlag(GameObjectFlags(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN)); + go->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); break; case GO_ARTHAS_PLATFORM: ArthasPlatformGUID = go->GetGUID(); @@ -887,7 +887,7 @@ class instance_icecrown_citadel : public InstanceMapScript SetTeleporterState(teleporter, true); if (GameObject* loot = instance->GetGameObject(GunshipArmoryGUID)) - loot->RemoveFlag(GameObjectFlags(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN)); + loot->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); } else if (state == FAIL) Events.ScheduleEvent(EVENT_RESPAWN_GUNSHIP, 30s); @@ -901,7 +901,7 @@ class instance_icecrown_citadel : public InstanceMapScript { if (Creature* deathbringer = instance->GetCreature(DeathbringerSaurfangGUID)) loot->SetLootRecipient(deathbringer->GetLootRecipient(), deathbringer->GetLootRecipientGroup()); - loot->RemoveFlag(GameObjectFlags(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN)); + loot->RemoveFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN); } if (GameObject* teleporter = instance->GetGameObject(TeleporterUpperSpireGUID)) diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index 15ccb12e2e9..6dbc99e7d01 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -223,7 +223,7 @@ struct boss_kelthuzad : public BossAI return; _Reset(); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(true); _skeletonCount = 0; _bansheeCount = 0; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp index 709aabbaca4..5f05694c84b 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp @@ -233,7 +233,7 @@ struct boss_noth : public BossAI case EVENT_BALCONY: events.SetPhase(PHASE_BALCONY); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->AttackStop(); me->StopMoving(); me->RemoveAllAuras(); diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp index 05e4f7cff0d..aa5bb49af45 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp @@ -141,7 +141,7 @@ struct boss_sapphiron : public BossAI if (!instance->GetData(DATA_HAD_SAPPHIRON_BIRTH)) { me->SetVisible(false); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetReactState(REACT_PASSIVE); } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp index 0f36f21fdfd..71aef922a5f 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp @@ -316,7 +316,7 @@ public: me->DespawnOrUnsummon(0s, 30s); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED); me->SetImmuneToPC(true); me->setActive(false); me->SetFarVisible(false); @@ -575,7 +575,7 @@ public: if (Creature* thaddius = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THADDIUS))) thaddius->AI()->DoAction(ACTION_STALAGG_DIED); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->RemoveAllAuras(); me->SetReactState(REACT_PASSIVE); me->AttackStop(); @@ -814,7 +814,7 @@ public: if (Creature* thaddius = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THADDIUS))) thaddius->AI()->DoAction(ACTION_FEUGEN_DIED); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->RemoveAllAuras(); me->SetReactState(REACT_PASSIVE); me->AttackStop(); diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 08396457484..8d1478e32e2 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -680,7 +680,7 @@ struct boss_malygos : public BossAI if (!_firstCyclicMovementStarted) { _firstCyclicMovementStarted = true; - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ALEXSTRASZA_BUNNY_GUID))) me->SetFacingToObject(alexstraszaBunny); events.ScheduleEvent(EVENT_SUMMON_ARCANE_BOMB, 1s, 0, PHASE_TWO); @@ -1159,7 +1159,7 @@ struct npc_melee_hover_disk : public VehicleAI if (vehicleTemp->GetPassenger(0) && vehicleTemp->GetPassenger(0)->GetTypeId() == TYPEID_PLAYER) { vehicleTemp->RemoveAllPassengers(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } } @@ -1897,7 +1897,7 @@ class spell_alexstrasza_bunny_destroy_platform_event : public SpellScript Creature* caster = GetCaster()->ToCreature(); if (InstanceScript* instance = caster->GetInstanceScript()) if (GameObject* platform = caster->GetMap()->GetGameObject(instance->GetGuidData(DATA_PLATFORM))) - platform->AddFlag(GO_FLAG_DESTROYED); + platform->SetFlag(GO_FLAG_DESTROYED); } void HandleScript(SpellEffIndex /*effIndex*/) diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp index 79d7d5a4dc1..ff852e4474f 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp @@ -167,7 +167,7 @@ public: alexstraszaBunny->CastSpell(alexstraszaBunny, SPELL_IRIS_OPENED); if (GameObject* iris = instance->GetGameObject(irisGUID)) - iris->AddFlag(GO_FLAG_IN_USE); + iris->SetFlag(GO_FLAG_IN_USE); if (Creature* malygos = instance->GetCreature(malygosGUID)) malygos->AI()->DoAction(0); // ACTION_LAND_ENCOUNTER_START diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp index 3b3a121e1ed..b0075cbef0c 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp @@ -219,7 +219,7 @@ struct containment_sphere : public GameObjectAI if (keristrasza && keristrasza->IsAlive()) { // maybe these are hacks :( - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); me->SetGoState(GO_STATE_ACTIVE); ENSURE_AI(boss_keristrasza, keristrasza->AI())->CheckContainmentSpheres(true); diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp index 43d7094dec1..5afea688814 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp @@ -274,7 +274,7 @@ struct boss_magus_telestra : public ScriptedAI me->CastStop(); me->RemoveAllAuras(); me->SetVisible(false); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); uiFireMagusGUID = SplitPersonality(NPC_FIRE_MAGUS); uiFrostMagusGUID = SplitPersonality(NPC_FROST_MAGUS); uiArcaneMagusGUID = SplitPersonality(NPC_ARCANE_MAGUS); @@ -291,7 +291,7 @@ struct boss_magus_telestra : public ScriptedAI me->CastStop(); me->RemoveAllAuras(); me->SetVisible(false); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); uiFireMagusGUID = SplitPersonality(NPC_FIRE_MAGUS); uiFrostMagusGUID = SplitPersonality(NPC_FROST_MAGUS); uiArcaneMagusGUID = SplitPersonality(NPC_ARCANE_MAGUS); diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index 2f713ef7ebf..5d3bd684604 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -90,7 +90,7 @@ class instance_oculus : public InstanceMapScript BelgaristraszGUID = creature->GetGUID(); if (GetBossState(DATA_DRAKOS) == DONE) { - creature->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + creature->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->Relocate(BelgaristraszMove); } break; @@ -98,7 +98,7 @@ class instance_oculus : public InstanceMapScript EternosGUID = creature->GetGUID(); if (GetBossState(DATA_DRAKOS) == DONE) { - creature->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + creature->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->Relocate(EternosMove); } break; @@ -106,7 +106,7 @@ class instance_oculus : public InstanceMapScript VerdisaGUID = creature->GetGUID(); if (GetBossState(DATA_DRAKOS) == DONE) { - creature->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + creature->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->Relocate(VerdisaMove); } break; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp index 81fccf23eac..44d18148dbb 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp @@ -194,7 +194,7 @@ struct npc_verdisa_beglaristrasz_eternos : public ScriptedAI Talk(SAY_BELGARISTRASZ); // The gossip flag should activate when Drakos die and not from DB - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } }; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp index 792647e43c7..db70544bcd0 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp @@ -107,7 +107,7 @@ struct boss_ionar : public ScriptedAI Initialize(); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetControlled(false, UNIT_STATE_ROOT); if (!me->IsVisible()) @@ -147,7 +147,7 @@ struct boss_ionar : public ScriptedAI me->AttackStop(); me->SetVisible(false); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetControlled(true, UNIT_STATE_ROOT); me->GetMotionMaster()->Clear(); @@ -231,7 +231,7 @@ struct boss_ionar : public ScriptedAI else if (lSparkList.empty()) { me->SetVisible(true); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetControlled(false, UNIT_STATE_ROOT); DoCast(me, SPELL_SPARK_DESPAWN, false); diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp index a4c856c58bd..80f35573d52 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp @@ -234,7 +234,7 @@ struct npc_tribuna_controller : public ScriptedAI if (Creature* summon = me->SummonCreature(NPC_DARK_MATTER_TARGET, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1s)) { summon->SetDisplayId(11686); - summon->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + summon->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); summon->CastSpell(target, SPELL_DARK_MATTER, true); } } @@ -250,7 +250,7 @@ struct npc_tribuna_controller : public ScriptedAI if (Creature* summon = me->SummonCreature(NPC_SEARING_GAZE_TARGET, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1s)) { summon->SetDisplayId(11686); - summon->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + summon->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); summon->CastSpell(target, SPELL_SEARING_GAZE, true); } } @@ -650,7 +650,7 @@ struct npc_brann_hos : public EscortAI Player* player = GetPlayerForEscort(); if (player) player->GroupEventHappens(QUEST_HALLS_OF_STONE, me); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); JumpToNextStep(180000); break; } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp index e082a44103b..ec5e8e161d7 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp @@ -311,7 +311,7 @@ struct boss_algalon_the_observer : public BossAI { case ACTION_START_INTRO: { - me->AddUnitFlag2(UNIT_FLAG2_DONT_FADE_IN); + me->SetUnitFlag2(UNIT_FLAG2_DONT_FADE_IN); me->SetDisableGravity(true); DoCastSelf(SPELL_ARRIVAL, true); DoCastSelf(SPELL_RIDE_THE_LIGHTNING, true); @@ -341,7 +341,7 @@ struct boss_algalon_the_observer : public BossAI events.ScheduleEvent(EVENT_DESPAWN_ALGALON_2, 17s); events.ScheduleEvent(EVENT_DESPAWN_ALGALON_3, 26s); me->DespawnOrUnsummon(34s); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToNPC(true); break; case ACTION_INIT_ALGALON: @@ -361,7 +361,7 @@ struct boss_algalon_the_observer : public BossAI void JustEngagedWith(Unit* who) override { Milliseconds introDelay = 0ms; - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToNPC(true); events.Reset(); events.SetPhase(PHASE_ROLE_PLAY); @@ -485,7 +485,7 @@ struct boss_algalon_the_observer : public BossAI events.SetPhase(PHASE_ROLE_PLAY); me->SetReactState(REACT_PASSIVE); me->AttackStop(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCastSelf(SPELL_SELF_STUN); events.Reset(); summons.DespawnAll(); @@ -637,7 +637,7 @@ struct boss_algalon_the_observer : public BossAI me->RemoveAllAuras(); ResetThreatList(); me->SetFaction(FACTION_FRIENDLY); - me->AddUnitFlag(UNIT_FLAG_RENAME); + me->SetUnitFlag(UNIT_FLAG_RENAME); events.ScheduleEvent(EVENT_OUTRO_2, 2s); break; case EVENT_OUTRO_2: @@ -996,7 +996,7 @@ struct go_celestial_planetarium_access : public GameObjectAI return false; // Start Algalon event - me->AddFlag(GO_FLAG_IN_USE); + me->SetFlag(GO_FLAG_IN_USE); _events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5s); if (Creature* brann = me->SummonCreature(NPC_BRANN_BRONZBEARD_ALG, BrannIntroSpawnPos)) brann->AI()->DoAction(ACTION_START_INTRO); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp index 83689f4ffa6..70f54d742c1 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp @@ -449,7 +449,7 @@ struct npc_feral_defender : public ScriptedAI { me->SetReactState(REACT_PASSIVE); me->AttackStop(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->RemoveAurasDueToSpell(SPELL_RANDOM_AGRO_PERIODIC); DoCastSelf(SPELL_PERMANENT_FEIGN_DEATH, true); DoCastSelf(SPELL_FERAL_ESSENCE_APPLICATION_REMOVAL, true); 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 82ea3018c92..0699f4de443 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -250,7 +250,7 @@ class boss_flame_leviathan : public CreatureScript DoCast(SPELL_INVIS_AND_STEALTH_DETECT); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED); me->SetReactState(REACT_PASSIVE); } @@ -570,7 +570,7 @@ class boss_flame_leviathan : public CreatureScript if (id != ACTION_MOVE_TO_CENTER_POSITION) return; me->SetReactState(REACT_AGGRESSIVE); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED); } private: @@ -643,11 +643,11 @@ class boss_flame_leviathan_seat : public CreatureScript if (Unit* devicePassenger = me->GetVehicleKit()->GetPassenger(SEAT_DEVICE)) if (Creature* device = devicePassenger->ToCreature()) { - device->AddNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); + device->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); device->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } else if (seatId == SEAT_TURRET) { @@ -656,7 +656,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->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); device->ReplaceAllUnitFlags(UnitFlags(0)); // unselectable } } @@ -773,7 +773,7 @@ class boss_flame_leviathan_overload_device : public CreatureScript if (me->GetVehicle()) { me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); if (Unit* player = me->GetVehicle()->GetPassenger(SEAT_PLAYER)) { @@ -969,7 +969,7 @@ class npc_thorims_hammer : public CreatureScript { npc_thorims_hammerAI(Creature* creature) : ScriptedAI(creature) { - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->CastSpell(me, AURA_DUMMY_BLUE, true); } @@ -1008,7 +1008,7 @@ public: npc_mimirons_infernoAI(Creature* creature) : EscortAI(creature) { Initialize(); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->CastSpell(me, AURA_DUMMY_YELLOW, true); me->SetReactState(REACT_PASSIVE); } @@ -1065,7 +1065,7 @@ class npc_hodirs_fury : public CreatureScript { npc_hodirs_furyAI(Creature* creature) : ScriptedAI(creature) { - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->CastSpell(me, AURA_DUMMY_GREEN, true); } @@ -1676,7 +1676,7 @@ class spell_systems_shutdown : public SpellScriptLoader //! This could probably in the SPELL_EFFECT_SEND_EVENT handler too: owner->AddUnitState(UNIT_STATE_STUNNED | UNIT_STATE_ROOT); - owner->AddUnitFlag(UNIT_FLAG_STUNNED); + owner->SetUnitFlag(UNIT_FLAG_STUNNED); owner->RemoveAurasDueToSpell(SPELL_GATHERING_SPEED); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index ca89a6fc8bd..7fa9f4d495e 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -1364,7 +1364,7 @@ class npc_healthy_spore : public CreatureScript npc_healthy_sporeAI(Creature* creature) : ScriptedAI(creature) { SetCombatMovement(false); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToPC(true); me->SetReactState(REACT_PASSIVE); DoCast(me, SPELL_HEALTHY_SPORE_VISUAL); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index 2752c45e52d..cd9c171a4de 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -424,7 +424,7 @@ class npc_saronite_vapors : public CreatureScript if (damage >= me->GetHealth()) { damage = 0; - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetControlled(true, UNIT_STATE_ROOT); me->SetStandState(UNIT_STAND_STATE_DEAD); me->SetHealth(me->GetMaxHealth()); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index 786fca32389..77c1d767971 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -190,7 +190,7 @@ class npc_flash_freeze : public CreatureScript Initialize(); instance = me->GetInstanceScript(); me->SetDisplayFromModel(1); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED)); + me->SetUnitFlag(UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED); me->SetControlled(true, UNIT_STATE_ROOT); } @@ -270,7 +270,7 @@ class npc_ice_block : public CreatureScript { instance = me->GetInstanceScript(); me->SetDisplayFromModel(1); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED)); + me->SetUnitFlag(UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED); me->SetControlled(true, UNIT_STATE_ROOT); } @@ -285,7 +285,7 @@ class npc_ice_block : public CreatureScript return; targetGUID = summoner->GetGUID(); - summoner->AddUnitFlag(UnitFlags(UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED)); + summoner->SetUnitFlag(UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED); summoner->SetControlled(true, UNIT_STATE_ROOT); me->SetInCombatWith(summoner); AddThreat(summoner, 250.0f); @@ -302,7 +302,7 @@ class npc_ice_block : public CreatureScript { if (Creature* helper = ObjectAccessor::GetCreature(*me, targetGUID)) { - helper->RemoveUnitFlag(UnitFlags(UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED)); + helper->RemoveUnitFlag(UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED); helper->SetControlled(false, UNIT_STATE_ROOT); if (Creature* hodir = instance->GetCreature(DATA_HODIR)) @@ -406,7 +406,7 @@ class boss_hodir : public CreatureScript me->RemoveAllAttackers(); me->AttackStop(); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetControlled(true, UNIT_STATE_ROOT); me->InterruptNonMeleeSpells(true); me->StopMoving(); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp index ab0120c0421..2a5e48e15cf 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp @@ -182,7 +182,7 @@ class boss_ignis : public CreatureScript { summon->SetFaction(FACTION_MONSTER_2); summon->SetReactState(REACT_AGGRESSIVE); - summon->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PACIFIED | UNIT_FLAG_STUNNED)); + summon->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PACIFIED | UNIT_FLAG_STUNNED); summon->SetImmuneToPC(false); summon->SetControlled(false, UNIT_STATE_ROOT); } @@ -384,7 +384,7 @@ class npc_scorch_ground : public CreatureScript npc_scorch_groundAI(Creature* creature) : ScriptedAI(creature) { Initialize(); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PACIFIED)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PACIFIED); me->SetControlled(true, UNIT_STATE_ROOT); creature->SetDisplayId(16925); //model 2 in db cannot overwrite wdb fields } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index 67583f80c6f..5d39db1e50c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -148,7 +148,7 @@ class boss_kologarn : public CreatureScript Talk(SAY_DEATH); DoCast(SPELL_KOLOGARN_PACIFY); me->GetMotionMaster()->MoveTargetedHome(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetCorpseDelay(604800); // Prevent corpse from despawning. _JustDied(); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index d7c7aff10da..9f3c029aedf 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -428,12 +428,12 @@ class boss_mimiron : public CreatureScript return; BossAI::JustEngagedWith(who); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->RemoveAurasDueToSpell(SPELL_WELD); DoCast(me->GetVehicleBase(), SPELL_SEAT_6); if (GameObject* button = instance->GetGameObject(DATA_MIMIRON_BUTTON)) - button->AddFlag(GO_FLAG_NOT_SELECTABLE); + button->SetFlag(GO_FLAG_NOT_SELECTABLE); if (_fireFighter) events.ScheduleEvent(EVENT_SUMMON_FLAMES, 3s); @@ -515,7 +515,7 @@ class boss_mimiron : public CreatureScript { DoCast(mkii, SPELL_SEAT_7); mkii->RemoveAurasDueToSpell(SPELL_FREEZE_ANIM); - mkii->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + mkii->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); } events.ScheduleEvent(EVENT_INTRO_3, 2s); break; @@ -661,7 +661,7 @@ class boss_mimiron : public CreatureScript break; case EVENT_OUTTRO_3: DoCast(me, SPELL_TELEPORT_VISUAL); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->DespawnOrUnsummon(1s); // sniffs say 6 sec after, but it doesnt matter. break; default: @@ -703,7 +703,7 @@ class boss_leviathan_mk_ii : public CreatureScript if (damage >= me->GetHealth()) { damage = me->GetHealth() - 1; // Let creature fall to 1 hp, but do not let it die or damage itself with SetHealth(). - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); DoCast(me, SPELL_VEHICLE_DAMAGED, true); me->AttackStop(); me->SetReactState(REACT_PASSIVE); @@ -754,7 +754,7 @@ class boss_leviathan_mk_ii : public CreatureScript break; case DO_ASSEMBLED_COMBAT: me->SetStandState(UNIT_STAND_STATE_STAND); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetReactState(REACT_AGGRESSIVE); events.SetPhase(PHASE_VOL7RON); @@ -803,7 +803,7 @@ class boss_leviathan_mk_ii : public CreatureScript switch (point) { case WP_MKII_P1_IDLE: - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCast(me, SPELL_HALF_HEAL); if (Creature* mimiron = instance->GetCreature(DATA_MIMIRON)) @@ -830,7 +830,7 @@ class boss_leviathan_mk_ii : public CreatureScript void Reset() override { _Reset(); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetReactState(REACT_PASSIVE); _fireFighter = false; _setupMine = true; @@ -942,7 +942,7 @@ class boss_vx_001 : public CreatureScript me->SetEmoteState(EMOTE_STATE_SPECIAL_UNARMED); // This is a hack to force the yet to be unfolded visual state. me->SetReactState(REACT_PASSIVE); _fireFighter = false; - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } void DamageTaken(Unit* who, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override @@ -957,7 +957,7 @@ class boss_vx_001 : public CreatureScript if (events.IsInPhase(PHASE_VX_001)) { me->CastStop(); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); // | UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); // | UNIT_FLAG_UNINTERACTIBLE); DoCast(me, SPELL_HALF_HEAL); // has no effect, wat DoCast(me, SPELL_TORSO_DISABLED); if (Creature* mimiron = instance->GetCreature(DATA_MIMIRON)) @@ -966,7 +966,7 @@ class boss_vx_001 : public CreatureScript else if (events.IsInPhase(PHASE_VOL7RON)) { me->SetStandState(UNIT_STAND_STATE_DEAD); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); Unit* ref = who ? who : me; if (IsEncounterFinished(ref)) @@ -990,7 +990,7 @@ class boss_vx_001 : public CreatureScript events.ScheduleEvent(EVENT_FLAME_SUPPRESSANT_VX, 6s); [[fallthrough]]; case DO_START_VX001: - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(false); me->RemoveAurasDueToSpell(SPELL_FREEZE_ANIM); me->SetEmoteState(EMOTE_ONESHOT_NONE); // Remove emotestate. @@ -1004,7 +1004,7 @@ class boss_vx_001 : public CreatureScript break; case DO_ASSEMBLED_COMBAT: me->SetStandState(UNIT_STAND_STATE_STAND); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); events.SetPhase(PHASE_VOL7RON); events.ScheduleEvent(EVENT_ROCKET_STRIKE, 20s); @@ -1173,7 +1173,7 @@ class boss_aerial_command_unit : public CreatureScript case DO_START_AERIAL: me->SetDisableGravity(false); me->SetHover(true); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(false); me->SetReactState(REACT_AGGRESSIVE); @@ -1193,7 +1193,7 @@ class boss_aerial_command_unit : public CreatureScript me->SetReactState(REACT_AGGRESSIVE); break; case DO_ASSEMBLED_COMBAT: - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetReactState(REACT_AGGRESSIVE); me->SetStandState(UNIT_STAND_STATE_STAND); events.SetPhase(PHASE_VOL7RON); @@ -1227,7 +1227,7 @@ class boss_aerial_command_unit : public CreatureScript if (type == POINT_MOTION_TYPE && point == WP_AERIAL_P4_POS) { me->SetFacingTo(VehicleRelocation[WP_AERIAL_P4_POS].GetOrientation()); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); DoCastSelf(SPELL_CLEAR_ALL_DEBUFFS); if (Creature* mimiron = instance->GetCreature(DATA_MIMIRON)) @@ -1694,7 +1694,7 @@ class go_mimiron_hardmode_button : public GameObjectScript computer->AI()->DoAction(DO_ACTIVATE_COMPUTER); me->SetGoState(GO_STATE_ACTIVE); - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); return true; } }; @@ -1727,7 +1727,7 @@ class spell_mimiron_bomb_bot : public SpellScriptLoader { if (Creature* target = GetHitCreature()) { - target->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PACIFIED)); + target->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PACIFIED); target->DespawnOrUnsummon(1s); } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 65693c7a4cf..e9772a31be5 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -1513,7 +1513,7 @@ public: bool OnGossipHello(Player* /*player*/) override { - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); if (Creature* controller = me->FindNearestCreature(NPC_RAZORSCALE_CONTROLLER, 5.0f)) { // Prevent 2 players clicking at "same time" @@ -1553,7 +1553,7 @@ public: void Reset() override { - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); _scheduler.Schedule(Seconds(1), [this](TaskContext /*context*/) { me->UseDoorOrButton(); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index 59980325c56..2225ccf68c4 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -485,7 +485,7 @@ class boss_thorim : public CreatureScript me->SummonCreature(s.entry, s.pos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3s); if (GameObject* lever = instance->GetGameObject(DATA_THORIM_LEVER)) - lever->AddFlag(GO_FLAG_NOT_SELECTABLE); + lever->SetFlag(GO_FLAG_NOT_SELECTABLE); // Remove trigger auras if (Creature* pillar = ObjectAccessor::GetCreature(*me, _activePillarGUID)) @@ -557,7 +557,7 @@ class boss_thorim : public CreatureScript me->RemoveAllAttackers(); me->AttackStop(); me->SetFaction(FACTION_FRIENDLY); - me->AddUnitFlag(UNIT_FLAG_RENAME); + me->SetUnitFlag(UNIT_FLAG_RENAME); if (Creature* controller = instance->GetCreature(DATA_THORIM_CONTROLLER)) controller->RemoveAllAuras(); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index c52bc7c6f8f..94e3493c504 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -347,7 +347,7 @@ struct boss_xt002 : public BossAI break; case EVENT_SUBMERGE: DoCastSelf(SPELL_SUBMERGE); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); Talk(EMOTE_HEART_OPENED); if (Creature* heart = instance->GetCreature(DATA_XT002_HEART)) heart->AI()->DoAction(ACTION_START_PHASE_HEART); @@ -411,12 +411,12 @@ struct npc_xt002_heart : public NullCreatureAI DoCast(xt002, SPELL_RIDE_VEHICLE_EXPOSED, true); DoCastSelf(SPELL_HEART_OVERLOAD); me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); - me->AddUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); + me->SetUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); } else if (action == ACTION_DISPOSE_HEART) { DoCast(xt002, SPELL_HEART_RIDE_VEHICLE, true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->RemoveUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp index de682157d74..849f6ce7533 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp @@ -1074,7 +1074,7 @@ class boss_brain_of_yogg_saron : public CreatureScript DoCastAOE(SPELL_SHATTERED_ILLUSION_REMOVE, true); DoCast(me, SPELL_MATCH_HEALTH_2, true); // it doesn't seem to hit Yogg-Saron here DoCast(me, SPELL_BRAIN_HURT_VISUAL, true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(true); if (Creature* voice = _instance->GetCreature(DATA_VOICE_OF_YOGG_SARON)) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 88cbf008fe8..74e3098192c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -516,7 +516,7 @@ class instance_ulduar : public InstanceMapScript case GO_CELESTIAL_PLANETARIUM_ACCESS_10: case GO_CELESTIAL_PLANETARIUM_ACCESS_25: if (_algalonSummoned) - gameObject->AddFlag(GO_FLAG_IN_USE); + gameObject->SetFlag(GO_FLAG_IN_USE); break; case GO_DOODAD_UL_SIGILDOOR_01: case GO_DOODAD_UL_SIGILDOOR_02: @@ -1036,7 +1036,7 @@ class instance_ulduar : public InstanceMapScript if (Vehicle* vehicle = vehicleCreature->GetVehicleKit()) { vehicle->RemoveAllPassengers(); - vehicleCreature->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + vehicleCreature->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); vehicleCreature->DespawnOrUnsummon(5min); } } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp index c5bea5c569f..1314a0c5e05 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp @@ -107,7 +107,7 @@ struct boss_ingvar_the_plunderer : public BossAI { if (me->GetEntry() != NPC_INGVAR) me->UpdateEntry(NPC_INGVAR); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(false); _Reset(); @@ -124,7 +124,7 @@ struct boss_ingvar_the_plunderer : public BossAI me->StopMoving(); DoCast(me, SPELL_INGVAR_FEIGN_DEATH, true); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(true, true); Talk(SAY_DEATH); @@ -222,7 +222,7 @@ struct boss_ingvar_the_plunderer : public BossAI events.ScheduleEvent(EVENT_SMASH, 12s, 16s, 0, PHASE_HUMAN); break; case EVENT_JUST_TRANSFORMED: - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(false); ScheduleSecondPhase(); Talk(SAY_AGGRO); diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp index 4d419a6d617..4794101ae14 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp @@ -243,7 +243,7 @@ struct npc_vrykul_skeleton : public ScriptedAI if (!me->HasUnitFlag(UNIT_FLAG_UNINTERACTIBLE)) { // from sniffs - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetStandState(UNIT_STAND_STATE_DEAD); events.Reset(); diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp index 68815a63b75..995b690d721 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp @@ -512,7 +512,7 @@ struct go_palehoof_sphere : public GameObjectAI { if (palehoof->IsAlive() && instance->GetBossState(DATA_GORTOK_PALEHOOF) != DONE) { - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); me->SetGoState(GO_STATE_ACTIVE); palehoof->AI()->DoAction(ACTION_START_ENCOUNTER); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp index 6fb669d149e..84a20182e5b 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp @@ -226,7 +226,7 @@ struct boss_skadi : public BossAI { case ACTION_START_ENCOUNTER: instance->SetBossState(DATA_SKADI_THE_RUTHLESS, IN_PROGRESS); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->setActive(true); SpawnFirstWave(); Talk(SAY_AGGRO); diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp index 7ccf2abe096..b8d9fce5e4b 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp @@ -158,7 +158,7 @@ struct boss_svala : public BossAI else { events.SetPhase(IDLE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } me->SetDisableGravity(false); @@ -189,14 +189,14 @@ struct boss_svala : public BossAI if (events.IsInPhase(IDLE) && me->IsValidAttackTarget(who) && me->IsWithinDistInMap(who, 40)) { events.SetPhase(INTRO); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); if (GameObject* mirror = instance->GetGameObject(DATA_UTGARDE_MIRROR)) mirror->SetGoState(GO_STATE_READY); if (Creature* arthas = me->SummonCreature(NPC_ARTHAS, ArthasPos, TEMPSUMMON_MANUAL_DESPAWN)) { - arthas->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + arthas->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); _arthasGUID = arthas->GetGUID(); } events.ScheduleEvent(EVENT_INTRO_SVALA_TALK_0, 1s, 0, INTRO); @@ -290,7 +290,7 @@ struct boss_svala : public BossAI } me->RemoveAllAuras(); me->UpdateEntry(NPC_SVALA_SORROWGRAVE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); events.ScheduleEvent(EVENT_INTRO_SVALA_TALK_1, 2s, 0, INTRO); break; case EVENT_INTRO_SVALA_TALK_1: diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp index c2304c9ab50..6e076395241 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp @@ -169,7 +169,7 @@ struct boss_ymiron : public BossAI { DoCast(ancestor, SPELL_CHANNEL_YMIRON_TO_SPIRIT); ancestor->CastSpell(me, SPELL_CHANNEL_SPIRIT_TO_YMIRON, true); - ancestor->AddUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE)); + ancestor->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_UNINTERACTIBLE); ancestor->SetDisableGravity(true); ActiveAncestorGUID = ancestor->GetGUID(); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp index 3fed30c572b..7b6cc204e86 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp @@ -78,7 +78,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript if (go->GetEntry() == GO_GORTOK_PALEHOOF_SPHERE) if (GetBossState(DATA_GORTOK_PALEHOOF) == DONE) - go->AddFlag(GO_FLAG_NOT_SELECTABLE); + go->SetFlag(GO_FLAG_NOT_SELECTABLE); } void SetGuidData(uint32 type, ObjectGuid data) override diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp index 28cd185b940..546c43245b9 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp @@ -291,8 +291,8 @@ class spell_ichoron_drained : public AuraScript void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { - GetTarget()->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); - GetTarget()->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); + GetTarget()->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + GetTarget()->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); } void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 00b320ea571..8f1416766e9 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -434,7 +434,7 @@ class instance_violet_hold : public InstanceMapScript for (uint8 i = 0; i < ActivationCrystalCount; ++i) if (GameObject* crystal = instance->GetGameObject(ActivationCrystalGUIDs[i])) - crystal->AddFlag(GO_FLAG_NOT_SELECTABLE); + crystal->SetFlag(GO_FLAG_NOT_SELECTABLE); } else if (data == DONE) { @@ -448,7 +448,7 @@ class instance_violet_hold : public InstanceMapScript for (uint8 i = 0; i < ActivationCrystalCount; ++i) if (GameObject* crystal = instance->GetGameObject(ActivationCrystalGUIDs[i])) - crystal->AddFlag(GO_FLAG_NOT_SELECTABLE); + crystal->SetFlag(GO_FLAG_NOT_SELECTABLE); if (Creature* sinclari = GetCreature(DATA_SINCLARI)) sinclari->AI()->DoAction(ACTION_SINCLARI_OUTRO); diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index f74a455e74c..134da0dd127 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -369,7 +369,7 @@ struct npc_sinclari_vh : public ScriptedAI if (Creature* summon = me->SummonCreature(NPC_TELEPORTATION_PORTAL_INTRO, PortalIntroPositions[i], TEMPSUMMON_MANUAL_DESPAWN)) summon->AI()->SetData(DATA_PORTAL_LOCATION, i); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); std::list<Creature*> guardList; me->GetCreatureListWithEntryInGrid(guardList, NPC_VIOLET_HOLD_GUARD, 100.0f); @@ -502,7 +502,7 @@ struct npc_sinclari_vh : public ScriptedAI if (GameObject* mainDoor = _instance->GetGameObject(DATA_MAIN_DOOR)) { mainDoor->SetGoState(GO_STATE_READY); - mainDoor->AddFlag(GO_FLAG_LOCKED); + mainDoor->SetFlag(GO_FLAG_LOCKED); } task.Repeat(Seconds(5)); break; @@ -512,7 +512,7 @@ struct npc_sinclari_vh : public ScriptedAI break; case 9: // We should teleport inside if event is in progress with GOSSIP_MENU_SEND_ME_IN - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; default: break; @@ -529,7 +529,7 @@ struct npc_sinclari_vh : public ScriptedAI task.Schedule(Seconds(10), [this](TaskContext /*task*/) { - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); }); }); } diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 9a69cb7ce23..ec736e4a9b4 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -447,7 +447,7 @@ public: if (Creature* arthas = me->SummonCreature(NPC_IMAGE_LICH_KING, 3730.313f, 3518.689f, 473.324f, 1.562f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2min)) { arthasGUID = arthas->GetGUID(); - arthas->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + arthas->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); arthas->SetReactState(REACT_PASSIVE); arthas->SetWalk(true); arthas->GetMotionMaster()->MovePoint(0, 3737.374756f, 3564.841309f, 477.433014f); @@ -504,7 +504,7 @@ public: { talbot->UpdateEntry(NPC_PRINCE_VALANAR); talbot->SetFaction(FACTION_MONSTER); - talbot->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + talbot->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); talbot->SetReactState(REACT_PASSIVE); } phaseTimer = 5000; @@ -544,7 +544,7 @@ public: leryssaGUID = leryssa->GetGUID(); leryssa->SetWalk(false); leryssa->SetReactState(REACT_PASSIVE); - leryssa->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + leryssa->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); leryssa->GetMotionMaster()->MovePoint(0, 3741.969971f, 3571.439941f, 477.441010f); } phaseTimer = 2000; @@ -620,7 +620,7 @@ public: break; case 16: - me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); phaseTimer = 20000; ++phase; break; @@ -1433,7 +1433,7 @@ public: { Initialize(); uiEmoteState = creature->GetEmoteState(); - uiNpcFlags = NPCFlags(creature->m_unitData->NpcFlags[0]); + uiNpcFlags = creature->GetNpcFlags(); } void Initialize() diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index e1833da856e..d8113c04d2e 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -540,7 +540,7 @@ class npc_wyrmrest_defender : public CreatureScript case SPELL_WYRMREST_DEFENDER_MOUNT: Talk(WHISPER_MOUNTED, me->GetCharmerOrOwner()); me->SetImmuneToAll(false); - me->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + me->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); break; // Both below are for checking low hp warning case SPELL_DEFENDER_ON_LOW_HEALTH_EMOTE: diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index d9fd7f10819..053f31dbc78 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -372,7 +372,7 @@ public: { me->SetStandState(UNIT_STAND_STATE_DEAD); me->SetImmuneToPC(true); - me->AddDynamicFlag(UNIT_DYNFLAG_DEAD); + me->SetDynamicFlag(UNIT_DYNFLAG_DEAD); } _phase = 0; } @@ -626,7 +626,7 @@ public: { if (spellInfo->Id == SPELL_SMOKE_BOMB && caster->GetTypeId() == TYPEID_PLAYER) { - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToPC(true); me->SetReactState(REACT_PASSIVE); me->CombatStop(false); @@ -726,7 +726,7 @@ public: _events.ScheduleEvent(EVENT_LAKEFROG_3, 3s); break; case EVENT_LAKEFROG_3: - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); _events.ScheduleEvent(EVENT_LAKEFROG_4, 25s); break; case EVENT_LAKEFROG_4: diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index f03923a39a1..9fefd7b1135 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -370,7 +370,7 @@ public: case EVENT_SCRIPT_1: if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID)) Talk(SAY_BRANN_1, player); - me->RemoveUnitFlag(UnitFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); if (Creature* voice = me->SummonCreature(NPC_A_DISTANT_VOICE, 7863.43f, -1396.585f, 1538.076f, 2.949606f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 49s)) voiceGUID = voice->GetGUID(); events.ScheduleEvent(EVENT_SCRIPT_2, 4s); @@ -848,7 +848,7 @@ public: playerGUID = who->GetGUID(); Talk(SAY_HOLD_ON, who); me->CastSpell(who, SPELL_JOKKUM_KILL_CREDIT, true); - me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); + me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC); me->GetMotionMaster()->MovePath(PATH_JOKKUM, false); } } diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp index bf9f0978261..05d99238f75 100644 --- a/src/server/scripts/Northrend/zone_zuldrak.cpp +++ b/src/server/scripts/Northrend/zone_zuldrak.cpp @@ -56,7 +56,7 @@ public: void Reset() override { _rageclawGUID.Clear(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); float x, y, z; me->GetClosePoint(x, y, z, me->GetCombatReach() / 3, 0.1f); @@ -234,7 +234,7 @@ public: void Reset() override { - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetEmoteState(EMOTE_STATE_COWER); Initialize(); } diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp index 55c78d1826d..9071bd0f238 100644 --- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp +++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp @@ -403,7 +403,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO nodes[0] = FlightPathStartNodes[NA_ROOST_N]; nodes[1] = FlightPathEndNodes[NA_ROOST_N]; player->ActivateTaxiPathTo(nodes); - player->AddPlayerFlag(PLAYER_FLAGS_IN_PVP); + player->SetPlayerFlag(PLAYER_FLAGS_IN_PVP); player->UpdatePvP(true, true); retval = true; break; @@ -411,7 +411,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO nodes[0] = FlightPathStartNodes[NA_ROOST_S]; nodes[1] = FlightPathEndNodes[NA_ROOST_S]; player->ActivateTaxiPathTo(nodes); - player->AddPlayerFlag(PLAYER_FLAGS_IN_PVP); + player->SetPlayerFlag(PLAYER_FLAGS_IN_PVP); player->UpdatePvP(true, true); retval = true; break; @@ -419,7 +419,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO nodes[0] = FlightPathStartNodes[NA_ROOST_W]; nodes[1] = FlightPathEndNodes[NA_ROOST_W]; player->ActivateTaxiPathTo(nodes); - player->AddPlayerFlag(PLAYER_FLAGS_IN_PVP); + player->SetPlayerFlag(PLAYER_FLAGS_IN_PVP); player->UpdatePvP(true, true); retval = true; break; @@ -427,7 +427,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO nodes[0] = FlightPathStartNodes[NA_ROOST_E]; nodes[1] = FlightPathEndNodes[NA_ROOST_E]; player->ActivateTaxiPathTo(nodes); - player->AddPlayerFlag(PLAYER_FLAGS_IN_PVP); + player->SetPlayerFlag(PLAYER_FLAGS_IN_PVP); player->UpdatePvP(true, true); retval = true; break; diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp index 435167bba65..bd892c3aca5 100644 --- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp +++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp @@ -73,7 +73,7 @@ class instance_sethekk_halls : public InstanceMapScript /// gameobject should have GO_DYNFLAG_LO_ACTIVATE too, which makes gobs interactable with GO_FLAG_INTERACT_COND /// so just removed GO_FLAG_INTERACT_COND if (GameObject* coffer = GetGameObject(DATA_TALON_KING_COFFER)) - coffer->RemoveFlag(GameObjectFlags(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE)); + coffer->RemoveFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE); } break; default: diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 099db7feb62..0c6eff835d8 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -595,7 +595,7 @@ struct boss_illidan_stormrage : public BossAI { me->SetReactState(REACT_PASSIVE); me->AttackStop(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); me->SetDisableGravity(true); DoPlaySoundToSet(me, ILLIDAN_TAKEOFF_SOUND_ID); @@ -625,7 +625,7 @@ struct boss_illidan_stormrage : public BossAI summons.DoAction(ACTION_START_PHASE_4, EntryCheckPredicate(NPC_PARASITIC_SHADOWFIEND)); me->SetReactState(REACT_PASSIVE); me->AttackStop(); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); events.ScheduleEvent(EVENT_SHADOW_PRISON_TEXT, Milliseconds(500), GROUP_PHASE_ALL); break; case ACTION_ILLIDAN_CAGED: @@ -638,7 +638,7 @@ struct boss_illidan_stormrage : public BossAI events.Reset(); specialEvents.Reset(); DoCastSelf(SPELL_DEATH, true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); events.ScheduleEvent(EVENT_DEFEATED_TEXT, 4s); break; default: @@ -1165,7 +1165,7 @@ struct npc_akama_illidan : public ScriptedAI { case POINT_ILLIDARI_COUNCIL: Talk(SAY_AKAMA_FINISH); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case POINT_STAIRS: ChangeOrientation(6.265732f); @@ -1174,7 +1174,7 @@ struct npc_akama_illidan : public ScriptedAI case POINT_ILLIDAN_ROOM: ChangeOrientation(2.129302f); Talk(SAY_AKAMA_BETRAYER); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case POINT_FACE_ILLIDAN: ChangeOrientation(3.140537f); @@ -2305,7 +2305,7 @@ class spell_maiev_down : public AuraScript void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { - GetTarget()->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + GetTarget()->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index aecac5a6216..92d577f4d6d 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -216,7 +216,7 @@ struct boss_shade_of_akama : public BossAI _Reset(); Initialize(); me->SetImmuneToPC(true); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetEmoteState(EMOTE_STATE_STUN); me->SetWalk(true); events.ScheduleEvent(EVENT_INITIALIZE_SPAWNERS, 1s); @@ -370,7 +370,7 @@ struct npc_akama_shade : public ScriptedAI DoCastSelf(SPELL_STEALTH); if (_instance->GetBossState(DATA_SHADE_OF_AKAMA) != DONE) - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } void JustSummoned(Creature* summon) override @@ -574,7 +574,7 @@ struct npc_ashtongue_channeler : public PassiveAI channel.Repeat(Seconds(2)); }); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp index f19919f2b3c..cccd2184da3 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp @@ -150,7 +150,7 @@ public: Intro = false; JustCreated = true; CanAttack = false; - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); // set it only once on Creature create (no need do intro if wiped) + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); // set it only once on Creature create (no need do intro if wiped) } void Initialize() 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 a17bf98c310..5afdb989f40 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -154,7 +154,7 @@ public: instance->SetData(DATA_STRANGE_POOL, NOT_STARTED); DoCast(me, SPELL_SUBMERGE); // submerge anim me->SetVisible(false); // we start invis under water, submerged - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(true); } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp index a4f66b1175c..cb5504f4345 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp @@ -65,8 +65,8 @@ public: void Reset() override { - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); //hack, due to really weird spell behaviour :( if (instance->GetData(DATA_DISTILLER) == IN_PROGRESS) diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp index 45c432f59ca..a37f0753a4c 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp @@ -32,7 +32,7 @@ struct go_main_chambers_access_panel : public GameObjectAI if (Creature* controller = _instance->GetCreature(DATA_DOOR_CONTROLLER)) controller->AI()->Talk(CONTROLLER_TEXT_ACESS_USED); _instance->SetData(ACTION_OPEN_DOOR, 0); - me->AddFlag(GO_FLAG_NOT_SELECTABLE); + me->SetFlag(GO_FLAG_NOT_SELECTABLE); me->SetGoState(GO_STATE_ACTIVE); return true; } @@ -90,7 +90,7 @@ class instance_steam_vault : public InstanceMapScript if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR)) { HandleGameObject(ObjectGuid::Empty, true, mainDoor); - mainDoor->AddFlag(GO_FLAG_NOT_SELECTABLE); + mainDoor->SetFlag(GO_FLAG_NOT_SELECTABLE); } } } diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp index 7a00a469cf5..5b615482919 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp @@ -311,7 +311,7 @@ struct npc_frozen_core : public ScriptedAI { _events.Reset(); DoCastSelf(SPELL_ICE_SPEAR_CONTROL_AURA); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetImmuneToPC(true); } } diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp index 497415ee0a5..ada0e3ce66f 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp @@ -126,12 +126,12 @@ class boss_broggok : public CreatureScript break; case ACTION_RESET_BROGGOK: me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); summons.DespawnAll(); instance->SetBossState(DATA_BROGGOK, NOT_STARTED); if (GameObject * lever = instance->GetGameObject(DATA_BROGGOK_LEVER)) { - lever->RemoveFlag(GameObjectFlags(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE)); + lever->RemoveFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE); lever->SetGoState(GO_STATE_READY); } break; @@ -260,7 +260,7 @@ class go_broggok_lever : public GameObjectScript broggok->AI()->DoAction(ACTION_PREPARE_BROGGOK); } - me->AddFlag(GameObjectFlags(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE)); + me->SetFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE); me->SetGoState(GO_STATE_ACTIVE); return true; diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp index 974765b8f7e..5cd96d0a79b 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp @@ -94,7 +94,7 @@ class boss_kelidan_the_breaker : public CreatureScript Initialize(); SummonChannelers(); me->SetReactState(REACT_PASSIVE); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToAll(true); } diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp index 39e94936bf0..25fe0fb89ae 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -228,7 +228,7 @@ class instance_blood_furnace : public InstanceMapScript { if (!prisoner->IsAlive()) prisoner->Respawn(true); - prisoner->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + prisoner->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); prisoner->SetImmuneToAll(true); if (prisoner->IsAIEnabled()) prisoner->AI()->EnterEvadeMode(); diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp index 40dc9a58e6d..c6983a0f63f 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp @@ -107,7 +107,7 @@ class instance_magtheridons_lair : public InstanceMapScript if (value == ACTION_ENABLE) cube->RemoveFlag(GO_FLAG_NOT_SELECTABLE); else - cube->AddFlag(GO_FLAG_NOT_SELECTABLE); + cube->SetFlag(GO_FLAG_NOT_SELECTABLE); } break; case DATA_COLLAPSE: diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp index d8eb1573989..24529fbef8a 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp @@ -110,7 +110,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript void Reset() override { _Reset(); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); Initialize(); } diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index 50d1b152a22..bc6cb55ffe0 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -201,7 +201,7 @@ struct boss_alar : public BossAI me->SetHealth(0); me->InterruptNonMeleeSpells(true); me->RemoveAllAuras(); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->AttackStop(); me->SetTarget(ObjectGuid::Empty); me->SetSpeedRate(MOVE_RUN, 5.0f); @@ -411,7 +411,7 @@ struct boss_alar : public BossAI { me->AttackStop(); me->GetMotionMaster()->MovePoint(6, waypoint[4][0], waypoint[4][1], waypoint[4][2]); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetBoundingRadius(50); WaitEvent = WE_METEOR; WaitTimer = 0; @@ -428,7 +428,7 @@ struct boss_alar : public BossAI Creature* Summoned = me->SummonCreature(CREATURE_FLAME_PATCH_ALAR, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 2min); if (Summoned) { - Summoned->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + Summoned->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); Summoned->SetObjectScale(Summoned->GetObjectScale() * 2.5f); Summoned->SetDisplayId(11686); Summoned->SetFaction(me->GetFaction()); @@ -507,7 +507,7 @@ struct npc_ember_of_alar : public ScriptedAI damage = 0; DoCast(me, SPELL_EMBER_BLAST, true); me->SetDisplayId(11686); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); if (instance->GetBossState(DATA_ALAR) == IN_PROGRESS) { if (Unit* Alar = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_ALAR))) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index 47f8ddd7493..31a73111749 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -206,7 +206,7 @@ struct boss_high_astromancer_solarian : public BossAI AppearDelay = false; if (Phase == 2) { - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetVisible(false); } AppearDelay_Timer = 2s; @@ -309,7 +309,7 @@ struct boss_high_astromancer_solarian : public BossAI { if (Creature* Summoned = me->SummonCreature(NPC_ASTROMANCER_SOLARIAN_SPOTLIGHT, Portals[i][0], Portals[i][1], Portals[i][2], CENTER_O, TEMPSUMMON_TIMED_DESPAWN, Phase2_Timer + Phase3_Timer + AppearDelay_Timer + 1700ms)) { - Summoned->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + Summoned->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); Summoned->CastSpell(Summoned, SPELL_SPOTLIGHT, false); } } diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 81e2624aad4..3efe09c3af3 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -382,7 +382,7 @@ struct boss_kaelthas : public BossAI { case ACTION_START_ENCOUNTER: Talk(SAY_INTRO); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); _advisorGuid[ADVISOR_THALADRED] = instance->GetGuidData(DATA_THALADRED); _advisorGuid[ADVISOR_SANGUINAR] = instance->GetGuidData(DATA_SANGUINAR); @@ -399,7 +399,7 @@ struct boss_kaelthas : public BossAI if (Creature* creature = ObjectAccessor::GetCreature(*me, _advisorGuid[i])) { creature->Respawn(true); - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); creature->AI()->EnterEvadeMode(); } } @@ -501,7 +501,7 @@ struct boss_kaelthas : public BossAI case POINT_TRANSITION_CENTER_ASCENDING: me->SetFacingTo(float(M_PI)); Talk(SAY_PHASE5_NUTS); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->SetDisableGravity(true); //me->SetHover(true); -- Set in sniffs, but breaks his visual. events.ScheduleEvent(EVENT_TRANSITION_2, 2s); @@ -574,7 +574,7 @@ struct boss_kaelthas : public BossAI switch (eventId) { case EVENT_START_ENCOUNTER: - me->AddUnitFlag(UNIT_FLAG_PACIFIED); + me->SetUnitFlag(UNIT_FLAG_PACIFIED); DoAction(ACTION_ACTIVE_ADVISOR); break; case EVENT_ACTIVE_ADVISOR: @@ -602,7 +602,7 @@ struct boss_kaelthas : public BossAI // Sometimes people can collect Aggro in Phase 1-3. Reset threat before releasing Kael. ResetThreatList(); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PACIFIED)); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PACIFIED); if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) AttackStart(target); @@ -778,8 +778,8 @@ struct advisorbase_ai : public ScriptedAI Initialize(); me->SetStandState(UNIT_STAND_STATE_STAND); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED)); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED); //reset encounter if (instance->GetBossState(DATA_KAELTHAS) == IN_PROGRESS) @@ -808,7 +808,7 @@ struct advisorbase_ai : public ScriptedAI if (spellInfo->Id == SPELL_RESSURECTION) { _hasRessurrected = true; - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED)); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED); me->SetStandState(UNIT_STAND_STATE_STAND); events.ScheduleEvent(EVENT_DELAYED_RESSURECTION, 2s); } @@ -829,7 +829,7 @@ struct advisorbase_ai : public ScriptedAI me->ModifyAuraState(AURA_STATE_WOUNDED_25_PERCENT, false); me->ModifyAuraState(AURA_STATE_WOUNDED_35_PERCENT, false); me->ModifyAuraState(AURA_STATE_WOUND_HEALTH_20_80, false); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_STUNNED); me->SetTarget(ObjectGuid::Empty); me->SetStandState(UNIT_STAND_STATE_DEAD); me->GetMotionMaster()->Clear(); diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp index 3ba6c1685fc..765d655a6c9 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp @@ -289,7 +289,7 @@ struct npc_warden_mellichar : public ScriptedAI { Initialize(); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); DoCast(me, SPELL_TARGET_OMEGA); instance->SetBossState(DATA_HARBINGER_SKYRISS, NOT_STARTED); diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp index 2316974c8b0..df75ec83c98 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp @@ -274,7 +274,7 @@ struct boss_harbinger_skyriss_illusion : public ScriptedAI void Reset() override { me->SetImmuneToPC(false); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); } void JustEngagedWith(Unit* /*who*/) override { } diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 7cb77faa1bb..6699be7a7d1 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -150,7 +150,7 @@ public: if (entry_list[cid] == ENTRY_NIHIL) { EnterEvadeMode(); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); IsNihil = true; } else @@ -184,7 +184,7 @@ public: ++NihilSpeech_Phase; break; case 4: - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); //take off to location above me->GetMotionMaster()->MovePoint(0, me->GetPositionX()+50.0f, me->GetPositionY(), me->GetPositionZ()+50.0f); ++NihilSpeech_Phase; @@ -593,7 +593,7 @@ class npc_simon_bunny : public CreatureScript _events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2s); if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance)) - relic->AddFlag(GO_FLAG_NOT_SELECTABLE); + relic->SetFlag(GO_FLAG_NOT_SELECTABLE); } // Called when despawning the bunny. Sets all the node GOs to their default states. @@ -603,7 +603,7 @@ class npc_simon_bunny : public CreatureScript for (uint32 clusterId = SIMON_BLUE; clusterId < SIMON_MAX_COLORS; clusterId++) if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], searchDistance)) - cluster->AddFlag(GO_FLAG_NOT_SELECTABLE); + cluster->SetFlag(GO_FLAG_NOT_SELECTABLE); for (uint32 auraId = GO_AURA_BLUE; auraId <= GO_AURA_YELLOW; auraId++) if (GameObject* auraGo = me->FindNearestGameObject(auraId, searchDistance)) @@ -707,7 +707,7 @@ class npc_simon_bunny : public CreatureScript { if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], 2.0f*searchDistance)) { - cluster->AddFlag(GO_FLAG_NOT_SELECTABLE); + cluster->SetFlag(GO_FLAG_NOT_SELECTABLE); // break since we don't need glowing auras for large clusters if (large) diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp index 2f5291af8e0..8f4b432c8c1 100644 --- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp +++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp @@ -271,7 +271,7 @@ public: playerGUID.Clear(); me->RemoveUnitFlag(UNIT_FLAG_PACIFIED); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } bool OnGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override @@ -304,7 +304,7 @@ public: me->GetMotionMaster()->MovePoint(0, exorcismPos[1]); Talk(SAY_BARADA_2); - me->AddUnitFlag(UNIT_FLAG_PACIFIED); + me->SetUnitFlag(UNIT_FLAG_PACIFIED); } } @@ -549,7 +549,7 @@ public: { me->RestoreFaction(); me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); - me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetImmuneToPC(true); } @@ -564,7 +564,7 @@ public: me->RemoveAllAuras(); me->CombatStop(true); EngagementOver(); - me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetImmuneToPC(true); Talk(SAY_DEFEATED); diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index 4284e41ce6e..5b13b473208 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -781,7 +781,7 @@ public: Initialize(); me->AddUnitState(UNIT_STATE_ROOT); - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetTarget(ObjectGuid::Empty); } diff --git a/src/server/scripts/Pet/pet_dk.cpp b/src/server/scripts/Pet/pet_dk.cpp index de738187eb9..55f7fb6d139 100644 --- a/src/server/scripts/Pet/pet_dk.cpp +++ b/src/server/scripts/Pet/pet_dk.cpp @@ -78,7 +78,7 @@ struct npc_pet_dk_ebon_gargoyle : CasterAI return; // Stop Fighting - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); // Sanctuary me->CastSpell(me, SPELL_DK_SANCTUARY, true); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 6b3f0edac58..4118b0d7608 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1533,9 +1533,9 @@ class spell_gen_feign_death_all_flags : public AuraScript void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); - target->AddDynamicFlag( UNIT_DYNFLAG_DEAD); - target->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); - target->AddUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); + target->SetDynamicFlag( UNIT_DYNFLAG_DEAD); + target->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); + target->SetUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); if (Creature* creature = target->ToCreature()) creature->SetReactState(REACT_PASSIVE); @@ -1568,8 +1568,8 @@ class spell_gen_feign_death_no_dyn_flag : public AuraScript void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); - target->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); - target->AddUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); + target->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); + target->SetUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); if (Creature* creature = target->ToCreature()) creature->SetReactState(REACT_PASSIVE); @@ -1600,8 +1600,8 @@ class spell_gen_feign_death_no_prevent_emotes : public AuraScript void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); - target->AddDynamicFlag(UNIT_DYNFLAG_DEAD); - target->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); + target->SetDynamicFlag(UNIT_DYNFLAG_DEAD); + target->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); if (Creature* creature = target->ToCreature()) creature->SetReactState(REACT_PASSIVE); @@ -2499,7 +2499,7 @@ class spell_gen_prevent_emotes : public AuraScript void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); - target->AddUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); + target->SetUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); } void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) @@ -3784,7 +3784,7 @@ class spell_gen_gm_freeze : public AuraScript player->CombatStop(); if (player->IsNonMeleeSpellCast(true)) player->InterruptNonMeleeSpells(true); - player->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + player->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); // if player class = hunter || warlock remove pet if alive if ((player->GetClass() == CLASS_HUNTER) || (player->GetClass() == CLASS_WARLOCK)) diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index e4d2b639cbb..485c8acb2df 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -1258,8 +1258,8 @@ class spell_q13264_q13276_q13288_q13289_bloated_abom_feign_death : public AuraSc void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); - target->AddDynamicFlag(UNIT_DYNFLAG_DEAD); - target->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); + target->SetDynamicFlag(UNIT_DYNFLAG_DEAD); + target->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); if (Creature* creature = target->ToCreature()) creature->SetReactState(REACT_PASSIVE); diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp index 113346f6eae..8131f134dca 100644 --- a/src/server/scripts/World/boss_emerald_dragons.cpp +++ b/src/server/scripts/World/boss_emerald_dragons.cpp @@ -95,7 +95,7 @@ struct emerald_dragonAI : public WorldBossAI void Reset() override { WorldBossAI::Reset(); - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); me->SetReactState(REACT_AGGRESSIVE); DoCast(me, SPELL_MARK_OF_NATURE_AURA, true); events.ScheduleEvent(EVENT_TAIL_SWEEP, 4s); @@ -633,7 +633,7 @@ class boss_taerar : public CreatureScript _shades += count; DoCast(SPELL_SHADE); - me->AddUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); me->SetReactState(REACT_PASSIVE); ++_stage; @@ -670,7 +670,7 @@ class boss_taerar : public CreatureScript { _banished = false; - me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE)); + me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); me->RemoveAurasDueToSpell(SPELL_SHADE); me->SetReactState(REACT_AGGRESSIVE); } diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 69a06bbb433..e4c5af9010f 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -261,7 +261,7 @@ public: case TEXT_EMOTE_CHICKEN: if (player->GetQuestStatus(QUEST_CLUCK) == QUEST_STATUS_NONE && rand32() % 30 == 1) { - me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetFaction(FACTION_FRIENDLY); Talk(player->GetTeam() == HORDE ? EMOTE_HELLO_H : EMOTE_HELLO_A); } @@ -269,7 +269,7 @@ public: case TEXT_EMOTE_CHEER: if (player->GetQuestStatus(QUEST_CLUCK) == QUEST_STATUS_COMPLETE) { - me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetFaction(FACTION_FRIENDLY); Talk(EMOTE_CLUCK_TEXT); } @@ -661,7 +661,7 @@ public: } Event = true; - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } void PatientDied(Position const* point) @@ -772,7 +772,7 @@ public: me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); //no regen health - me->AddUnitFlag(UNIT_FLAG_IN_COMBAT); + me->SetUnitFlag(UNIT_FLAG_IN_COMBAT); //to make them lay with face down me->SetStandState(UNIT_STAND_STATE_DEAD); @@ -810,7 +810,7 @@ public: ENSURE_AI(npc_doctor::npc_doctorAI, doctor->AI())->PatientSaved(me, player, Coord); //make uninteractible - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); //regen health me->RemoveUnitFlag(UNIT_FLAG_IN_COMBAT); @@ -847,9 +847,9 @@ public: if (me->IsAlive() && me->GetHealth() <= 6) { me->RemoveUnitFlag(UNIT_FLAG_IN_COMBAT); - me->AddUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); me->setDeathState(JUST_DIED); - me->AddDynamicFlag(UNIT_DYNFLAG_DEAD); + me->SetDynamicFlag(UNIT_DYNFLAG_DEAD); if (!DoctorGUID.IsEmpty()) if (Creature* doctor = ObjectAccessor::GetCreature((*me), DoctorGUID)) @@ -900,7 +900,7 @@ void npc_doctor::npc_doctorAI::UpdateAI(uint32 diff) if (Creature* Patient = me->SummonCreature(patientEntry, **point, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s)) { //303, this flag appear to be required for client side item->spell to work (TARGET_SINGLE_FRIEND) - Patient->AddUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); + Patient->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED); Patients.push_back(Patient->GetGUID()); ENSURE_AI(npc_injured_patient::npc_injured_patientAI, Patient->AI())->DoctorGUID = me->GetGUID(); @@ -1106,7 +1106,7 @@ public: void Reset() override { - me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } void JustEngagedWith(Unit* /*who*/) override @@ -1752,7 +1752,7 @@ public: player->RemovePlayerFlag(PLAYER_FLAGS_NO_XP_GAIN); // turn on XP gain break; case GOSSIP_ACTION_INFO_DEF + 2: // XP OFF selected - player->AddPlayerFlag(PLAYER_FLAGS_NO_XP_GAIN); // turn off XP gain + player->SetPlayerFlag(PLAYER_FLAGS_NO_XP_GAIN); // turn off XP gain break; } CloseGossipMenuFor(player); @@ -2128,8 +2128,8 @@ public: }) .Schedule(Seconds(1), [this](TaskContext context) { - if ((me->HasAura(SPELL_AURA_TIRED_S) || me->HasAura(SPELL_AURA_TIRED_G)) && me->HasNpcFlag(NPCFlags(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_MAILBOX | UNIT_NPC_FLAG_VENDOR))) - me->RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_MAILBOX | UNIT_NPC_FLAG_VENDOR)); + if ((me->HasAura(SPELL_AURA_TIRED_S) || me->HasAura(SPELL_AURA_TIRED_G)) && me->HasNpcFlag(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_MAILBOX | UNIT_NPC_FLAG_VENDOR)) + me->RemoveNpcFlag(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_MAILBOX | UNIT_NPC_FLAG_VENDOR); context.Repeat(); }); } @@ -2140,7 +2140,7 @@ public: { case GOSSIP_OPTION_BANK: { - me->AddNpcFlag(UNIT_NPC_FLAG_BANKER); + me->SetNpcFlag(UNIT_NPC_FLAG_BANKER); uint32 _bankAura = IsArgentSquire() ? SPELL_AURA_BANK_S : SPELL_AURA_BANK_G; if (!me->HasAura(_bankAura)) DoCastSelf(_bankAura); @@ -2151,7 +2151,7 @@ public: } case GOSSIP_OPTION_SHOP: { - me->AddNpcFlag(UNIT_NPC_FLAG_VENDOR); + me->SetNpcFlag(UNIT_NPC_FLAG_VENDOR); uint32 _shopAura = IsArgentSquire() ? SPELL_AURA_SHOP_S : SPELL_AURA_SHOP_G; if (!me->HasAura(_shopAura)) DoCastSelf(_shopAura); @@ -2162,7 +2162,7 @@ public: } case GOSSIP_OPTION_MAIL: { - me->AddNpcFlag(UNIT_NPC_FLAG_MAILBOX); + me->SetNpcFlag(UNIT_NPC_FLAG_MAILBOX); player->GetSession()->SendShowMailBox(me->GetGUID()); uint32 _mailAura = IsArgentSquire() ? SPELL_AURA_POSTMAN_S : SPELL_AURA_POSTMAN_G; |