From edb7cac19bb0acd2389c1c5a937b6a6d1b093028 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Tue, 5 Apr 2022 13:52:42 +0200 Subject: [PATCH] feat(Core/Unit): NPCFlags helpers (#11286) * cherry-pick commit (TrinityCore/TrinityCore@d611925) Co-Authored-By: Shauren --- src/server/game/AI/CreatureAISelector.cpp | 2 +- .../game/AI/ScriptedAI/ScriptedEscortAI.cpp | 2 +- .../game/AI/ScriptedAI/ScriptedFollowerAI.cpp | 2 +- src/server/game/AI/SmartScripts/SmartAI.cpp | 6 +-- .../game/AI/SmartScripts/SmartScript.cpp | 6 +-- .../game/Entities/Creature/Creature.cpp | 10 ++--- src/server/game/Entities/Pet/Pet.cpp | 4 +- src/server/game/Entities/Player/Player.cpp | 10 ++--- .../game/Entities/Player/PlayerGossip.cpp | 6 +-- .../game/Entities/Player/PlayerUpdates.cpp | 2 +- src/server/game/Entities/Unit/Unit.cpp | 2 +- src/server/game/Entities/Unit/Unit.h | 38 +++++++++++-------- src/server/game/Entities/Vehicle/Vehicle.cpp | 10 ++--- src/server/game/Events/GameEventMgr.cpp | 2 +- src/server/game/Handlers/NPCHandler.cpp | 4 +- src/server/game/Spells/SpellEffects.cpp | 2 +- src/server/scripts/Commands/cs_modify.cpp | 10 ++--- src/server/scripts/Commands/cs_npc.cpp | 4 +- .../BlackrockDepths/boss_tomb_of_seven.cpp | 6 +-- .../BlackwingLair/boss_nefarian.cpp | 4 +- .../BlackwingLair/boss_vaelastrasz.cpp | 6 +-- .../MoltenCore/boss_majordomo_executus.cpp | 6 +-- .../ScarletEnclave/chapter5.cpp | 6 +-- .../instance_scarlet_monastery.cpp | 2 +- .../ShadowfangKeep/boss_apothecary_hummel.cpp | 4 +- .../ZulAman/instance_zulaman.cpp | 2 +- .../EasternKingdoms/ZulAman/zulaman.cpp | 8 ++-- .../zone_eastern_plaguelands.cpp | 4 +- .../zone_isle_of_queldanas.cpp | 2 +- .../EasternKingdoms/zone_undercity.cpp | 8 ++-- .../scripts/EasternKingdoms/zone_westfall.cpp | 2 +- .../BattleForMountHyjal/hyjalAI.cpp | 10 ++--- .../culling_of_stratholme.cpp | 34 ++++++++--------- .../instance_old_hillsbrad.cpp | 2 +- .../EscapeFromDurnholdeKeep/old_hillsbrad.cpp | 16 ++++---- .../Kalimdor/RazorfenDowns/razorfen_downs.cpp | 4 +- .../scripts/Kalimdor/ZulFarrak/zulfarrak.cpp | 12 +++--- src/server/scripts/Kalimdor/boss_azuregos.cpp | 2 +- src/server/scripts/Kalimdor/zone_azshara.cpp | 2 +- src/server/scripts/Kalimdor/zone_desolace.cpp | 14 +++---- src/server/scripts/Kalimdor/zone_feralas.cpp | 4 +- .../scripts/Kalimdor/zone_orgrimmar.cpp | 4 +- src/server/scripts/Kalimdor/zone_silithus.cpp | 6 +-- .../Kalimdor/zone_thousand_needles.cpp | 14 +++---- .../boss_baltharus_the_warborn.cpp | 4 +- .../instance_trial_of_the_champion.cpp | 10 ++--- .../trial_of_the_champion.cpp | 6 +-- .../instance_trial_of_the_crusader.cpp | 26 ++++++------- .../trial_of_the_crusader.cpp | 8 ++-- .../ForgeOfSouls/forge_of_souls.cpp | 10 ++--- .../HallsOfReflection/halls_of_reflection.cpp | 16 ++++---- .../instance_halls_of_reflection.cpp | 14 +++---- .../FrozenHalls/PitOfSaron/pit_of_saron.cpp | 4 +- .../boss_deathbringer_saurfang.cpp | 8 ++-- .../boss_icecrown_gunship_battle.cpp | 8 ++-- .../IcecrownCitadel/boss_the_lich_king.cpp | 8 ++-- .../scripts/Northrend/Nexus/Oculus/oculus.cpp | 4 +- .../Ulduar/HallsOfStone/brann_bronzebeard.cpp | 18 ++++----- .../Ulduar/Ulduar/boss_flame_leviathan.cpp | 2 +- .../Northrend/Ulduar/Ulduar/ulduar.cpp | 4 +- .../scripts/Northrend/isle_of_conquest.cpp | 6 +-- .../scripts/Northrend/zone_borean_tundra.cpp | 22 +++++------ src/server/scripts/Northrend/zone_dalaran.cpp | 4 +- .../scripts/Northrend/zone_dragonblight.cpp | 2 +- .../scripts/Northrend/zone_grizzly_hills.cpp | 6 +-- .../scripts/Northrend/zone_icecrown.cpp | 8 ++-- src/server/scripts/Northrend/zone_zuldrak.cpp | 4 +- .../Outland/BlackTemple/boss_illidan.cpp | 8 ++-- .../BlackTemple/boss_shade_of_akama.cpp | 6 +-- .../Outland/TempestKeep/arcatraz/arcatraz.cpp | 2 +- .../Outland/zone_hellfire_peninsula.cpp | 4 +- .../scripts/Outland/zone_netherstorm.cpp | 16 ++++---- src/server/scripts/Pet/pet_generic.cpp | 12 +++--- .../scripts/World/npc_stave_of_ancients.cpp | 14 +++---- src/server/scripts/World/npcs_special.cpp | 8 ++-- 75 files changed, 293 insertions(+), 285 deletions(-) diff --git a/src/server/game/AI/CreatureAISelector.cpp b/src/server/game/AI/CreatureAISelector.cpp index 9cdb548ab..25d0037c4 100644 --- a/src/server/game/AI/CreatureAISelector.cpp +++ b/src/server/game/AI/CreatureAISelector.cpp @@ -53,7 +53,7 @@ namespace FactorySelector ai_factory = ai_registry.GetRegistryItem("VehicleAI"); else if (creature->HasUnitTypeMask(UNIT_MASK_CONTROLABLE_GUARDIAN) && ((Guardian*)creature)->GetOwner()->GetTypeId() == TYPEID_PLAYER) ai_factory = ai_registry.GetRegistryItem("PetAI"); - else if (creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK)) + else if (creature->HasNpcFlag(UNIT_NPC_FLAG_SPELLCLICK)) ai_factory = ai_registry.GetRegistryItem("NullCreatureAI"); else if (creature->IsGuard()) ai_factory = ai_registry.GetRegistryItem("GuardAI"); diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp index 35105512a..296947788 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp @@ -496,7 +496,7 @@ void npc_escortAI::Start(bool isActiveAttacker /* = true*/, bool run /* = false } //disable npcflags - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); if (me->HasUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC)) { HasImmuneToNPCFlags = true; diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp index 78df9b767..73ca312d8 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp @@ -293,7 +293,7 @@ void FollowerAI::StartFollow(Player* player, uint32 factionForFollower, const Qu LOG_DEBUG("scripts.ai", "FollowerAI start with WAYPOINT_MOTION_TYPE, set to MoveIdle."); } - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); AddFollowState(STATE_FOLLOW_INPROGRESS); diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index c46ec8299..0ebb8c6ad 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -199,8 +199,8 @@ void SmartAI::StartPath(bool run, uint32 path, bool repeat, Unit* invoker) if (invoker && invoker->GetTypeId() == TYPEID_PLAYER) { - mEscortNPCFlags = me->GetUInt32Value(UNIT_NPC_FLAGS); - me->SetUInt32Value(UNIT_NPC_FLAGS, 0); + mEscortNPCFlags = me->GetNpcFlags(); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); } Movement::PointsArray pathPoints; @@ -287,7 +287,7 @@ void SmartAI::EndPath(bool fail) if (mEscortNPCFlags) { - me->SetUInt32Value(UNIT_NPC_FLAGS, mEscortNPCFlags); + me->ReplaceAllNpcFlags(NPCFlags(mEscortNPCFlags)); mEscortNPCFlags = 0; } diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 0abc8898f..a3d06d286 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -2167,7 +2167,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsCreature(*itr)) - (*itr)->ToUnit()->SetUInt32Value(UNIT_NPC_FLAGS, e.action.flag.flag); + (*itr)->ToUnit()->ReplaceAllNpcFlags(NPCFlags(e.action.flag.flag)); delete targets; break; @@ -2180,7 +2180,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsCreature(*itr)) - (*itr)->ToUnit()->SetFlag(UNIT_NPC_FLAGS, e.action.flag.flag); + (*itr)->ToUnit()->SetNpcFlag(NPCFlags(e.action.flag.flag)); delete targets; break; @@ -2193,7 +2193,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsCreature(*itr)) - (*itr)->ToUnit()->RemoveFlag(UNIT_NPC_FLAGS, e.action.flag.flag); + (*itr)->ToUnit()->RemoveNpcFlag(NPCFlags(e.action.flag.flag)); delete targets; break; diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index edf6b96a6..4eb0a571f 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -492,9 +492,9 @@ bool Creature::UpdateEntry(uint32 Entry, const CreatureData* data, bool changele ObjectMgr::ChooseCreatureFlags(cInfo, npcflag, unit_flags, dynamicflags, data); if (cInfo->flags_extra & CREATURE_FLAG_EXTRA_WORLDEVENT) - SetUInt32Value(UNIT_NPC_FLAGS, npcflag | sGameEventMgr->GetNPCFlag(this)); + ReplaceAllNpcFlags(NPCFlags(npcflag | sGameEventMgr->GetNPCFlag(this))); else - SetUInt32Value(UNIT_NPC_FLAGS, npcflag); + ReplaceAllNpcFlags(NPCFlags(npcflag)); // Xinef: NPC is in combat, keep this flag! unit_flags &= ~UNIT_FLAG_IN_COMBAT; @@ -1301,7 +1301,7 @@ void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask) CreatureData& data = sObjectMgr->NewOrExistCreatureData(m_spawnId); uint32 displayId = GetNativeDisplayId(); - uint32 npcflag = GetUInt32Value(UNIT_NPC_FLAGS); + uint32 npcflag = GetNpcFlags(); uint32 unit_flags = GetUnitFlags(); uint32 dynamicflags = GetDynamicFlags(); @@ -1846,7 +1846,7 @@ void Creature::setDeathState(DeathState s, bool despawn) SaveRespawnTime(); SetTarget(); // remove target selection in any cases (can be set at aura remove in Unit::setDeathState) - SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); Dismount(); // if creature is mounted on a virtual mount, remove it at death @@ -1888,7 +1888,7 @@ void Creature::setDeathState(DeathState s, bool despawn) UpdateMovementFlags(); - SetUInt32Value(UNIT_NPC_FLAGS, cinfo->npcflag); + ReplaceAllNpcFlags(NPCFlags(cinfo->npcflag)); ClearUnitState(uint32(UNIT_STATE_ALL_STATE & ~(UNIT_STATE_IGNORE_PATHFINDING | UNIT_STATE_NO_ENVIRONMENT_UPD))); SetMeleeDamageSchool(SpellSchools(cinfo->dmgschool)); diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index e05984e05..bb92bee02 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -290,7 +290,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c SetNativeDisplayId(petInfo->DisplayId); UpdatePositionData(); uint8 petlevel = petInfo->Level; - SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); SetName(petInfo->Name); switch (getPetType()) @@ -991,7 +991,7 @@ bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map, uint32 phas SetUInt32Value(UNIT_FIELD_PET_NAME_TIMESTAMP, 0); SetUInt32Value(UNIT_FIELD_PETEXPERIENCE, 0); SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, uint32(sObjectMgr->GetXPForLevel(getLevel() + 1)* sWorld->getRate(RATE_XP_PET_NEXT_LEVEL))); - SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); if (cinfo->type == CREATURE_TYPE_BEAST) { diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 791cc371a..a3e77b584 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2062,7 +2062,7 @@ Creature* Player::GetNPCIfCanInteractWith(ObjectGuid guid, uint32 npcflagmask) return nullptr; // appropriate npc type - if (npcflagmask && !creature->HasFlag(UNIT_NPC_FLAGS, npcflagmask)) + if (npcflagmask && !creature->HasNpcFlag(NPCFlags(npcflagmask))) return nullptr; // not allow interaction under control, but allow with own pets @@ -7543,7 +7543,7 @@ void Player::SendQuestGiverStatusMultiple() Creature* questgiver = ObjectAccessor::GetCreatureOrPetOrVehicle(*this, *itr); if (!questgiver || questgiver->IsHostileTo(this)) continue; - if (!questgiver->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER)) + if (!questgiver->HasNpcFlag(UNIT_NPC_FLAG_QUESTGIVER)) continue; questStatus = GetQuestDialogStatus(questgiver); @@ -8826,7 +8826,7 @@ Pet* Player::SummonPet(uint32 entry, float x, float y, float z, float ang, PetTy pet->SetCreatorGUID(GetGUID()); pet->SetFaction(GetFaction()); pet->setPowerType(POWER_MANA); - pet->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + pet->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); pet->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); pet->InitStatsForLevel(getLevel()); @@ -13866,7 +13866,7 @@ bool Player::CanResummonPet(uint32 spellid) bool Player::CanSeeSpellClickOn(Creature const* c) const { - if (!c->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK)) + if (!c->HasNpcFlag(UNIT_NPC_FLAG_SPELLCLICK)) return false; SpellClickInfoMapBounds clickPair = sObjectMgr->GetSpellClickInfoMapBounds(c->GetEntry()); @@ -13889,7 +13889,7 @@ bool Player::CanSeeSpellClickOn(Creature const* c) const bool Player::CanSeeVendor(Creature const* creature) const { - if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_VENDOR)) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_VENDOR)) return true; ConditionList conditions = sConditionMgr->GetConditionsForNpcVendorEvent(creature->GetEntry(), 0); diff --git a/src/server/game/Entities/Player/PlayerGossip.cpp b/src/server/game/Entities/Player/PlayerGossip.cpp index ee20e38cd..ed1e45a1c 100644 --- a/src/server/game/Entities/Player/PlayerGossip.cpp +++ b/src/server/game/Entities/Player/PlayerGossip.cpp @@ -45,7 +45,7 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool if (source->GetTypeId() == TYPEID_UNIT) { - npcflags = source->GetUInt32Value(UNIT_NPC_FLAGS); + npcflags = source->ToUnit()->GetNpcFlags(); if (showQuests && npcflags & UNIT_NPC_FLAG_QUESTGIVER) PrepareQuestMenu(source->GetGUID()); } @@ -215,7 +215,7 @@ void Player::SendPreparedGossip(WorldObject* source) if (source->GetTypeId() == TYPEID_UNIT) { // in case no gossip flag and quest menu not empty, open quest menu (client expect gossip menu with this flag) - if (!source->ToCreature()->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) && !PlayerTalkClass->GetQuestMenu().Empty()) + if (!source->ToCreature()->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP) && !PlayerTalkClass->GetQuestMenu().Empty()) { SendPreparedQuest(source->GetGUID()); return; @@ -259,7 +259,7 @@ void Player::OnGossipSelect(WorldObject* source, uint32 gossipListId, uint32 men if (sWorld->getIntConfig(CONFIG_INSTANT_TAXI) == 2 && source->GetTypeId() == TYPEID_UNIT) { - if (gossipOptionId == GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT && source->GetUInt32Value(UNIT_NPC_FLAGS) & UNIT_NPC_FLAG_FLIGHTMASTER) + if (gossipOptionId == GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT && source->ToUnit()->GetNpcFlags() & UNIT_NPC_FLAG_FLIGHTMASTER) { ToggleInstantFlight(); diff --git a/src/server/game/Entities/Player/PlayerUpdates.cpp b/src/server/game/Entities/Player/PlayerUpdates.cpp index c7d74e889..a00e17238 100644 --- a/src/server/game/Entities/Player/PlayerUpdates.cpp +++ b/src/server/game/Entities/Player/PlayerUpdates.cpp @@ -1739,7 +1739,7 @@ void Player::UpdateForQuestWorldObjects() continue; // check if this unit requires quest specific flags - if (!obj->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK)) + if (!obj->HasNpcFlag(UNIT_NPC_FLAG_SPELLCLICK)) continue; SpellClickInfoMapBounds clickPair = sObjectMgr->GetSpellClickInfoMapBounds(obj->GetEntry()); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index fad2d4730..2278439f3 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -18183,7 +18183,7 @@ void Unit::RemoveVehicleKit() m_updateFlag &= ~UPDATEFLAG_VEHICLE; m_unitTypeMask &= ~UNIT_MASK_VEHICLE; - RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK | UNIT_NPC_FLAG_PLAYER_VEHICLE); + RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK | UNIT_NPC_FLAG_PLAYER_VEHICLE); } Unit* Unit::GetVehicleBase() const diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index ea608b1a7..4594adb1a 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -540,6 +540,8 @@ enum NPCFlags : uint32 UNIT_NPC_FLAG_VENDOR_MASK = UNIT_NPC_FLAG_VENDOR | UNIT_NPC_FLAG_VENDOR_AMMO | UNIT_NPC_FLAG_VENDOR_POISON | UNIT_NPC_FLAG_VENDOR_REAGENT }; +DEFINE_ENUM_FLAG(NPCFlags); + enum MovementFlags { MOVEMENTFLAG_NONE = 0x00000000, @@ -1606,20 +1608,26 @@ public: MeleeHitOutcome RollMeleeOutcomeAgainst (Unit const* victim, WeaponAttackType attType) const; MeleeHitOutcome RollMeleeOutcomeAgainst (Unit const* victim, WeaponAttackType attType, int32 crit_chance, int32 miss_chance, int32 dodge_chance, int32 parry_chance, int32 block_chance) const; - [[nodiscard]] bool IsVendor() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_VENDOR); } - [[nodiscard]] bool IsTrainer() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_TRAINER); } - [[nodiscard]] bool IsQuestGiver() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); } - [[nodiscard]] bool IsGossip() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); } - [[nodiscard]] bool IsTaxi() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_FLIGHTMASTER); } - [[nodiscard]] bool IsGuildMaster() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PETITIONER); } - [[nodiscard]] bool IsBattleMaster() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_BATTLEMASTER); } - [[nodiscard]] bool IsBanker() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_BANKER); } - [[nodiscard]] bool IsInnkeeper() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_INNKEEPER); } - [[nodiscard]] bool IsSpiritHealer() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPIRITHEALER); } - [[nodiscard]] bool IsSpiritGuide() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPIRITGUIDE); } - [[nodiscard]] bool IsTabardDesigner()const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_TABARDDESIGNER); } - [[nodiscard]] bool IsAuctioner() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_AUCTIONEER); } - [[nodiscard]] bool IsArmorer() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_REPAIR); } + NPCFlags GetNpcFlags() const { return NPCFlags(GetUInt32Value(UNIT_NPC_FLAGS)); } + bool HasNpcFlag(NPCFlags flags) const { return HasFlag(UNIT_NPC_FLAGS, flags) != 0; } + void SetNpcFlag(NPCFlags flags) { SetFlag(UNIT_NPC_FLAGS, flags); } + void RemoveNpcFlag(NPCFlags flags) { RemoveFlag(UNIT_NPC_FLAGS, flags); } + void ReplaceAllNpcFlags(NPCFlags flags) { SetUInt32Value(UNIT_NPC_FLAGS, flags); } + + [[nodiscard]] bool IsVendor() const { return HasNpcFlag(UNIT_NPC_FLAG_VENDOR); } + [[nodiscard]] bool IsTrainer() const { return HasNpcFlag(UNIT_NPC_FLAG_TRAINER); } + [[nodiscard]] bool IsQuestGiver() const { return HasNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); } + [[nodiscard]] bool IsGossip() const { return HasNpcFlag(UNIT_NPC_FLAG_GOSSIP); } + [[nodiscard]] bool IsTaxi() const { return HasNpcFlag(UNIT_NPC_FLAG_FLIGHTMASTER); } + [[nodiscard]] bool IsGuildMaster() const { return HasNpcFlag(UNIT_NPC_FLAG_PETITIONER); } + [[nodiscard]] bool IsBattleMaster() const { return HasNpcFlag(UNIT_NPC_FLAG_BATTLEMASTER); } + [[nodiscard]] bool IsBanker() const { return HasNpcFlag(UNIT_NPC_FLAG_BANKER); } + [[nodiscard]] bool IsInnkeeper() const { return HasNpcFlag(UNIT_NPC_FLAG_INNKEEPER); } + [[nodiscard]] bool IsSpiritHealer() const { return HasNpcFlag(UNIT_NPC_FLAG_SPIRITHEALER); } + [[nodiscard]] bool IsSpiritGuide() const { return HasNpcFlag(UNIT_NPC_FLAG_SPIRITGUIDE); } + [[nodiscard]] bool IsTabardDesigner()const { return HasNpcFlag(UNIT_NPC_FLAG_TABARDDESIGNER); } + [[nodiscard]] bool IsAuctioner() const { return HasNpcFlag(UNIT_NPC_FLAG_AUCTIONEER); } + [[nodiscard]] bool IsArmorer() const { return HasNpcFlag(UNIT_NPC_FLAG_REPAIR); } [[nodiscard]] bool IsServiceProvider() const { return HasFlag(UNIT_NPC_FLAGS, @@ -1628,7 +1636,7 @@ public: UNIT_NPC_FLAG_INNKEEPER | UNIT_NPC_FLAG_SPIRITHEALER | UNIT_NPC_FLAG_SPIRITGUIDE | UNIT_NPC_FLAG_TABARDDESIGNER | UNIT_NPC_FLAG_AUCTIONEER); } - [[nodiscard]] bool IsSpiritService() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPIRITHEALER | UNIT_NPC_FLAG_SPIRITGUIDE); } + [[nodiscard]] bool IsSpiritService() const { return HasNpcFlag(UNIT_NPC_FLAG_SPIRITHEALER | UNIT_NPC_FLAG_SPIRITGUIDE); } [[nodiscard]] bool IsCritter() const { return GetCreatureType() == CREATURE_TYPE_CRITTER; } [[nodiscard]] bool IsInFlight() const { return HasUnitState(UNIT_STATE_IN_FLIGHT); } diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index d108ffbff..2ee067675 100644 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -119,14 +119,14 @@ void Vehicle::Reset(bool evading /*= false*/) if (_me->GetTypeId() == TYPEID_PLAYER) { if (_usableSeatNum) - _me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE); + _me->SetNpcFlag(UNIT_NPC_FLAG_PLAYER_VEHICLE); } else { ApplyAllImmunities(); InstallAllAccessories(evading); if (_usableSeatNum) - _me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + _me->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); } if (GetBase()->GetTypeId() == TYPEID_UNIT) @@ -355,9 +355,9 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId) if (!_usableSeatNum) { if (_me->GetTypeId() == TYPEID_PLAYER) - _me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE); + _me->RemoveNpcFlag(UNIT_NPC_FLAG_PLAYER_VEHICLE); else - _me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + _me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); } } @@ -460,7 +460,7 @@ void Vehicle::RemovePassenger(Unit* unit) unit->GetName(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUID().ToString(), (int32)seat->first); if (seat->second.SeatInfo->CanEnterOrExit() && ++_usableSeatNum) - _me->SetFlag(UNIT_NPC_FLAGS, (_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)); // Remove UNIT_FLAG_NOT_SELECTABLE if passenger did not have it before entering vehicle if (seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_PASSENGER_NOT_SELECTABLE && !seat->second.Passenger.IsUnselectable) diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index 54787a29b..450a8a424 100644 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -1289,7 +1289,7 @@ void GameEventMgr::UpdateEventNPCFlags(uint16 event_id) if (CreatureTemplate const* creatureTemplate = creature->GetCreatureTemplate()) npcflag |= creatureTemplate->npcflag; - creature->SetUInt32Value(UNIT_NPC_FLAGS, npcflag); + creature->ReplaceAllNpcFlags(NPCFlags(npcflag)); // reset gossip options, since the flag change might have added / removed some //cr->ResetGossipOptions(); } diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index c2f8bbb91..61d1feaa1 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -286,11 +286,11 @@ void WorldSession::HandleGossipHelloOpcode(WorldPacket& recvData) } // xinef: check if we have ANY npc flags - if (unit->GetUInt32Value(UNIT_NPC_FLAGS) == UNIT_NPC_FLAG_NONE) + if (unit->GetNpcFlags() == UNIT_NPC_FLAG_NONE) return; // xinef: do not allow to open gossip when npc is in combat - if (unit->GetUInt32Value(UNIT_NPC_FLAGS) == UNIT_NPC_FLAG_GOSSIP && unit->IsInCombat()) // should work on all flags? + if (unit->GetNpcFlags() == UNIT_NPC_FLAG_GOSSIP && unit->IsInCombat()) // should work on all flags? return; // set faction visible if needed diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 79c08121e..15dcd29b4 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -2412,7 +2412,7 @@ void Spell::EffectSummonType(SpellEffIndex effIndex) return; summon->SelectLevel(); // some summoned creaters have different from 1 DB data for level/hp - summon->SetUInt32Value(UNIT_NPC_FLAGS, summon->GetCreatureTemplate()->npcflag); + summon->ReplaceAllNpcFlags(NPCFlags(summon->GetCreatureTemplate()->npcflag)); summon->ReplaceAllUnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); summon->SetReactState(REACT_PASSIVE); diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp index 403dec75c..9ab6bcb6e 100644 --- a/src/server/scripts/Commands/cs_modify.cpp +++ b/src/server/scripts/Commands/cs_modify.cpp @@ -266,7 +266,7 @@ public: { uint32 factionid = target->GetFaction(); uint32 flag = target->GetUnitFlags(); - uint32 npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS); + uint32 npcflag = target->GetNpcFlags(); uint32 dyflag = target->GetDynamicFlags(); handler->PSendSysMessage(LANG_CURRENT_FACTION, target->GetGUID().GetCounter(), factionid, flag, npcflag, dyflag); return true; @@ -274,7 +274,7 @@ public: uint32 factionid = factionID.value(); UnitFlags flag; - uint32 npcflag; + NPCFlags npcflag; uint32 dyflag; auto pflag = flagID; @@ -285,9 +285,9 @@ public: auto pnpcflag = npcFlagID; if (!pnpcflag) - npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS); + npcflag = target->GetNpcFlags(); else - npcflag = *npcFlagID; + npcflag = NPCFlags(*npcFlagID); auto pdyflag = dynamicFlagID; if (!pdyflag) @@ -306,7 +306,7 @@ public: target->SetFaction(factionid); target->ReplaceAllUnitFlags(flag); - target->SetUInt32Value(UNIT_NPC_FLAGS, npcflag); + target->ReplaceAllNpcFlags(npcflag); target->ReplaceAllDynamicFlags(dyflag); return true; diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index b12688ca7..2490c1d40 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -523,7 +523,7 @@ public: return false; } - creature->SetUInt32Value(UNIT_NPC_FLAGS, NPCFlags(npcFlags)); + creature->ReplaceAllNpcFlags(NPCFlags(npcFlags)); WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_CREATURE_NPCFLAG); @@ -588,7 +588,7 @@ public: CreatureTemplate const* cInfo = target->GetCreatureTemplate(); uint32 faction = target->GetFaction(); - uint32 npcflags = target->GetUInt32Value(UNIT_NPC_FLAGS); + uint32 npcflags = target->GetNpcFlags(); uint32 mechanicImmuneMask = cInfo->MechanicImmuneMask; uint32 spellSchoolImmuneMask = cInfo->SpellSchoolImmuneMask; uint32 displayid = target->GetDisplayId(); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp index 9aea5bb11..8b21317dc 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp @@ -136,7 +136,7 @@ public: break; case GOSSIP_ACTION_INFO_DEF+2: CloseGossipMenuFor(player); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); // Start encounter InstanceScript* instance = creature->GetInstanceScript(); if (instance) @@ -183,11 +183,11 @@ public: if (instance->GetData(TYPE_TOMB_OF_SEVEN) == DONE) // what is this trying to do? Probably some kind of crash recovery { - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); } else { - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP); } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp index 6001af2ae..bee157c66 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp @@ -256,7 +256,7 @@ public: me->SetVisible(true); me->SetPhaseMask(1, true); - me->SetUInt32Value(UNIT_NPC_FLAGS, 1); + me->ReplaceAllNpcFlags(NPCFlags(1)); me->SetFaction(FACTION_FRIENDLY); me->SetStandState(UNIT_STAND_STATE_SIT_HIGH_CHAIR); me->RemoveAura(SPELL_NEFARIANS_BARRIER); @@ -472,7 +472,7 @@ public: Talk(SAY_GAMESBEGIN_1); events.ScheduleEvent(EVENT_START_EVENT, 4000); me->SetFaction(FACTION_DRAGONFLIGHT_BLACK); - me->SetUInt32Value(UNIT_NPC_FLAGS, 0); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); me->SetStandState(UNIT_STAND_STATE_STAND); me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE); // Due to Nefarius despawning himself on Vael, we need to update the guid on instance to prevent unwanted behaviours as encounter not resetting at all. diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp index 807199a26..aed80f54f 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp @@ -89,8 +89,8 @@ public: HasYelled = false; _introDone = false; _burningAdrenalineCast = 0; - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetFaction(FACTION_FRIENDLY); me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); } @@ -132,7 +132,7 @@ public: void BeginSpeech(Unit* target) { PlayerGUID = target->GetGUID(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); _eventsIntro.ScheduleEvent(EVENT_SPEECH_1, 1000); } 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 f6ce13dca..bc8ec18bb 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp @@ -181,7 +181,7 @@ public: { events.SetPhase(PHASE_NONE); me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_IMMUNE_TO_NPC); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetFaction(FACTION_MAJORDOMO_FRIENDLY); } } @@ -504,7 +504,7 @@ public: { if (events.IsInPhase(PHASE_DEFEAT_OUTRO) && spellInfo->Id == SPELL_TELEPORT_SELF) { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetHomePosition(MajordomoRagnaros); me->NearTeleportTo(MajordomoRagnaros.GetPositionX(), MajordomoRagnaros.GetPositionY(), MajordomoRagnaros.GetPositionZ(), MajordomoRagnaros.GetOrientation()); events.SetPhase(PHASE_NONE); @@ -558,7 +558,7 @@ public: case GOSSIP_ACTION_INFO_DEF+3: { CloseGossipMenuFor(player); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->AI()->Talk(SAY_RAG_SUM_1, player); creature->AI()->DoAction(ACTION_START_RAGNAROS_INTRO); break; diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index 42005240b..c10e8543a 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -547,7 +547,7 @@ public: summons.DespawnAll(); me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); me->SetStandState(UNIT_STAND_STATE_STAND); me->SetVisible(true); me->setActive(true); @@ -623,7 +623,7 @@ public: break; case EVENT_START_COUNTDOWN_5: battleStarted = ENCOUNTER_STATE_FIGHT; - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); Talk(SAY_LIGHT_OF_DAWN04); // Wrong order in DB! SendUpdateWorldState(WORLD_STATE_COUNTDOWN_TIME, 0); SendUpdateWorldState(WORLD_STATE_COUNTDOWN_ENABLE, 0); @@ -1131,7 +1131,7 @@ public: if (i->GetSource()->IsAlive() && me->IsWithinDistInMap(i->GetSource(), 100)) i->GetSource()->CastSpell(i->GetSource(), SPELL_THE_LIGHT_OF_DAWN_Q, false); } - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; } case EVENT_OUTRO_SCENE_61: diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp index b07fceace..7e8d14e30 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp @@ -781,7 +781,7 @@ public: if (player->HasAura(AURA_ASHBRINGER) && !SayAshbringer) { me->SetFaction(FACTION_FRIENDLY); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetSheath(SHEATH_STATE_UNARMED); me->CastSpell(me, 57767, true); me->SetDisplayId(16179); diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp index 371c6ec1d..07b19f003 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp @@ -97,7 +97,7 @@ public: { if (menuId == GOSSIP_MENU_HUMMEL && gossipListId == GOSSIP_OPTION_START) { - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); CloseGossipMenuFor(player); DoAction(ACTION_START_EVENT); } @@ -112,7 +112,7 @@ public: summons.DespawnAll(); me->SetFaction(FACTION_FRIENDLY); me->SummonCreatureGroup(1); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } void JustSummoned(Creature* summon) override diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp index d5a60188c..c54148ddf 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp @@ -195,7 +195,7 @@ public: if (Unit* Hostage = i_pl->SummonCreature(HostageInfo[num].npc, HostageInfo[num].x, HostageInfo[num].y, HostageInfo[num].z, HostageInfo[num].o, TEMPSUMMON_DEAD_DESPAWN, 0)) { Hostage->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - Hostage->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + Hostage->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } } } diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index 74702c7c8..9c60402b2 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -503,10 +503,10 @@ public: if (action == GOSSIP_ACTION_INFO_DEF + 1) CloseGossipMenuFor(player); - if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); InstanceScript* instance = creature->GetInstanceScript(); if (instance) @@ -626,7 +626,7 @@ public: { CloseGossipMenuFor(player); me->SetFacingToObject(player); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); Talk(SAY_HARRISON_0); _gongEvent = GONG_EVENT_1; _gongTimer = 4000; @@ -763,7 +763,7 @@ public: _gongTimer = 6000; break; case GONG_EVENT_11: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); instance->SetData(DATA_GONGEVENT, NOT_STARTED); _gongEvent = 0; diff --git a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp index c906b1fe5..1e879fb17 100644 --- a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp @@ -102,7 +102,7 @@ public: _playerGUID.Clear(); events.Reset(); summons.DespawnAll(); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); } void SetData(uint32 faction, uint32) override @@ -113,7 +113,7 @@ public: void SetGUID(ObjectGuid guid, int32) override { _playerGUID = guid; - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); events.Reset(); summons.DespawnAll(); diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp index f5e4b3321..4d73e2522 100644 --- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp +++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp @@ -146,7 +146,7 @@ public: morlenGUID.Clear(); summons.DespawnAll(); if (Creature* c = me->FindNearestCreature(NPC_THALORIEN_REMAINS, 100.0f, true)) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); events.Reset(); events.ScheduleEvent(EVENT_CHECK_PLAYER, 5000); events.ScheduleEvent(EVENT_SUMMON_SOLDIERS, 0); diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp index 8e3b7055b..636d3bdf9 100644 --- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp +++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp @@ -1031,7 +1031,7 @@ public: { me->SetCorpseDelay(1); me->SetRespawnTime(1); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); bStepping = false; step = 0; @@ -2376,7 +2376,7 @@ public: me->Mount(MODEL_WHITE_WULF); me->SetCorpseDelay(1); me->SetRespawnTime(1); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->ApplySpellImmune(0, IMMUNITY_ID, SPELL_SYLVANAS_BUFF, true); bStepping = false; @@ -3899,8 +3899,8 @@ public: JumpToNextStep(5 * IN_MILLISECONDS); break; case 163: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); Talk(THRALL_SAY_THRONE_11); UpdateWorldState(me->GetMap(), WORLD_STATE_ROYAL_QUARTER_FIGHT_H, 0); UpdateWorldState(me->GetMap(), WORLD_STATE_INNER_SANKTUM_FIGHT_H, 0); diff --git a/src/server/scripts/EasternKingdoms/zone_westfall.cpp b/src/server/scripts/EasternKingdoms/zone_westfall.cpp index 316a8fff8..870cb76c9 100644 --- a/src/server/scripts/EasternKingdoms/zone_westfall.cpp +++ b/src/server/scripts/EasternKingdoms/zone_westfall.cpp @@ -141,7 +141,7 @@ public: case 17: SetEscortPaused(true); player->GroupEventHappens(QUEST_TOME_VALOR, me); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->DespawnOrUnsummon(1s, 1s); break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp index f46a664c2..014f3862c 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp @@ -387,7 +387,7 @@ void hyjalAI::Reset() Debug = false; //Flags - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); //Initialize spells memset(Spells, 0, sizeof(Spell) * HYJAL_AI_MAX_SPELLS); @@ -587,7 +587,7 @@ void hyjalAI::StartEvent(Player* player) CheckTimer = 5000; PlayerGUID = player->GetGUID(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); instance->DoUpdateWorldState(WORLD_STATE_WAVES, 0); instance->DoUpdateWorldState(WORLD_STATE_ENEMY, 0); @@ -619,7 +619,7 @@ void hyjalAI::Retreat() Creature* JainaDummy = me->SummonCreature(JAINA, JainaDummySpawn[0][0], JainaDummySpawn[0][1], JainaDummySpawn[0][2], JainaDummySpawn[0][3], TEMPSUMMON_TIMED_DESPAWN, 60000); if (JainaDummy) { - JainaDummy->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + JainaDummy->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); CAST_AI(hyjalAI, JainaDummy->AI())->IsDummy = true; DummyGuid = JainaDummy->GetGUID(); } @@ -629,7 +629,7 @@ void hyjalAI::Retreat() } SpawnVeins(); Overrun = true; - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);//cant talk after overrun event started + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);//cant talk after overrun event started } void hyjalAI::SpawnVeins() @@ -823,7 +823,7 @@ void hyjalAI::UpdateAI(uint32 diff) } EventBegun = false; CheckTimer = 0; - me->SetFlag(UNIT_NPC_FLAGS, 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 } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index 51e921a76..d664c4c3a 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -292,13 +292,13 @@ public: bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - if (creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) { switch (action) { case GOSSIP_ACTION_INFO_DEF+1: creature->AI()->DoAction(ACTION_START_CITY); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+2: @@ -309,24 +309,24 @@ public: case GOSSIP_ACTION_INFO_DEF+3: // Start Town Hall part creature->AI()->DoAction(ACTION_START_TOWN_HALL); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+4: // After killing epoch creature->AI()->DoAction(ACTION_START_SECRET_PASSAGE); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->SetTarget(); CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+5: creature->AI()->DoAction(ACTION_START_LAST_CITY); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+6: creature->AI()->DoAction(ACTION_START_MALGANIS); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); CloseGossipMenuFor(player); break; } @@ -509,7 +509,7 @@ public: waveKillCount = 0; timeRiftId = 0; - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); if (pInstance) { @@ -543,7 +543,7 @@ public: break; // Reached City case 8: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); SetEscortPaused(true); if (pInstance) pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_FINISHED_INTRO); @@ -577,7 +577,7 @@ public: case 20: if (pInstance) pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_REACHED_TOWN_HALL); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); SetRun(false); SetEscortPaused(true); break; @@ -628,7 +628,7 @@ public: // Behind secred passage case 45: SetRun(true); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); SetEscortPaused(true); if (pInstance) pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_LAST_CITY); @@ -650,7 +650,7 @@ public: if (pInstance) pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_BEFORE_MALGANIS); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); SetEscortPaused(true); break; // Infront of malganis @@ -1123,7 +1123,7 @@ public: if (pInstance) pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_KILLED_EPOCH); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); eventInRun = false; break; case EVENT_ACTION_PHASE5: @@ -1258,7 +1258,7 @@ void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data) { case COS_PROGRESS_FINISHED_INTRO: SetNextWaypoint(9, false); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case COS_PROGRESS_FINISHED_CITY_INTRO: case COS_PROGRESS_KILLED_MEATHOOK: @@ -1285,19 +1285,19 @@ void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data) break; case COS_PROGRESS_REACHED_TOWN_HALL: SetNextWaypoint(21, false); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case COS_PROGRESS_KILLED_EPOCH: SetNextWaypoint(32, false); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case COS_PROGRESS_LAST_CITY: SetNextWaypoint(46, false); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case COS_PROGRESS_BEFORE_MALGANIS: SetNextWaypoint(55, false); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp index e3d3d919b..460453af2 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp @@ -162,7 +162,7 @@ public: } case DATA_THRALL_ADD_FLAG: if (Creature* thrall = instance->GetCreature(_thrallGUID)) - thrall->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + thrall->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp index 97c39bf3d..f56e34b1d 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp @@ -229,7 +229,7 @@ public: CloseGossipMenuFor(player); creature->AI()->DoAction(instance->GetData(DATA_ESCORT_PROGRESS)); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); return true; } @@ -365,7 +365,7 @@ public: SetEscortPaused(true); SetRun(true); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case 64: SetRun(false); @@ -413,7 +413,7 @@ public: break; case 103: if (Creature* erozion = summons.GetCreatureWithEntry(NPC_EROZION)) - erozion->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + erozion->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); instance->SetData(DATA_ESCORT_PROGRESS, ENCOUNTER_PROGRESS_FINISHED); me->SetVisible(false); break; @@ -468,7 +468,7 @@ public: combatEvents.Reset(); summons.DespawnAll(); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); instance->SetData(DATA_THRALL_REPOSITION, 1); uint32 data = instance->GetData(DATA_ESCORT_PROGRESS); @@ -615,7 +615,7 @@ public: break; case EVENT_THRALL_TALK: Talk(SAY_MEET_TARETHA); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case EVENT_SUMMON_CHRONO: if (Creature* epoch = me->SummonCreature(NPC_EPOCH_HUNTER, 2640.49f, 696.15f, 64.31f, 4.51f, TEMPSUMMON_MANUAL_DESPAWN)) @@ -730,7 +730,7 @@ public: break; case EVENT_SUMMON_EROZION: if (Creature* erozion = me->SummonCreature(NPC_EROZION, 2646.31f, 680.01f, 55.36f, 3.76f, TEMPSUMMON_MANUAL_DESPAWN)) - erozion->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + erozion->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); break; case EVENT_EROZION_TALK_1: if (Creature* erozion = summons.GetCreatureWithEntry(NPC_EROZION)) @@ -808,7 +808,7 @@ public: SetEscortPaused(true); SetDespawnAtEnd(false); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); if (data < ENCOUNTER_PROGRESS_THRALL_ARMORED) { @@ -903,7 +903,7 @@ public: void Reset() override { - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); me->CastSpell(me, SPELL_SHADOW_PRISON, true); } diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp index 975ad14c9..6eeb72eb9 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp @@ -90,7 +90,7 @@ public: channeling = false; eventProgress = 0; spawnerCount = 0; - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetReactState(REACT_AGGRESSIVE); } } @@ -119,7 +119,7 @@ public: { eventInProgress = true; Talk(SAY_QUEST_ACCEPTED); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_ACTIVE); me->GetMotionMaster()->MovePath(PATH_ESCORT, false); } diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp index f9f59db28..608b9446b 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp @@ -68,7 +68,7 @@ public: me->SetFaction(FACTION_FRIENDLY); postGossipStep = 0; Text_Timer = 0; - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } InstanceScript* instance; @@ -285,7 +285,7 @@ public: { case NPC_BLY: case NPC_WEEGLI: - crew->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + crew->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; default: break; @@ -345,7 +345,7 @@ public: void InitializeAI() override { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); Reset(); } @@ -435,7 +435,7 @@ public: else if (instance->GetData(DATA_PYRAMID) == PYRAMID_KILLED_ALL_TROLLS) { instance->SetData(DATA_PYRAMID, PYRAMID_MOVED_DOWNSTAIRS); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } else if (instance->GetData(DATA_PYRAMID) == PYRAMID_DESTROY_GATES) { @@ -458,7 +458,7 @@ public: else if (instance->GetData(DATA_PYRAMID) == PYRAMID_KILLED_ALL_TROLLS) { instance->SetData(DATA_PYRAMID, PYRAMID_MOVED_DOWNSTAIRS); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } else if (instance->GetData(DATA_PYRAMID) == PYRAMID_DESTROY_GATES) { @@ -478,7 +478,7 @@ public: instance->SetData(DATA_PYRAMID, PYRAMID_DESTROY_GATES); if (Creature* sergeantBly = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BLY))) { - sergeantBly->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + sergeantBly->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } } } diff --git a/src/server/scripts/Kalimdor/boss_azuregos.cpp b/src/server/scripts/Kalimdor/boss_azuregos.cpp index 69436098e..8a14d4b2f 100644 --- a/src/server/scripts/Kalimdor/boss_azuregos.cpp +++ b/src/server/scripts/Kalimdor/boss_azuregos.cpp @@ -64,7 +64,7 @@ public: { me->RemoveAurasDueToSpell(SPELL_MARK_OF_FROST_AURA); _scheduler.CancelAll(); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->RestoreFaction(); me->GetMap()->DoForAllPlayers([&](Player* p) { diff --git a/src/server/scripts/Kalimdor/zone_azshara.cpp b/src/server/scripts/Kalimdor/zone_azshara.cpp index 3b8cc404d..4dbd81639 100644 --- a/src/server/scripts/Kalimdor/zone_azshara.cpp +++ b/src/server/scripts/Kalimdor/zone_azshara.cpp @@ -355,7 +355,7 @@ public: if (me->IsWithinDist(player, 10) && me->GetPositionX() > player->GetPositionX() && !Reached) { Talk(SAY_RIZZLE_FINAL); - me->SetUInt32Value(UNIT_NPC_FLAGS, 1); + me->ReplaceAllNpcFlags(NPCFlags(1)); me->SetFaction(FACTION_FRIENDLY); me->GetMotionMaster()->MoveIdle(); me->RemoveAurasDueToSpell(SPELL_PERIODIC_DEPTH_CHARGE); diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp index cc87909d7..6f941b136 100644 --- a/src/server/scripts/Kalimdor/zone_desolace.cpp +++ b/src/server/scripts/Kalimdor/zone_desolace.cpp @@ -147,7 +147,7 @@ public: _faction = faction; SetEscortPaused(false); if (Creature* active = !headNorth ? me : ObjectAccessor::GetCreature(*me, summons[0])) - active->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + active->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); events.CancelEvent(EVENT_WAIT_FOR_ASSIST); } @@ -192,11 +192,11 @@ public: void SummonHelpers() { RemoveSummons(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); if (Creature* cr = me->SummonCreature(NPC_RIGGER_GIZELTON, *me)) { - cr->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + cr->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); summons[0] = cr->GetGUID(); } if (Creature* cr = me->SummonCreature(NPC_CARAVAN_KODO, *me)) @@ -291,7 +291,7 @@ public: // North -> South - hire case 77: SetEscortPaused(true); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); Talk(SAY_CARAVAN_HIRE); events.ScheduleEvent(EVENT_WAIT_FOR_ASSIST, TIME_HIRE_STOP); break; @@ -300,7 +300,7 @@ public: SetEscortPaused(true); if (Creature* rigger = ObjectAccessor::GetCreature(*me, summons[0])) { - rigger->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + rigger->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); rigger->AI()->Talk(SAY_CARAVAN_HIRE); } events.ScheduleEvent(EVENT_WAIT_FOR_ASSIST, TIME_HIRE_STOP); @@ -403,7 +403,7 @@ public: case EVENT_WAIT_FOR_ASSIST: SetEscortPaused(false); if (Creature* active = !headNorth ? me : ObjectAccessor::GetCreature(*me, summons[0])) - active->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + active->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); break; case EVENT_RESTART_ESCORT: CheckCaravan(); @@ -484,7 +484,7 @@ public: } else if (spell->Id == SPELL_KODO_KOMBO_GOSSIP) { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->DespawnOrUnsummon(60000); } } diff --git a/src/server/scripts/Kalimdor/zone_feralas.cpp b/src/server/scripts/Kalimdor/zone_feralas.cpp index 6d0c5bdfd..ff507e4f2 100644 --- a/src/server/scripts/Kalimdor/zone_feralas.cpp +++ b/src/server/scripts/Kalimdor/zone_feralas.cpp @@ -98,7 +98,7 @@ public: void InitializeAI() override { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); me->RestoreFaction(); @@ -202,7 +202,7 @@ public: Talk(TALK_0, player); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); me->SetFaction(FACTION_ESCORT_N_NEUTRAL_ACTIVE); me->GetMotionMaster()->MoveFollow(player, 3.f, M_PI); diff --git a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp index b73c5cc54..b5aadc711 100644 --- a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp +++ b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp @@ -258,7 +258,7 @@ public: { if (action == ACTION_START_TALKING) { - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->GetMap()->LoadGrid(heraldOfThrallPos.GetPositionX(), heraldOfThrallPos.GetPositionY()); me->SummonCreature(NPC_HERALD_OF_THRALL, heraldOfThrallPos, TEMPSUMMON_TIMED_DESPAWN, 20 * IN_MILLISECONDS); _scheduler.Schedule(2s, [this](TaskContext /*context*/) @@ -272,7 +272,7 @@ public: .Schedule(15s, [this](TaskContext /*context*/) { DoCastAOE(SPELL_WARCHIEF_BLESSING, true); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->GetMap()->DoForAllPlayers([&](Player* p) { if (p->IsAlive() && !p->IsGameMaster()) diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index 5cb27bc1d..7359a53f9 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -915,7 +915,7 @@ public: if (Merithra) { - Merithra->SetUInt32Value(UNIT_NPC_FLAGS, 0); + Merithra->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); Merithra->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); Merithra->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15420); Merithra->SetFaction(FACTION_FRIENDLY); @@ -923,7 +923,7 @@ public: if (Caelestrasz) { - Caelestrasz->SetUInt32Value(UNIT_NPC_FLAGS, 0); + Caelestrasz->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); Caelestrasz->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); Caelestrasz->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15419); Caelestrasz->SetFaction(FACTION_FRIENDLY); @@ -931,7 +931,7 @@ public: if (Arygos) { - Arygos->SetUInt32Value(UNIT_NPC_FLAGS, 0); + Arygos->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); Arygos->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); Arygos->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15418); Arygos->SetFaction(FACTION_FRIENDLY); diff --git a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp index 265b6388e..1dff96f93 100644 --- a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp +++ b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp @@ -263,8 +263,8 @@ public: if (me->GetFaction() != NormFaction) me->SetFaction(NormFaction); - if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + if (me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); DoCast(me, SPELL_PLUCKY_CHICKEN, false); } @@ -276,19 +276,19 @@ public: if (TextEmote == TEXT_EMOTE_BECKON) { me->SetFaction(FACTION_FRIENDLY); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); DoCast(me, SPELL_PLUCKY_HUMAN, false); } } if (TextEmote == TEXT_EMOTE_CHICKEN) { - if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return; else { me->SetFaction(FACTION_FRIENDLY); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); DoCast(me, SPELL_PLUCKY_HUMAN, false); me->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); } @@ -297,14 +297,14 @@ public: void UpdateAI(uint32 Diff) override { - if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) { if (ResetTimer <= Diff) { if (!me->GetVictim()) EnterEvadeMode(); else - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); return; } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp index f129b9ebd..7b1ef38c7 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp @@ -377,7 +377,7 @@ public: void Reset() override { _events.Reset(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); // Xinef: after soft reset npc is no longer present if (me->GetInstanceScript()->GetBossState(DATA_BALTHARUS_THE_WARBORN) == DONE) @@ -439,7 +439,7 @@ public: Talk(SAY_XERESTRASZA_EVENT_6); break; case EVENT_XERESTRASZA_EVENT_7: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); Talk(SAY_XERESTRASZA_EVENT_7); me->setActive(false); break; 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 c48dfd8f4..c1c8d8dc6 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 @@ -316,7 +316,7 @@ public: c->SetHomePosition(748.309f, 619.488f, 411.172f, 4.71239f); c->SetPosition(748.309f, 619.488f, 411.172f, 4.71239f); c->SetRespawnTime(3); - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } InstanceProgress = INSTANCE_PROGRESS_INITIAL; } @@ -329,7 +329,7 @@ public: announcer->SetHomePosition(735.81f, 661.92f, 412.39f, 4.714f); announcer->SetPosition(735.81f, 661.92f, 412.39f, 4.714f); announcer->SetRespawnTime(3); - announcer->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + announcer->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); for( uint8 i = 0; i < 3; ++i ) if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) ) @@ -387,7 +387,7 @@ public: c->SetHomePosition(743.14f, 628.77f, 411.2f, 4.71239f); c->SetPosition(743.14f, 628.77f, 411.2f, 4.71239f); c->SetRespawnTime(3); - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } NPC_MemoryEntry = 0; InstanceProgress = INSTANCE_PROGRESS_CHAMPIONS_DEAD; @@ -411,7 +411,7 @@ public: c->SetHomePosition(743.14f, 628.77f, 411.2f, 4.71239f); c->SetPosition(743.14f, 628.77f, 411.2f, 4.71239f); c->SetRespawnTime(3); - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } InstanceProgress = INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED; } @@ -968,7 +968,7 @@ public: case EVENT_RESTORE_ANNOUNCER_GOSSIP: { if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) - announcer->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + announcer->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } break; case EVENT_START_ARGENT_CHALLENGE_INTRO: 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 79f0149ba..cff5d065f 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 @@ -33,7 +33,7 @@ public: bool OnGossipHello(Player* player, Creature* creature) override { - if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; InstanceScript* pInstance = creature->GetInstanceScript(); @@ -76,7 +76,7 @@ public: bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - if(!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if(!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; InstanceScript* pInstance = creature->GetInstanceScript(); @@ -86,7 +86,7 @@ public: if(uiAction == GOSSIP_ACTION_INFO_DEF + 1338 || uiAction == GOSSIP_ACTION_INFO_DEF + 1341 || uiAction == GOSSIP_ACTION_INFO_DEF + 1339 || uiAction == GOSSIP_ACTION_INFO_DEF + 1340) { pInstance->SetData(DATA_ANNOUNCER_GOSSIP_SELECT, (uiAction == GOSSIP_ACTION_INFO_DEF + 1341 ? 1 : 0)); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } CloseGossipMenuFor(player); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index d4f4b87b6..c8d22f5c9 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -767,7 +767,7 @@ public: if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) c->AI()->Talk(SAY_STAGE_0_06); if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } case EVENT_SCENE_101: @@ -946,7 +946,7 @@ public: if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) c->AI()->Talk(SAY_STAGE_1_11); if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } case EVENT_SCENE_201: @@ -1120,7 +1120,7 @@ public: if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) c->AI()->Talk(SAY_STAGE_2_06); if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } case EVENT_SCENE_301: @@ -1435,11 +1435,11 @@ public: { case INSTANCE_PROGRESS_INITIAL: if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case INSTANCE_PROGRESS_INTRO_DONE: if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); if( Creature* c = instance->GetCreature(NPC_GormokGUID) ) { c->AI()->DoAction(-1); // despawn summons @@ -1459,7 +1459,7 @@ public: break; case INSTANCE_PROGRESS_BEASTS_DEAD: if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); if( Creature* c = instance->GetCreature(NPC_FizzlebangGUID) ) c->DespawnOrUnsummon(); NPC_FizzlebangGUID.Clear(); @@ -1478,7 +1478,7 @@ public: c->DespawnOrUnsummon(); if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) { - c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); if( Creature* jaraxxus = c->SummonCreature(NPC_JARAXXUS, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000) ) { jaraxxus->CastSpell(jaraxxus, 67924, true); @@ -1490,7 +1490,7 @@ public: break; case INSTANCE_PROGRESS_JARAXXUS_DEAD: if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); for (ObjectGuid const& guid : NPC_ChampionGUIDs) if (Creature* c = instance->GetCreature(guid)) c->DespawnOrUnsummon(); @@ -1498,7 +1498,7 @@ public: break; case INSTANCE_PROGRESS_FACTION_CHAMPIONS_DEAD: if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); if( Creature* c = instance->GetCreature(NPC_DarkbaneGUID) ) { c->AI()->DoAction(-1); @@ -1521,11 +1521,11 @@ public: if (InstanceProgress == INSTANCE_PROGRESS_ANUB_ARAK) { c->SetVisible(false); - c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } else { - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); c->SetVisible(true); c->SetFacingTo(c->GetOrientation()); } @@ -1550,7 +1550,7 @@ public: if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) { c->SetVisible(false); - c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } break; } @@ -1566,7 +1566,7 @@ public: if( instance->IsHeroic() && AttemptsLeft == 0 ) if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) - c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); HandleGameObject(GO_MainGateGUID, false); HandleGameObject(GO_EnterGateGUID, true); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp index 00d527e83..8861705ba 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp @@ -36,7 +36,7 @@ public: bool OnGossipHello(Player* player, Creature* creature) override { - if(!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if(!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; InstanceScript* pInstance = creature->GetInstanceScript(); @@ -59,7 +59,7 @@ public: gossipTextId = MSG_CRUSADERS; break; case INSTANCE_PROGRESS_DONE: - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); return true; default: return true; @@ -72,7 +72,7 @@ public: bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 uiAction) override { - if( !creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) ) + if( !creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP) ) return true; InstanceScript* pInstance = creature->GetInstanceScript(); @@ -82,7 +82,7 @@ public: if( uiAction == GOSSIP_ACTION_INFO_DEF + 1337 ) { pInstance->SetData(TYPE_ANNOUNCER_GOSSIP_SELECT, 0); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } CloseGossipMenuFor(player); 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 5414368ad..dacea6bc7 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp @@ -69,9 +69,9 @@ public: void DoAction(int32 a) override { if (a == 1) - if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) { - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); events.Reset(); events.ScheduleEvent(1, 1000); } @@ -190,7 +190,7 @@ public: if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); - if (creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) { if (creature->GetEntry() == NPC_JAINA_PART1) AddGossipItemFor(player, GOSSIP_JAINA_INTRO, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); @@ -232,14 +232,14 @@ public: { npc_fos_leader_secondAI(Creature* creature) : ScriptedAI(creature) { - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); } void MovementInform(uint32 type, uint32 id) override { if (type == POINT_MOTION_TYPE && id == 1) { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); if (me->GetEntry() == NPC_JAINA_PART1) Talk(SAY_JAINA_OUTRO); else 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 3d90c8743..40547bc6c 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -91,7 +91,7 @@ public: bool OnGossipHello(Player* player, Creature* creature) override { - if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; if (creature->IsQuestGiver()) @@ -134,7 +134,7 @@ public: bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; InstanceScript* instance = creature->GetInstanceScript(); @@ -154,13 +154,13 @@ public: CloseGossipMenuFor(player); if (creature->AI()) creature->AI()->DoAction(ACTION_START_INTRO); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; case GOSSIP_ACTION_INFO_DEF+2: CloseGossipMenuFor(player); if (creature->AI()) creature->AI()->DoAction(ACTION_SKIP_INTRO); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; } @@ -233,7 +233,7 @@ public: me->GetMotionMaster()->MovePoint(0, SpawnPos); break; case EVENT_PRE_INTRO_3: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); Talk(me->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_INTRO_2 : SAY_SYLVANAS_INTRO_1); me->SetFacingTo(0.89f); break; @@ -1619,7 +1619,7 @@ public: bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 /*uiAction*/) override { - if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; ClearGossipMenuFor(player); @@ -1627,7 +1627,7 @@ public: if (InstanceScript* pInstance = creature->GetInstanceScript()) if (!pInstance->GetData(DATA_LICH_KING)) { - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); creature->AI()->DoAction(ACTION_START_LK_FIGHT_REAL); return true; } @@ -1748,7 +1748,7 @@ public: case EVENT_ADD_GOSSIP: me->RemoveAura(me->GetEntry() == NPC_JAINA_PART2 ? SPELL_JAINA_ICE_BARRIER : SPELL_SYLVANAS_CLOAK_OF_DARKNESS); me->SetFacingTo(LeaderEscapePos.GetOrientation()); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case EVENT_START_RUN: { 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 922da7465..13d71c1da 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 @@ -221,7 +221,7 @@ public: NPC_LeaderIntroGUID = creature->GetGUID(); if (TeamIdInInstance == TEAM_ALLIANCE) creature->UpdateEntry(NPC_JAINA_PART1); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); break; case NPC_DARK_RANGER_LORALEN: @@ -313,7 +313,7 @@ public: if (!(EncounterMask & (1 << DATA_LK_INTRO))) { creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, TeamIdInInstance == TEAM_ALLIANCE ? EMOTE_ONESHOT_ATTACK2HTIGHT : EMOTE_ONESHOT_ATTACK1H); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); creature->CastSpell(creature, TeamIdInInstance == TEAM_ALLIANCE ? SPELL_JAINA_ICE_BARRIER : SPELL_SYLVANAS_CLOAK_OF_DARKNESS, true); if (TeamIdInInstance != TEAM_ALLIANCE) { @@ -323,8 +323,8 @@ public: } else if (!(EncounterMask & (1 << DATA_LICH_KING))) { - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); - creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + creature->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->UpdatePosition(LeaderEscapePos, true); creature->StopMovingOnCurrentPos(); } @@ -530,8 +530,8 @@ public: c->GetMotionMaster()->MoveIdle(); c->UpdatePosition(LeaderEscapePos, true); c->StopMovingOnCurrentPos(); - c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + c->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); c->SetHealth(c->GetMaxHealth() / 20); c->AI()->Reset(); c->setActive(false); @@ -1196,7 +1196,7 @@ public: break; case 11: if (Creature* c = instance->GetCreature(NPC_LeaderGUID)) - c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + c->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); ++outroStep; outroTimer = 300 * 1000; break; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp index 8ab095f37..2de3f032e 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp @@ -1150,7 +1150,7 @@ public: pInstance = me->GetInstanceScript(); barrierGUID.Clear(); events.Reset(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); if (pInstance) { @@ -1206,7 +1206,7 @@ public: Talk(SAY_JAINA_OUTRO_3); break; case 6: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); if (GameObject* g = me->FindNearestGameObject(GO_HOR_PORTCULLIS, 50.0f)) g->SetGoState(GO_STATE_ACTIVE); break; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index 64cb5b42c..c3685ded4 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -531,7 +531,7 @@ public: void Reset() override { _events.Reset(); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetReactState(REACT_PASSIVE); } @@ -558,7 +558,7 @@ public: for (std::list::iterator itr = _guardList.begin(); itr != _guardList.end(); ++itr) (*itr)->AI()->SetData(0, x++); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); Talk(SAY_INTRO_HORDE_1); _events.SetPhase(PHASE_INTRO_H); _events.ScheduleEvent(EVENT_INTRO_HORDE_2, 5000, 0, PHASE_INTRO_H); @@ -792,7 +792,7 @@ public: void Reset() override { _events.Reset(); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetReactState(REACT_PASSIVE); } @@ -819,7 +819,7 @@ public: for (std::list::iterator itr = _guardList.begin(); itr != _guardList.end(); ++itr) (*itr)->AI()->SetData(0, x++); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); Talk(SAY_INTRO_ALLIANCE_1); _events.SetPhase(PHASE_INTRO_A); _events.ScheduleEvent(EVENT_INTRO_ALLIANCE_2, 2500, 0, PHASE_INTRO_A); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index 69784292b..f13532524 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -758,9 +758,9 @@ public: void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) override { - if (!me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (!me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return; - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->GetTransport()->setActive(true); me->GetTransport()->ToMotionTransport()->EnableMovement(true); _events.ScheduleEvent(EVENT_INTRO_H_1, 5000); @@ -1093,9 +1093,9 @@ public: void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) override { - if (!me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (!me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return; - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->GetTransport()->setActive(true); me->GetTransport()->ToMotionTransport()->EnableMovement(true); _events.ScheduleEvent(EVENT_INTRO_A_1, 5000); 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 a29b1faad..c971109cc 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -1285,7 +1285,7 @@ public: { _events.Reset(); if (_instance->GetBossState(DATA_THE_LICH_KING) == DONE || (me->GetMap()->IsHeroic() && !_instance->GetData(DATA_LK_HC_AVAILABLE))) - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetReactState(REACT_PASSIVE); } @@ -1357,18 +1357,18 @@ public: { ScriptedAI::JustReachedHome(); if (!(_instance->GetBossState(DATA_THE_LICH_KING) == DONE || (me->GetMap()->IsHeroic() && !_instance->GetData(DATA_LK_HC_AVAILABLE)))) - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); } void sGossipSelect(Player* /*player*/, uint32 sender, uint32 action) override { Creature* theLichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)); - if (me->GetCreatureTemplate()->GossipMenuId == sender && !action && me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) && theLichKing && !theLichKing->IsInEvadeMode()) + if (me->GetCreatureTemplate()->GossipMenuId == sender && !action && me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP) && theLichKing && !theLichKing->IsInEvadeMode()) { if (me->GetMap()->IsHeroic() && !_instance->GetData(DATA_LK_HC_AVAILABLE)) return; - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetWalk(true); me->GetMotionMaster()->MovePoint(POINT_TIRION_INTRO, TirionIntro); } diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp index f0702d7c6..ca0adf671 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp @@ -132,7 +132,7 @@ public: } if (resetPosition) { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); switch (me->GetEntry()) { case NPC_VERDISA: @@ -161,7 +161,7 @@ public: { Talk(SAY_BELGARISTRASZ); } - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); } }; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp index c87908a13..dd8a5e991 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp @@ -316,7 +316,7 @@ public: me->SetFaction(FACTION_FRIENDLY); me->SetReactState(REACT_PASSIVE); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); if(pInstance) { @@ -347,13 +347,13 @@ public: SetEscortPaused(false); InitializeEvent(); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); break; } case ACTION_GO_TO_SJONNIR: SetEscortPaused(false); ResetEvent(); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); break; case ACTION_START_SJONNIR_FIGHT: me->SetFaction(FACTION_FRIENDLY); @@ -377,7 +377,7 @@ public: Start(false, true, ObjectGuid::Empty, 0, true, false); SetNextWaypoint(20, false); ResetEvent(); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); break; case ACTION_OPEN_DOOR: if (GameObject* door = ObjectAccessor::GetGameObject(*me, pInstance->GetGuidData(GO_SJONNIR_DOOR))) @@ -504,7 +504,7 @@ public: me->CastSpell(me, 59046, true); // credit } - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); // Spawn Chest and quest credit if (Player* plr = SelectTargetFromPlayerList(200.0f)) @@ -528,7 +528,7 @@ public: door->SetGoState(GO_STATE_ACTIVE); SetEscortPaused(false); ResetEvent(); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); break; } case EVENT_END: @@ -537,7 +537,7 @@ public: if (pInstance) pInstance->SetData(BRANN_BRONZEBEARD, 6); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); me->Yell("I'll use the forge to make batches o' earthen to stand guard... But our greatest challenge still remains: find and stop Loken!", LANG_UNIVERSAL); me->PlayDirectSound(14279); break; @@ -653,7 +653,7 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id) // Stop before stairs and ask to start case 9: SetEscortPaused(true); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); if (pInstance) pInstance->SetData(BRANN_BRONZEBEARD, 2); @@ -674,7 +674,7 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id) if(pInstance) { pInstance->SetData(BRANN_BRONZEBEARD, 5); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); if (Creature* cr = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_SJONNIR))) cr->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); me->SetOrientation(3.132660f); 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 40c7802cb..79439b8bb 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -873,7 +873,7 @@ public: if (me->GetVehicle()) { - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); if (Unit* player = me->GetVehicle()->GetPassenger(SEAT_PLAYER)) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.cpp index 2d7e31a2d..fe4900a3e 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.cpp @@ -39,7 +39,7 @@ public: bool OnGossipSelect(Player* /*player*/, Creature* creature, uint32 /*uiSender*/, uint32 /*uiAction*/) override { - creature->SetUInt32Value(UNIT_NPC_FLAGS, 0); + creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); uint8 _keeper = 0; switch (creature->GetEntry()) { @@ -285,7 +285,7 @@ public: me->SetReactState(REACT_PASSIVE); me->SetRegeneratingHealth(false); me->SetFaction(FACTION_PREY); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + me->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); me->CastSpell(me, 64770, true); } } diff --git a/src/server/scripts/Northrend/isle_of_conquest.cpp b/src/server/scripts/Northrend/isle_of_conquest.cpp index 0d66ec826..a75615c39 100644 --- a/src/server/scripts/Northrend/isle_of_conquest.cpp +++ b/src/server/scripts/Northrend/isle_of_conquest.cpp @@ -49,7 +49,7 @@ public: me->Respawn(); me->UpdateEntry(NPC_BROKEN_KEEP_CANNON, nullptr, false); me->RemoveVehicleKit(); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + me->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); } } @@ -61,7 +61,7 @@ public: if (faction) me->SetFaction(faction); me->CreateVehicleKit(510, NPC_KEEP_CANNON); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); events.ScheduleEvent(EVENT_RESTORE_FLAG, 4000); } } @@ -72,7 +72,7 @@ public: switch (events.ExecuteEvent()) { case EVENT_RESTORE_FLAG: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + me->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); break; } diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 6defda0f8..7381c070c 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -1181,7 +1181,7 @@ public: { Initialize(); _emoteState = creature->GetUInt32Value(UNIT_NPC_EMOTESTATE); - _npcFlags = creature->GetUInt32Value(UNIT_NPC_FLAGS); + _npcFlags = creature->GetNpcFlags(); } void Initialize() @@ -1198,7 +1198,7 @@ public: if (_npcFlags) { - me->SetUInt32Value(UNIT_NPC_FLAGS, _npcFlags); + me->ReplaceAllNpcFlags(_npcFlags); } Initialize(); @@ -1209,7 +1209,7 @@ public: void PreScript() { me->StopMoving(); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID)) { @@ -1309,7 +1309,7 @@ public: private: EventMap _events; uint32 _emoteState; - uint32 _npcFlags; + NPCFlags _npcFlags; ObjectGuid _playerGUID; }; @@ -1562,8 +1562,8 @@ public: me->SetFaction(FACTION_VALIANCE_EXPEDITION_7); me->SetStandState(UNIT_STAND_STATE_STAND); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); Initialize(); } @@ -1674,7 +1674,7 @@ public: _arlosGUID = arlos->GetGUID(); arlos->SetWalk(true); arlos->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_IMMUNE_TO_PC); - arlos->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + arlos->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); arlos->GetMotionMaster()->MovePath(PATH_ARLOS, false); } if (Creature* leryssa = me->SummonCreature(NPC_LERYSSA, 3751.0986f, 3614.9219f, 473.4048f, 4.5029f, TEMPSUMMON_CORPSE_TIMED_DESPAWN)) @@ -1682,7 +1682,7 @@ public: _leryssaGUID = leryssa->GetGUID(); leryssa->SetWalk(true); leryssa->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_IMMUNE_TO_PC); - leryssa->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + leryssa->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); leryssa->GetMotionMaster()->MovePath(PATH_LERYSSA, false); } _events.ScheduleEvent(EVENT_THASSARIAN_SCRIPT_7, 7000); @@ -1798,8 +1798,8 @@ public: break; case EVENT_THASSARIAN_SCRIPT_19: // Leryssa set facing to me - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); if (Creature* leryssa = me->FindNearestCreature(NPC_LERYSSA, 50.0f, true)) { _leryssaGUID = leryssa->GetGUID(); @@ -1937,7 +1937,7 @@ public: { _playerGUID = player->GetGUID(); CloseGossipMenuFor(player); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->GetMotionMaster()->MovePath(PATH_THASSARIAN, false); } } diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp index 9cdc8e1d0..08d6b0ce4 100644 --- a/src/server/scripts/Northrend/zone_dalaran.cpp +++ b/src/server/scripts/Northrend/zone_dalaran.cpp @@ -222,7 +222,7 @@ public: break; case EVENT_OUTRO_DH: me->GetMotionMaster()->MoveTargetedHome(); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); _events.Reset(); break; } @@ -261,7 +261,7 @@ public: { case GOSSIP_ACTION_INFO_DEF: CloseGossipMenuFor(player); - creature->SetUInt32Value(UNIT_NPC_FLAGS, 0); + creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); creature->AI()->SetData(ACTION_SHANDY_INTRO, 0); break; } diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index 8563db0d5..e23b83d26 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -1791,7 +1791,7 @@ public: if (!tree || !player) return; - tree->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + tree->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); if (roll == 1) // friendly version { diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index 0942baceb..1fc01e13e 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -859,7 +859,7 @@ public: _following = false; _runningScript = false; if (me->GetEntry() == NPC_LAKE_FROG_QUEST) - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } void UpdateAI(uint32 diff) override @@ -884,11 +884,11 @@ public: _events.ScheduleEvent(EVENT_LAKEFROG_3, 3000); break; case EVENT_LAKEFROG_3: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); _events.ScheduleEvent(EVENT_LAKEFROG_4, 25000); break; case EVENT_LAKEFROG_4: - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); _events.ScheduleEvent(EVENT_LAKEFROG_5, 2000); break; case EVENT_LAKEFROG_5: diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp index 26002d86a..c6a267892 100644 --- a/src/server/scripts/Northrend/zone_icecrown.cpp +++ b/src/server/scripts/Northrend/zone_icecrown.cpp @@ -135,7 +135,7 @@ public: summons.DespawnAll(); playerGUID.Clear(); currentQuest = 0; - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); } void JustSummoned(Creature* creature) override @@ -340,7 +340,7 @@ public: npc_battle_at_valhalasAI* vAI = CAST_AI(npc_battle_at_valhalas::npc_battle_at_valhalasAI, creature->AI()); vAI->ResetData(); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); if (vAI) vAI->StartBattle(player->GetGUID(), quest->GetQuestId()); @@ -487,7 +487,7 @@ public: events.Reset(); events.RescheduleEvent(EVENT_START, 1000); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); me->SetWalk(true); me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); me->setActive(true); @@ -595,7 +595,7 @@ public: events.ScheduleEvent(EVENT_SCENE_10, 3000); break; case EVENT_SCENE_10: - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_QUESTGIVER); Talk(SAY_ARETE_6); me->DespawnOrUnsummon(60000); break; diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp index 062559c05..18bc5eba0 100644 --- a/src/server/scripts/Northrend/zone_zuldrak.cpp +++ b/src/server/scripts/Northrend/zone_zuldrak.cpp @@ -813,7 +813,7 @@ public: void Reset() override { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER); _heading = me->GetOrientation(); } @@ -827,7 +827,7 @@ public: switch (eventId) { case EVENT_RECRUIT_1: - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); Talk(SAY_RECRUIT); _events.ScheduleEvent(EVENT_RECRUIT_2, 3000); diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 53a0f4d6f..2141af846 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -796,7 +796,7 @@ public: void Reset() override { me->SetReactState(REACT_AGGRESSIVE); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->setActive(false); me->SetVisible(instance->GetBossState(DATA_ILLIDARI_COUNCIL) == DONE && instance->GetBossState(DATA_ILLIDAN_STORMRAGE) != DONE); events.Reset(); @@ -806,7 +806,7 @@ public: void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override { CloseGossipMenuFor(player); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); me->setActive(true); if (instance->GetBossState(DATA_AKAMA_FINISHED) != DONE) @@ -835,7 +835,7 @@ public: void JustSummoned(Creature* summon) override { summons.Summon(summon); - summon->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + summon->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); if (summon->GetEntry() == NPC_ILLIDARI_ELITE) { me->AddThreat(summon, 1000000.0f); @@ -864,7 +864,7 @@ public: } else if (pointId == POINT_ILLIDAN) { - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP); me->setActive(false); me->SetReactState(REACT_AGGRESSIVE); } 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 50ee9dade..1c017ddcb 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -294,11 +294,11 @@ public: { if (instance->GetBossState(DATA_SHADE_OF_AKAMA) == DONE) { - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); return; } - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->CastSpell(me, SPELL_STEALTH, true); events.Reset(); events2.Reset(); @@ -425,7 +425,7 @@ public: if (action == 0) { CloseGossipMenuFor(player); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); events2.ScheduleEvent(EVENT_AKAMA_START_ENCOUNTER, 0); } } diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp index 076fbb59a..82da67da2 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp @@ -347,7 +347,7 @@ public: { instance->DoCastSpellOnPlayers(SPELL_QID10886); creature->AI()->Talk(SAY_COMPLETE); - creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP); } } } diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp index bb0163cad..4a6f01797 100644 --- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp +++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp @@ -101,7 +101,7 @@ public: envelopingWinds_Timer = 9000; shock_Timer = 5000; - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetFaction(FACTION_FRIENDLY); Talk(SAY_SUMMON); @@ -125,7 +125,7 @@ public: if (HealthBelowPct(30)) { me->SetFaction(FACTION_FRIENDLY); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->RemoveAllAuras(); me->DeleteThreatList(); me->CombatStop(true); diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp index 9dad3e491..3b8832319 100644 --- a/src/server/scripts/Outland/zone_netherstorm.cpp +++ b/src/server/scripts/Outland/zone_netherstorm.cpp @@ -265,7 +265,7 @@ public: if (action == GOSSIP_ACTION_INFO_DEF + 1) { CloseGossipMenuFor(player); - creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->AI()->DoAction(EVENT_START_PLAYER_READY); if (Creature* orelis = creature->FindNearestCreature(EXARCH_ORELIS, 15.0f, true)) orelis->AI()->DoAction(EVENT_ORELIS_WALK); @@ -397,7 +397,7 @@ public: if (param == EVENT_KARJA_WALK) { me->GetMotionMaster()->MovePath(KARJA_PATH_ID, false); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } else if (param == RESET_DEATHBLOW_EVENT) { @@ -470,7 +470,7 @@ public: if (param == EVENT_ORELIS_WALK) { me->GetMotionMaster()->MovePath(ORELIS_PATH_ID, false); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } else if (param == RESET_DEATHBLOW_EVENT) { @@ -643,7 +643,7 @@ public: if (GetCreature(ISHANAH_HIGH_PRIESTESS)) { - ishanah->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + ishanah->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); ishanah->DespawnOrUnsummon(60000); } @@ -793,7 +793,7 @@ public: if (Creature* summonIshanah = me->SummonCreature(ISHANAH_HIGH_PRIESTESS, IshanahSpawnPosition, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 180000)) { summonIshanah->GetMotionMaster()->MovePath(ISHANAH_PATH_ID, false); - summonIshanah->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + summonIshanah->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); } break; case EVENT_ISHANAH_SAY_1: @@ -853,7 +853,7 @@ public: ishanah->Respawn(); ishanah->setActive(true); // ensure that Ishanah disappears, even when no player is near ishanah->DespawnOrUnsummon(600000); // ensure that Ishanah disappears after 10 minutes - ishanah->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); + ishanah->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); } _actionEvents.ScheduleEvent(EVENT_SOCRETHAR_SAY_6, 3000); break; @@ -1166,7 +1166,7 @@ public: { Talk(SAY_SAEED_2); SetEscortPaused(false); - me->SetUInt32Value(UNIT_NPC_FLAGS, 0); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); } } @@ -1208,7 +1208,7 @@ public: { case 16: Talk(SAY_SAEED_1); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP); SetEscortPaused(true); break; case 18: diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp index 497541d95..5467f548a 100644 --- a/src/server/scripts/Pet/pet_generic.cpp +++ b/src/server/scripts/Pet/pet_generic.cpp @@ -172,7 +172,7 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI _init = true; uint32 duration = 0; uint32 aura = 0; - me->SetUInt32Value(UNIT_NPC_FLAGS, 0); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); if (Unit* owner = me->GetCharmerOrOwner()) if (Player* player = owner->ToPlayer()) @@ -182,7 +182,7 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI aura = (player->GetTeamId(true) == TEAM_ALLIANCE ? SPELL_AURA_TIRED_S : SPELL_AURA_TIRED_G); duration = player->GetSpellCooldownDelay(aura); - me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP); for (uint8 i = 0; i < 3; ++i) { @@ -231,7 +231,7 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI { _mountTimer = 0; if (_state == ARGENT_PONY_STATE_NONE) - me->SetUInt32Value(UNIT_NPC_FLAGS, 0); + me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE); else if (Unit* owner = me->GetCharmerOrOwner()) { if (owner->IsMounted() && !me->IsMounted()) @@ -294,20 +294,20 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI switch (action) { case GOSSIP_ACTION_TRADE: - creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_VENDOR); + creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_VENDOR); player->GetSession()->SendListInventory(creature->GetGUID()); spellId = player->GetTeamId(true) ? SPELL_AURA_SHOP_G : SPELL_AURA_SHOP_S; creature->AI()->DoAction(ARGENT_PONY_STATE_VENDOR); break; case GOSSIP_ACTION_BANK: - creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_BANKER); + creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_BANKER); player->GetSession()->SendShowBank(player->GetGUID()); spellId = player->GetTeamId(true) ? SPELL_AURA_BANK_G : SPELL_AURA_BANK_S; creature->AI()->DoAction(ARGENT_PONY_STATE_BANK); break; case GOSSIP_ACTION_MAILBOX: { - creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_MAILBOX); + creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_MAILBOX); player->GetSession()->SendShowMailBox(creature->GetGUID()); spellId = player->GetTeamId(true) ? SPELL_AURA_POSTMAN_G : SPELL_AURA_POSTMAN_S; creature->AI()->DoAction(ARGENT_PONY_STATE_MAILBOX); diff --git a/src/server/scripts/World/npc_stave_of_ancients.cpp b/src/server/scripts/World/npc_stave_of_ancients.cpp index d50bd55ff..81b36ccd9 100644 --- a/src/server/scripts/World/npc_stave_of_ancients.cpp +++ b/src/server/scripts/World/npc_stave_of_ancients.cpp @@ -157,7 +157,7 @@ void NPCStaveQuestAI::PrepareForEncounter() SetHomePosition(); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } void NPCStaveQuestAI::ClearLootIfUnfair(Unit* killer) @@ -233,7 +233,7 @@ void NPCStaveQuestAI::ResetState(uint32 aura = 0) if (InNormalForm()) { me->m_Events.KillAllEvents(true); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } me->RemoveAura(aura); @@ -294,7 +294,7 @@ public: void EnterCombat(Unit* victim) override { RevealForm(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); if (InNormalForm()) { @@ -480,7 +480,7 @@ public: void EnterCombat(Unit* /*victim*/) override { RevealForm(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); } void UpdateAI(uint32 /*diff*/) override @@ -646,7 +646,7 @@ public: void EnterCombat(Unit* victim) override { RevealForm(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); if (!InNormalForm()) { @@ -878,7 +878,7 @@ public: void EnterCombat(Unit* victim) override { RevealForm(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); if (InNormalForm()) { @@ -1060,7 +1060,7 @@ public: void EnterCombat(Unit* victim) override { RevealForm(); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); if (!InNormalForm()) { diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index d37b1390e..19a40a4c7 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -675,7 +675,7 @@ public: { ResetFlagTimer = 120000; me->SetFaction(FACTION_PREY); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); } void EnterCombat(Unit* /*who*/) override { } @@ -683,7 +683,7 @@ public: void UpdateAI(uint32 diff) override { // Reset flags after a certain time has passed so that the next player has to start the 'event' again - if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER)) + if (me->HasNpcFlag(UNIT_NPC_FLAG_QUESTGIVER)) { if (ResetFlagTimer <= diff) { @@ -705,7 +705,7 @@ public: case TEXT_EMOTE_CHICKEN: if (player->GetQuestStatus(QUEST_CLUCK) == QUEST_STATUS_NONE && rand() % 30 == 1) { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetFaction(FACTION_FRIENDLY); Talk(EMOTE_HELLO); } @@ -713,7 +713,7 @@ public: case TEXT_EMOTE_CHEER: if (player->GetQuestStatus(QUEST_CLUCK) == QUEST_STATUS_COMPLETE) { - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); + me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->SetFaction(FACTION_FRIENDLY); Talk(EMOTE_CLUCK_TEXT); }