No Matches
Player Class Reference

#include <Player.h>


struct  BgBattlegroundQueueID_Rec
struct  ChatFloodThrottle
struct  ValuesUpdateForPlayerWithMaskSender

Public Types

typedef std::unordered_map< ObjectGuid::LowType, Item * > ItemMap
typedef std::list< Channel * > JoinedChannelsList
typedef std::set< uint32DFQuestsDoneList
- Public Types inherited from Unit
typedef std::set< Unit * > AttackerSet
typedef std::set< Unit * > ControlList
typedef std::vector< Unit * > UnitVector
typedef std::multimap< uint32, Aura * > AuraMap
typedef std::pair< AuraMap::const_iterator, AuraMap::const_iterator > AuraMapBounds
typedef std::pair< AuraMap::iterator, AuraMap::iterator > AuraMapBoundsNonConst
typedef std::multimap< uint32, AuraApplication * > AuraApplicationMap
typedef std::pair< AuraApplicationMap::const_iterator, AuraApplicationMap::const_iterator > AuraApplicationMapBounds
typedef std::pair< AuraApplicationMap::iterator, AuraApplicationMap::iterator > AuraApplicationMapBoundsNonConst
typedef std::multimap< AuraStateType, AuraApplication * > AuraStateAurasMap
typedef std::pair< AuraStateAurasMap::const_iterator, AuraStateAurasMap::const_iterator > AuraStateAurasMapBounds
typedef std::list< AuraEffect * > AuraEffectList
typedef std::list< Aura * > AuraList
typedef std::list< AuraApplication * > AuraApplicationList
typedef std::array< DiminishingReturn, DIMINISHING_MAXDiminishing
typedef std::vector< std::pair< uint32, AuraApplication * > > AuraApplicationProcContainer
typedef std::set< AuraApplication *, VisibleAuraSlotCompareVisibleAuraContainer

Public Member Functions

 Player (WorldSession *session)
 ~Player ()
PlayerAIAI () const
void CleanupsBeforeDelete (bool finalCleanup=true) override
void AddToWorld () override
void RemoveFromWorld () override
void SetObjectScale (float scale) override
bool TeleportTo (uint32 mapid, float x, float y, float z, float orientation, uint32 options=0, Optional< uint32 > instanceId={})
bool TeleportTo (WorldLocation const &loc, uint32 options=0, Optional< uint32 > instanceId={})
bool TeleportToBGEntryPoint ()
bool HasSummonPending () const
void SendSummonRequestFrom (Unit *summoner)
void SummonIfPossible (bool agree)
bool Create (ObjectGuid::LowType guidlow, WorldPackets::Character::CharacterCreateInfo const *createInfo)
void Update (uint32 time) override
bool IsImmunedToSpellEffect (SpellInfo const *spellInfo, SpellEffectInfo const &spellEffectInfo, WorldObject const *caster, bool requireImmunityPurgesEffectAttribute=false) const override
bool IsInAreaTriggerRadius (AreaTriggerEntry const *trigger) const
void SendInitialPacketsBeforeAddToMap ()
void SendInitialPacketsAfterAddToMap ()
void SendSupercededSpell (uint32 oldSpell, uint32 newSpell) const
void SendTransferAborted (uint32 mapid, TransferAbortReason reason, uint8 arg=0, int32 mapDifficultyXConditionID=0) const
bool CanInteractWithQuestGiver (Object *questGiver) const
CreatureGetNPCIfCanInteractWith (ObjectGuid const &guid, NPCFlags npcFlags, NPCFlags2 npcFlags2) const
GameObjectGetGameObjectIfCanInteractWith (ObjectGuid const &guid) const
GameObjectGetGameObjectIfCanInteractWith (ObjectGuid const &guid, GameobjectTypes type) const
void ToggleAFK ()
void ToggleDND ()
bool isAFK () const
bool isDND () const
uint16 GetChatFlags () const
int64 GetBarberShopCost (Trinity::IteratorPair< UF::ChrCustomizationChoice const * > newCustomizations) const
PlayerSocialGetSocial () const
void RemoveSocial ()
void InitTaxiNodesForLevel ()
bool ActivateTaxiPathTo (std::vector< uint32 > const &nodes, Creature *npc=nullptr, uint32 spellid=0, uint32 preferredMountDisplay=0)
bool ActivateTaxiPathTo (uint32 taxi_path_id, uint32 spellid=0)
void FinishTaxiFlight ()
void CleanupAfterTaxiFlight ()
void ContinueTaxiFlight () const
bool IsDeveloper () const
void SetDeveloper (bool on)
bool isAcceptWhispers () const
void SetAcceptWhispers (bool on)
bool IsGameMaster () const
bool IsGameMasterAcceptingWhispers () const
bool CanBeGameMaster () const
void SetGameMaster (bool on)
bool isGMChat () const
void SetGMChat (bool on)
bool isTaxiCheater () const
void SetTaxiCheater (bool on)
bool isGMVisible () const
void SetGMVisible (bool on)
void SetPvPDeath (bool on)
bool HasRaceChanged () const
void SetHasRaceChanged ()
bool HasBeenGrantedLevelsFromRaF () const
void SetBeenGrantedLevelsFromRaF ()
bool HasLevelBoosted () const
void SetHasLevelBoosted ()
uint32 GetXP () const
uint32 GetXPForNextLevel () const
void SetXP (uint32 xp)
void GiveXP (uint32 xp, Unit *victim, float group_rate=1.0f)
void GiveLevel (uint8 level)
bool IsMaxLevel () const
void InitStatsForLevel (bool reapplyMods=false)
bool GetCommandStatus (uint32 command) const
void SetCommandStatusOn (uint32 command)
void SetCommandStatusOff (uint32 command)
uint32 GetTotalPlayedTime () const
uint32 GetLevelPlayedTime () const
Gender GetNativeGender () const override
void SetNativeGender (Gender gender) override
void setDeathState (DeathState s) override
PetStableGetPetStable ()
PetStableGetOrInitPetStable ()
PetStable const * GetPetStable () const
PetGetPet () const
PetSummonPet (uint32 entry, Optional< PetSaveMode > slot, float x, float y, float z, float ang, uint32 despwtime, bool *isNew=nullptr)
void RemovePet (Pet *pet, PetSaveMode mode, bool returnreagent=false)
void SendTameFailure (PetTameResult result)
void AddPetAura (PetAura const *petSpell)
void RemovePetAura (PetAura const *petSpell)
CreatureGetSummonedBattlePet ()
void SetBattlePetData (BattlePets::BattlePet const *pet=nullptr)
void Say (std::string_view text, Language language, WorldObject const *=nullptr) override
 Handles said message in regular chat based on declared language and in config pre-defined Range. More...
void Say (uint32 textId, WorldObject const *target=nullptr) override
void Yell (std::string_view text, Language language, WorldObject const *=nullptr) override
 Handles yelled message in regular chat based on declared language and in config pre-defined Range. More...
void Yell (uint32 textId, WorldObject const *target=nullptr) override
void TextEmote (std::string_view text, WorldObject const *=nullptr, bool=false) override
 Outputs an universal text which is supposed to be an action. More...
void TextEmote (uint32 textId, WorldObject const *target=nullptr, bool isBossEmote=false) override
void Whisper (std::string_view text, Language language, Player *receiver, bool=false) override
 Handles whispers from Addons and players based on sender, receiver's guid and language. More...
void Whisper (uint32 textId, Player *target, bool isBossWhisper=false) override
void WhisperAddon (std::string const &text, std::string const &prefix, bool isLogged, Player *receiver)
bool CanUnderstandLanguage (Language language) const
template<typename T >
bool ForEachItem (ItemSearchLocation location, T callback) const
 Iterate over each item in the player storage. More...
void UpdateAverageItemLevelTotal ()
void UpdateAverageItemLevelEquipped ()
uint8 FindEquipSlot (Item const *item, uint32 slot, bool swap) const
uint32 GetFreeInventorySlotCount (EnumFlag< ItemSearchLocation > location=ItemSearchLocation::Inventory) const
uint32 GetItemCount (uint32 item, bool inBankAlso=false, Item *skipItem=nullptr) const
uint32 GetItemCountWithLimitCategory (uint32 limitCategory, Item *skipItem=nullptr) const
ItemGetItemByGuid (ObjectGuid guid) const
ItemGetItemByEntry (uint32 entry, ItemSearchLocation where=ItemSearchLocation::Default) const
std::vector< Item * > GetItemListByEntry (uint32 entry, bool inBankAlso=false) const
ItemGetItemByPos (uint16 pos) const
ItemGetItemByPos (uint8 bag, uint8 slot) const
ItemGetUseableItemByPos (uint8 bag, uint8 slot) const
BagGetBagByPos (uint8 slot) const
std::vector< Item * > GetCraftingReagentItemsToDeposit ()
uint32 GetFreeInventorySpace () const
ItemGetWeaponForAttack (WeaponAttackType attackType, bool useable=false) const
ItemGetShield (bool useable=false) const
ItemGetChildItemByGuid (ObjectGuid guid) const
std::vector< Item * > & GetItemUpdateQueue ()
bool IsValidPos (uint16 pos, bool explicit_pos) const
bool IsValidPos (uint8 bag, uint8 slot, bool explicit_pos) const
uint8 GetInventorySlotCount () const
void SetInventorySlotCount (uint8 slots)
uint8 GetBankBagSlotCount () const
void SetBankBagSlotCount (uint8 count)
bool HasItemCount (uint32 item, uint32 count=1, bool inBankAlso=false) const
bool HasItemFitToSpellRequirements (SpellInfo const *spellInfo, Item const *ignoreItem=nullptr) const
bool CanNoReagentCast (SpellInfo const *spellInfo) const
void SetNoRegentCostMask (flag128 mask)
bool HasItemOrGemWithIdEquipped (uint32 item, uint32 count, uint8 except_slot=NULL_SLOT) const
bool HasItemWithLimitCategoryEquipped (uint32 limitCategory, uint32 count, uint8 except_slot=NULL_SLOT) const
bool HasGemWithLimitCategoryEquipped (uint32 limitCategory, uint32 count, uint8 except_slot=NULL_SLOT) const
InventoryResult CanTakeMoreSimilarItems (Item *pItem, uint32 *offendingItemId=nullptr) const
InventoryResult CanTakeMoreSimilarItems (uint32 entry, uint32 count, uint32 *offendingItemId=nullptr) const
InventoryResult CanStoreNewItem (uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 item, uint32 count, uint32 *no_space_count=nullptr) const
InventoryResult CanStoreItem (uint8 bag, uint8 slot, ItemPosCountVec &dest, Item *pItem, bool swap=false) const
InventoryResult CanStoreItems (Item **items, int count, uint32 *offendingItemId) const
InventoryResult CanEquipNewItem (uint8 slot, uint16 &dest, uint32 item, bool swap) const
InventoryResult CanEquipItem (uint8 slot, uint16 &dest, Item *pItem, bool swap, bool not_loading=true) const
InventoryResult CanEquipChildItem (Item *parentItem) const
InventoryResult CanEquipUniqueItem (Item *pItem, uint8 except_slot=NULL_SLOT, uint32 limit_count=1) const
InventoryResult CanEquipUniqueItem (ItemTemplate const *itemProto, uint8 except_slot=NULL_SLOT, uint32 limit_count=1) const
InventoryResult CanUnequipItems (uint32 item, uint32 count) const
InventoryResult CanUnequipItem (uint16 src, bool swap) const
InventoryResult CanBankItem (uint8 bag, uint8 slot, ItemPosCountVec &dest, Item *pItem, bool swap, bool not_loading=true, bool reagentBankOnly=false) const
InventoryResult CanUseItem (Item *pItem, bool not_loading=true) const
bool HasItemTotemCategory (uint32 TotemCategory) const
InventoryResult CanUseItem (ItemTemplate const *pItem, bool skipRequiredLevelCheck=false) const
InventoryResult CanRollNeedForItem (ItemTemplate const *item, Map const *map, bool restrictOnlyLfg) const
ItemStoreNewItem (ItemPosCountVec const &pos, uint32 itemId, bool update, ItemRandomBonusListId randomBonusListId=0, GuidSet const &allowedLooters=GuidSet(), ItemContext context=ItemContext::NONE, std::vector< int32 > const &bonusListIDs=std::vector< int32 >(), bool addToCollection=true)
ItemStoreItem (ItemPosCountVec const &pos, Item *pItem, bool update)
ItemEquipNewItem (uint16 pos, uint32 item, ItemContext context, bool update)
ItemEquipItem (uint16 pos, Item *pItem, bool update)
void AutoUnequipOffhandIfNeed (bool force=false)
void EquipChildItem (uint8 parentBag, uint8 parentSlot, Item *parentItem)
void AutoUnequipChildItem (Item *parentItem)
bool StoreNewItemInBestSlots (uint32 itemId, uint32 amount, ItemContext context)
void AutoStoreLoot (uint8 bag, uint8 slot, uint32 loot_id, LootStore const &store, ItemContext context=ItemContext::NONE, bool broadcast=false, bool createdByPlayer=false)
void AutoStoreLoot (uint32 loot_id, LootStore const &store, ItemContext context=ItemContext::NONE, bool broadcast=false, bool createdByPlayer=false)
void StoreLootItem (ObjectGuid lootWorldObjectGuid, uint8 lootSlot, Loot *loot, AELootResult *aeResult=nullptr)
InventoryResult CanTakeMoreSimilarItems (uint32 entry, uint32 count, Item *pItem, uint32 *no_space_count=nullptr, uint32 *offendingItemId=nullptr) const
InventoryResult CanStoreItem (uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 entry, uint32 count, Item *pItem=nullptr, bool swap=false, uint32 *no_space_count=nullptr) const
void AddRefundReference (ObjectGuid it)
void DeleteRefundReference (ObjectGuid it)
void SendCurrencies () const
 Send full data about all currencies to client. More...
void SendPvpRewards () const
 Send conquest currency points and their cap week/arena. More...
void SetCreateCurrency (uint32 id, uint32 amount)
 Initialize currency amount for custom initialization at create character. More...
void ModifyCurrency (uint32 id, int32 amount, CurrencyGainSource gainSource=CurrencyGainSource::Cheat, CurrencyDestroyReason destroyReason=CurrencyDestroyReason::Cheat)
 Modify currency amount. More...
void AddCurrency (uint32 id, uint32 amount, CurrencyGainSource gainSource=CurrencyGainSource::Cheat)
void RemoveCurrency (uint32 id, int32 amount, CurrencyDestroyReason destroyReason=CurrencyDestroyReason::Cheat)
void IncreaseCurrencyCap (uint32 id, uint32 amount)
 Increase currency cap. More...
void ResetCurrencyWeekCap ()
 Reset weekly quantity. More...
uint32 GetCurrencyQuantity (uint32 id) const
uint32 GetCurrencyWeeklyQuantity (uint32 id) const
uint32 GetCurrencyTrackedQuantity (uint32 id) const
uint32 GetCurrencyIncreasedCapQuantity (uint32 id) const
uint32 GetCurrencyMaxQuantity (CurrencyTypesEntry const *currency, bool onLoad=false, bool onUpdateVersion=false) const
uint32 GetCurrencyWeeklyCap (uint32 id) const
uint32 GetCurrencyWeeklyCap (CurrencyTypesEntry const *currency) const
bool HasCurrency (uint32 id, uint32 amount) const
void SetInvSlot (uint32 slot, ObjectGuid guid)
void ApplyEquipCooldown (Item *pItem)
void QuickEquipItem (uint16 pos, Item *pItem)
void VisualizeItem (uint8 slot, Item *pItem)
void SetVisibleItemSlot (uint8 slot, Item *pItem)
ItemBankItem (ItemPosCountVec const &dest, Item *pItem, bool update)
void RemoveItem (uint8 bag, uint8 slot, bool update)
void MoveItemFromInventory (uint8 bag, uint8 slot, bool update)
void MoveItemToInventory (ItemPosCountVec const &dest, Item *pItem, bool update, bool in_characterInventoryDB=false)
void RemoveItemDependentAurasAndCasts (Item *pItem)
void DestroyItem (uint8 bag, uint8 slot, bool update)
uint32 DestroyItemCount (uint32 item, uint32 count, bool update, bool unequip_check=false)
void DestroyItemCount (Item *item, uint32 &count, bool update)
void DestroyConjuredItems (bool update)
void DestroyZoneLimitedItem (bool update, uint32 new_zone)
void SplitItem (uint16 src, uint16 dst, uint32 count)
void SwapItem (uint16 src, uint16 dst)
void AddItemToBuyBackSlot (Item *pItem)
void SetBuybackPrice (uint32 slot, uint32 price)
void SetBuybackTimestamp (uint32 slot, time_t timestamp)
ItemGetItemFromBuyBackSlot (uint32 slot)
void RemoveItemFromBuyBackSlot (uint32 slot, bool del)
void SendEquipError (InventoryResult msg, Item const *item1=nullptr, Item const *item2=nullptr, uint32 itemId=0) const
void SendBuyError (BuyResult msg, Creature *creature, uint32 item, uint32 param) const
void SendSellError (SellResult msg, Creature *creature, ObjectGuid guid) const
void AddWeaponProficiency (uint32 newflag)
void AddArmorProficiency (uint32 newflag)
uint32 GetWeaponProficiency () const
uint32 GetArmorProficiency () const
bool IsUseEquipedWeapon (bool mainhand) const
bool IsTwoHandUsed () const
bool IsUsingTwoHandedWeaponInOneHand () const
void SendNewItem (Item *item, uint32 quantity, bool received, bool created, bool broadcast=false, uint32 dungeonEncounterId=0)
bool BuyItemFromVendorSlot (ObjectGuid vendorguid, uint32 vendorslot, uint32 item, uint8 count, uint8 bag, uint8 slot)
bool BuyCurrencyFromVendorSlot (ObjectGuid vendorGuid, uint32 vendorSlot, uint32 currency, uint32 count)
bool _StoreOrEquipNewItem (uint32 vendorslot, uint32 item, uint8 count, uint8 bag, uint8 slot, int64 price, ItemTemplate const *pProto, Creature *pVendor, VendorItem const *crItem, bool bStore)
float GetReputationPriceDiscount (Creature const *creature) const
float GetReputationPriceDiscount (FactionTemplateEntry const *factionTemplate) const
PlayerGetTrader () const
TradeDataGetTradeData () const
void TradeCancel (bool sendback)
CinematicMgrGetCinematicMgr () const
void UpdateEnchantTime (uint32 time)
void UpdateSoulboundTradeItems ()
void AddTradeableItem (Item *item)
void RemoveTradeableItem (Item *item)
void UpdateItemDuration (uint32 time, bool realtimeonly=false)
void AddEnchantmentDurations (Item *item)
void RemoveEnchantmentDurations (Item *item)
void RemoveEnchantmentDurationsReferences (Item *item)
void RemoveArenaEnchantments (EnchantmentSlot slot)
void AddEnchantmentDuration (Item *item, EnchantmentSlot slot, uint32 duration)
void ApplyEnchantment (Item *item, EnchantmentSlot slot, bool apply, bool apply_dur=true, bool ignore_condition=false)
void ApplyEnchantment (Item *item, bool apply)
void UpdateSkillEnchantments (uint16 skill_id, uint16 curr_value, uint16 new_value)
void SendEnchantmentDurations ()
void AddItemDurations (Item *item)
void RemoveItemDurations (Item *item)
void SendItemDurations ()
void LoadCorpse (PreparedQueryResult result)
bool AddItem (uint32 itemId, uint32 count)
void PrepareGossipMenu (WorldObject *source, uint32 menuId, bool showQuests=false)
void SendPreparedGossip (WorldObject *source)
void OnGossipSelect (WorldObject *source, int32 gossipOptionId, uint32 menuId)
uint32 GetGossipTextId (uint32 menuId, WorldObject *source)
uint32 GetGossipTextId (WorldObject *source)
uint32 GetGossipMenuForSource (WorldObject *source)
int32 GetQuestMinLevel (Quest const *quest) const
int32 GetQuestMinLevel (uint32 contentTuningId) const
int32 GetQuestLevel (Quest const *quest) const
int32 GetQuestLevel (uint32 contentTuningId) const
void PrepareQuestMenu (ObjectGuid guid)
void SendPreparedQuest (WorldObject *source)
bool IsActiveQuest (uint32 quest_id) const
Quest const * GetNextQuest (ObjectGuid guid, Quest const *quest) const
bool CanSeeStartQuest (Quest const *quest) const
bool CanTakeQuest (Quest const *quest, bool msg) const
bool CanAddQuest (Quest const *quest, bool msg) const
bool CanCompleteQuest (uint32 quest_id, uint32 ignoredQuestObjectiveId=0)
bool CanCompleteRepeatableQuest (Quest const *quest)
bool CanRewardQuest (Quest const *quest, bool msg) const
bool CanRewardQuest (Quest const *quest, LootItemType rewardType, uint32 rewardId, bool msg) const
void AddQuestAndCheckCompletion (Quest const *quest, Object *questGiver)
void AddQuest (Quest const *quest, Object *questGiver)
void AbandonQuest (uint32 quest_id)
void CompleteQuest (uint32 quest_id)
void IncompleteQuest (uint32 quest_id)
uint32 GetQuestMoneyReward (Quest const *quest) const
uint32 GetQuestXPReward (Quest const *quest)
bool CanSelectQuestPackageItem (QuestPackageItemEntry const *questPackageItem) const
void RewardQuestPackage (uint32 questPackageId, uint32 onlyItemId=0)
void RewardQuest (Quest const *quest, LootItemType rewardType, uint32 rewardId, Object *questGiver, bool announce=true)
void SetRewardedQuest (uint32 quest_id)
void FailQuest (uint32 quest_id)
bool SatisfyQuestSkill (Quest const *qInfo, bool msg) const
bool SatisfyQuestLevel (Quest const *qInfo, bool msg) const
bool SatisfyQuestMinLevel (Quest const *qInfo, bool msg) const
bool SatisfyQuestMaxLevel (Quest const *qInfo, bool msg) const
bool SatisfyQuestLog (bool msg) const
bool SatisfyQuestDependentQuests (Quest const *qInfo, bool msg) const
bool SatisfyQuestPreviousQuest (Quest const *qInfo, bool msg) const
bool SatisfyQuestDependentPreviousQuests (Quest const *qInfo, bool msg) const
bool SatisfyQuestBreadcrumbQuest (Quest const *qInfo, bool msg) const
bool SatisfyQuestDependentBreadcrumbQuests (Quest const *qInfo, bool msg) const
bool SatisfyQuestClass (Quest const *qInfo, bool msg) const
bool SatisfyQuestRace (Quest const *qInfo, bool msg) const
bool SatisfyQuestReputation (Quest const *qInfo, bool msg) const
bool SatisfyQuestStatus (Quest const *qInfo, bool msg) const
bool SatisfyQuestConditions (Quest const *qInfo, bool msg) const
bool SatisfyQuestTimed (Quest const *qInfo, bool msg) const
bool SatisfyQuestExclusiveGroup (Quest const *qInfo, bool msg) const
bool SatisfyQuestDay (Quest const *qInfo, bool msg) const
bool SatisfyQuestWeek (Quest const *qInfo, bool msg) const
bool SatisfyQuestMonth (Quest const *qInfo, bool msg) const
bool SatisfyQuestSeasonal (Quest const *qInfo, bool msg) const
bool SatisfyQuestExpansion (Quest const *qInfo, bool msg) const
bool GiveQuestSourceItem (Quest const *quest)
bool TakeQuestSourceItem (uint32 questId, bool msg)
bool GetQuestRewardStatus (uint32 quest_id) const
QuestStatus GetQuestStatus (uint32 quest_id) const
void SetQuestStatus (uint32 questId, QuestStatus status, bool update=true)
void RemoveActiveQuest (uint32 questId, bool update=true)
void RemoveRewardedQuest (uint32 questId, bool update=true)
bool SendQuestUpdate (uint32 questId, bool updateVisiblity=true)
QuestGiverStatus GetQuestDialogStatus (Object *questGiver)
void SetDailyQuestStatus (uint32 quest_id)
bool IsDailyQuestDone (uint32 quest_id) const
void SetWeeklyQuestStatus (uint32 quest_id)
void SetMonthlyQuestStatus (uint32 quest_id)
void SetSeasonalQuestStatus (uint32 quest_id)
void DailyReset ()
void ResetWeeklyQuestStatus ()
void ResetMonthlyQuestStatus ()
void ResetSeasonalQuestStatus (uint16 event_id, time_t eventStartTime)
uint16 FindQuestSlot (uint32 quest_id) const
uint32 GetQuestSlotQuestId (uint16 slot) const
uint32 GetQuestSlotState (uint16 slot) const
uint16 GetQuestSlotCounter (uint16 slot, uint8 counter) const
uint32 GetQuestSlotEndTime (uint16 slot) const
uint32 GetQuestSlotAcceptTime (uint16 slot) const
bool GetQuestSlotObjectiveFlag (uint16 slot, int8 objectiveIndex) const
int32 GetQuestSlotObjectiveData (uint16 slot, QuestObjective const &objective) const
void SetQuestSlot (uint16 slot, uint32 quest_id)
void SetQuestSlotCounter (uint16 slot, uint8 counter, uint16 count)
void SetQuestSlotState (uint16 slot, uint32 state)
void RemoveQuestSlotState (uint16 slot, uint32 state)
void SetQuestSlotEndTime (uint16 slot, time_t endTime)
void SetQuestSlotAcceptTime (uint16 slot, time_t acceptTime)
void SetQuestSlotObjectiveFlag (uint16 slot, int8 objectiveIndex)
void RemoveQuestSlotObjectiveFlag (uint16 slot, int8 objectiveIndex)
void SetQuestCompletedBit (uint32 questBit, bool completed)
uint16 GetReqKillOrCastCurrentCount (uint32 quest_id, int32 entry) const
void AreaExploredOrEventHappens (uint32 questId)
void GroupEventHappens (uint32 questId, WorldObject const *pEventObject)
void ItemAddedQuestCheck (uint32 entry, uint32 count)
void ItemRemovedQuestCheck (uint32 entry, uint32 count)
void KilledMonster (CreatureTemplate const *cInfo, ObjectGuid guid)
void KilledMonsterCredit (uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
void KilledPlayerCredit (ObjectGuid victimGuid)
void KillCreditGO (uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
void TalkedToCreature (uint32 entry, ObjectGuid guid)
void KillCreditCriteriaTreeObjective (QuestObjective const &questObjective)
void MoneyChanged (uint64 value)
void ReputationChanged (FactionEntry const *factionEntry, int32 change)
void CurrencyChanged (uint32 currencyId, int32 change)
void UpdateQuestObjectiveProgress (QuestObjectiveType objectiveType, int32 objectId, int64 addCount, ObjectGuid victimGuid=ObjectGuid::Empty)
bool HasQuestForItem (uint32 itemId) const
bool HasQuestForGO (int32 goId) const
void UpdateVisibleGameobjectsOrSpellClicks ()
bool CanShareQuest (uint32 questId) const
int32 GetQuestObjectiveData (QuestObjective const &objective) const
void SetQuestObjectiveData (QuestObjective const &objective, int32 data)
bool IsQuestObjectiveCompletable (uint16 slot, Quest const *quest, QuestObjective const &objective) const
bool IsQuestObjectiveComplete (uint16 slot, Quest const *quest, QuestObjective const &objective) const
bool IsQuestObjectiveProgressBarComplete (uint16 slot, Quest const *quest) const
void SendQuestComplete (uint32 questId) const
void SendQuestReward (Quest const *quest, Creature const *questGiver, uint32 xp, bool hideChatMessage) const
void SendQuestFailed (uint32 questId, InventoryResult reason=EQUIP_ERR_OK) const
void SendQuestTimerFailed (uint32 questId) const
void SendCanTakeQuestResponse (QuestFailedReason reason, bool sendErrorMessage=true, std::string reasonText="") const
void SendQuestConfirmAccept (Quest const *quest, Player *receiver) const
void SendPushToPartyResponse (Player const *player, QuestPushReason reason, Quest const *quest=nullptr) const
void SendQuestUpdateAddCredit (Quest const *quest, ObjectGuid guid, QuestObjective const &obj, uint16 count) const
void SendQuestUpdateAddCreditSimple (QuestObjective const &obj) const
void SendQuestUpdateAddPlayer (Quest const *quest, uint16 newCount) const
void SendQuestGiverStatusMultiple ()
void SendQuestGiverStatusMultiple (GuidUnorderedSet const &guids)
void SendDisplayToast (uint32 entry, DisplayToastType type, bool isBonusRoll, uint32 quantity, DisplayToastMethod method, uint32 questId=0, Item *item=nullptr) const
uint32 GetSharedQuestID () const
ObjectGuid GetPlayerSharingQuest () const
void SetQuestSharingInfo (ObjectGuid guid, uint32 id)
void ClearQuestSharingInfo ()
uint32 GetInGameTime () const
void SetInGameTime (uint32 time)
void AddTimedQuest (uint32 questId)
void RemoveTimedQuest (uint32 questId)
void SaveCUFProfile (uint8 id, std::nullptr_t)
void SaveCUFProfile (uint8 id, std::unique_ptr< CUFProfile > profile)

‍Empties a CUF profile at position 0-4

CUFProfileGetCUFProfile (uint8 id) const

‍Replaces a CUF profile at position 0-4

uint8 GetCUFProfilesCount () const

‍Retrieves a CUF profile at position 0-4

bool HasPvPForcingQuest () const
bool LoadFromDB (ObjectGuid guid, CharacterDatabaseQueryHolder const &holder)
bool IsLoading () const override
void SaveToDB (bool create=false)
void SaveToDB (LoginDatabaseTransaction loginTransaction, CharacterDatabaseTransaction trans, bool create=false)
void SaveInventoryAndGoldToDB (CharacterDatabaseTransaction trans)
void SaveGoldToDB (CharacterDatabaseTransaction trans) const
void SetBindPoint (ObjectGuid guid) const
void SendRespecWipeConfirm (ObjectGuid const &guid, uint32 cost, SpecResetType respecType) const
void RegenerateAll ()
void Regenerate (Powers power)
void RegenerateHealth ()
void setRegenTimerCount (uint32 time)
void setWeaponChangeTimer (uint32 time)
uint64 GetMoney () const
bool ModifyMoney (int64 amount, bool sendError=true)
bool HasEnoughMoney (uint64 amount) const
bool HasEnoughMoney (int64 amount) const
void SetMoney (uint64 value)
RewardedQuestSet const & getRewardedQuests () const
QuestStatusMapgetQuestStatusMap ()
size_t GetRewardedQuestCount () const
bool IsQuestRewarded (uint32 quest_id) const
UnitGetSelectedUnit () const
PlayerGetSelectedPlayer () const
void SetTarget (ObjectGuid const &) override
void SetSelection (ObjectGuid const &guid)
 Used for serverside target changes, does not apply to players. More...
void SendMailResult (uint64 mailId, MailResponseType mailAction, MailResponseResult mailError, uint32 equipError=0, ObjectGuid::LowType itemGuid=UI64LIT(0), uint32 itemCount=0) const
void SendNewMail () const
void UpdateNextMailTimeAndUnreads ()
void AddNewMailDeliverTime (time_t deliver_time)
void RemoveMail (uint64 id)
void AddMail (Mail *mail)
uint32 GetMailSize () const
MailGetMail (uint64 id)
PlayerMails const & GetMails () const
void SendItemRetrievalMail (uint32 itemEntry, uint32 count, ItemContext context)
ItemGetMItem (ObjectGuid::LowType id)
void AddMItem (Item *it)
bool RemoveMItem (ObjectGuid::LowType id)
void SendOnCancelExpectedVehicleRideAura () const
void PetSpellInitialize ()
void CharmSpellInitialize ()
void PossessSpellInitialize ()
void VehicleSpellInitialize ()
void SendRemoveControlBar () const
bool HasSpell (uint32 spell) const override
bool HasActiveSpell (uint32 spell) const
SpellInfo const * GetCastSpellInfo (SpellInfo const *spellInfo) const override
bool IsSpellFitByClassAndRace (uint32 spell_id) const
bool HandlePassiveSpellLearn (SpellInfo const *spellInfo)
void SendProficiency (ItemClass itemClass, uint32 itemSubclassMask) const
void SendKnownSpells ()
void SendUnlearnSpells ()
bool AddSpell (uint32 spellId, bool active, bool learning, bool dependent, bool disabled, bool loading=false, int32 fromSkill=0, bool favorite=false, Optional< int32 > traitDefinitionId={})
void LearnSpell (uint32 spell_id, bool dependent, int32 fromSkill=0, bool suppressMessaging=false, Optional< int32 > traitDefinitionId={})
void RemoveSpell (uint32 spell_id, bool disabled=false, bool learn_low_rank=true, bool suppressMessaging=false)
void ResetSpells (bool myClassOnly=false)
void LearnCustomSpells ()
void LearnDefaultSkills ()
void LearnDefaultSkill (SkillRaceClassInfoEntry const *rcInfo)
void LearnQuestRewardedSpells ()
void LearnQuestRewardedSpells (Quest const *quest)
void AddTemporarySpell (uint32 spellId)
void RemoveTemporarySpell (uint32 spellId)
void SetOverrideSpellsId (int32 overrideSpellsId)
void AddOverrideSpell (uint32 overridenSpellId, uint32 newSpellId)
void RemoveOverrideSpell (uint32 overridenSpellId, uint32 newSpellId)
void LearnSpecializationSpells ()
void RemoveSpecializationSpells ()
void AddSpellCategoryCooldownMod (int32 spellCategoryId, int32 mod)
void RemoveSpellCategoryCooldownMod (int32 spellCategoryId, int32 mod)
void SetSpellFavorite (uint32 spellId, bool favorite)
void AddStoredAuraTeleportLocation (uint32 spellId)
void RemoveStoredAuraTeleportLocation (uint32 spellId)
WorldLocation const * GetStoredAuraTeleportLocation (uint32 spellId) const
void SetReputation (uint32 factionentry, int32 value)
int32 GetReputation (uint32 factionentry) const
std::string GetGuildName () const
void SetLootSpecId (uint32 id)
uint32 GetLootSpecId () const
ZonePVPTypeOverride GetOverrideZonePVPType () const
void SetOverrideZonePVPType (ZonePVPTypeOverride type)
uint32 GetTalentResetCost () const
void SetTalentResetCost (uint32 cost)
time_t GetTalentResetTime () const
void SetTalentResetTime (time_t time_)
uint32 GetPrimarySpecialization () const
void SetPrimarySpecialization (uint32 spec)
uint8 GetActiveTalentGroup () const
void SetActiveTalentGroup (uint8 group)
uint32 GetDefaultSpecId () const
bool ResetTalents (bool noCost=false)
void ResetPvpTalents ()
uint32 GetNextResetTalentsCost () const
void InitTalentForLevel ()
void SendTalentsInfoData ()
TalentLearnResult LearnTalent (uint32 talentId, int32 *spellOnCooldown)
bool AddTalent (TalentEntry const *talent, uint8 spec, bool learning)
bool HasTalent (uint32 spell_id, uint8 spec) const
void RemoveTalent (TalentEntry const *talent)
void ResetTalentSpecialization ()
TalentLearnResult LearnPvpTalent (uint32 talentID, uint8 slot, int32 *spellOnCooldown)
bool AddPvpTalent (PvpTalentEntry const *talent, uint8 activeTalentGroup, uint8 slot)
void RemovePvpTalent (PvpTalentEntry const *talent, uint8 activeTalentGroup)
void TogglePvpTalents (bool enable)
bool HasPvpTalent (uint32 talentID, uint8 activeTalentGroup) const
void EnablePvpRules (bool dueToCombat=false)
void DisablePvpRules ()
bool HasPvpRulesEnabled () const
bool IsInAreaThatActivatesPvpTalents () const
bool IsAreaThatActivatesPvpTalents (uint32 areaID) const
void ActivateTalentGroup (ChrSpecializationEntry const *spec)
PlayerTalentMap const * GetTalentMap (uint8 spec) const
PlayerTalentMapGetTalentMap (uint8 spec)
PlayerPvpTalentMap const & GetPvpTalentMap (uint8 spec) const
PlayerPvpTalentMapGetPvpTalentMap (uint8 spec)
std::vector< uint32 > const & GetGlyphs (uint8 spec) const
std::vector< uint32 > & GetGlyphs (uint8 spec)
ActionButtonList const & GetActionButtons () const
void StartLoadingActionButtons (std::function< void()> &&callback=nullptr)
void LoadActions (PreparedQueryResult result)
void CreateTraitConfig (WorldPackets::Traits::TraitConfig &traitConfig)
void AddTraitConfig (WorldPackets::Traits::TraitConfig const &traitConfig)
UF::TraitConfig const * GetTraitConfig (int32 configId) const
void UpdateTraitConfig (WorldPackets::Traits::TraitConfig &&newConfig, int32 savedConfigId, bool withCastTime)
void ApplyTraitEntryChanges (int32 editedConfigId, WorldPackets::Traits::TraitConfig const &newConfig, bool applyTraits, bool consumeCurrencies)
void RenameTraitConfig (int32 editedConfigId, std::string &&newName)
void DeleteTraitConfig (int32 deletedConfigId)
void ApplyTraitConfig (int32 configId, bool apply)
void ApplyTraitEntry (int32 traitNodeEntryId, int32 rank, int32 grantedRanks, bool apply)
void SetActiveCombatTraitConfigID (int32 traitConfigId)
void SetTraitConfigUseStarterBuild (int32 traitConfigId, bool useStarterBuild)
void SetTraitConfigUseSharedActionBars (int32 traitConfigId, bool usesSharedActionBars, bool isLastSelectedSavedConfig)
uint32 GetFreePrimaryProfessionPoints () const
void SetFreePrimaryProfessions (uint16 profs)
void InitPrimaryProfessions ()
PlayerSpellMap const & GetSpellMap () const
PlayerSpellMapGetSpellMap ()
void AddSpellMod (SpellModifier *mod, bool apply)
template<class T >
void GetSpellModValues (SpellInfo const *spellInfo, SpellModOp op, Spell *spell, T base, int32 *flat, float *pct) const
template<class T >
void ApplySpellMod (SpellInfo const *spellInfo, SpellModOp op, T &basevalue, Spell *spell=nullptr) const
void SetSpellModTakingSpell (Spell *spell, bool apply)
void SendSpellModifiers () const
void RemoveArenaSpellCooldowns (bool removeActivePetCooldowns=false)
uint32 GetLastPotionId () const
void SetLastPotionId (uint32 item_id)
void UpdatePotionCooldown (Spell *spell=nullptr)
void SetResurrectRequestData (WorldObject const *caster, uint32 health, uint32 mana, uint32 appliedAura)
void ClearResurrectRequestData ()
bool IsResurrectRequestedBy (ObjectGuid const &guid) const
bool IsResurrectRequested () const
void ResurrectUsingRequestData ()
void ResurrectUsingRequestDataImpl ()
PlayerCreateMode GetCreateMode () const
uint8 getCinematic () const
void setCinematic (uint8 cine)
uint32 GetMovie () const
void SetMovie (uint32 movie)
ActionButtonAddActionButton (uint8 button, uint64 action, uint8 type)
void RemoveActionButton (uint8 button)
ActionButton const * GetActionButton (uint8 button)
void SendInitialActionButtons () const
void SendActionButtons (uint32 state) const
bool IsActionButtonDataValid (uint8 button, uint64 action, uint8 type) const
void SetMultiActionBars (uint8 mask)
void InitPvP ()
void UpdatePvPState (bool onlyFFA=false)
void SetPvP (bool state) override
void UpdatePvP (bool state, bool override=false)
void UpdateZone (uint32 newZone, uint32 newArea)
void UpdateArea (uint32 newArea)
void UpdateHostileAreaState (AreaTableEntry const *area)
void UpdateZoneDependentAuras (uint32 zone_id)
void UpdateAreaDependentAuras (uint32 area_id)
void UpdateAfkReport (time_t currTime)
 checks the 15 afk reports per 5 minutes limit More...
void UpdatePvPFlag (time_t currTime)
void SetContestedPvP (Player *attackedPlayer=nullptr)
void UpdateContestedPvP (uint32 currTime)
void SetContestedPvPTimer (uint32 newTime)
void ResetContestedPvP ()
void UpdateDuelFlag (time_t currTime)
void CheckDuelDistance (time_t currTime)
void DuelComplete (DuelCompleteType type)
void SetDuelArbiter (ObjectGuid guid)
void SetDuelTeam (uint32 duelTeam)
bool IsGroupVisibleFor (Player const *p) const
bool IsInSameGroupWith (Player const *p) const
bool IsInSameRaidWith (Player const *p) const
void UninviteFromGroup ()
void RemoveFromGroup (RemoveMethod method=GROUP_REMOVEMETHOD_DEFAULT)
void SendUpdateToOutOfRangeGroupMembers ()
void SetInGuild (ObjectGuid::LowType guildId)
void SetGuildRank (uint8 rankId)
uint8 GetGuildRank () const
void SetGuildLevel (uint32 level)
uint32 GetGuildLevel () const
void SetGuildIdInvited (ObjectGuid::LowType GuildId)
ObjectGuid::LowType GetGuildId () const
GuildGetGuild ()
Guild const * GetGuild () const
ObjectGuid::LowType GetGuildIdInvited () const
void SetInArenaTeam (uint32 ArenaTeamId, uint8 slot, uint8 type)
void SetArenaTeamInfoField (uint8 slot, ArenaTeamInfoType type, uint32 value)
uint32 GetArenaTeamId (uint8) const
uint32 GetArenaPersonalRating (uint8 slot) const
void SetArenaTeamIdInvited (uint32 ArenaTeamId)
uint32 GetArenaTeamIdInvited () const
uint32 GetRBGPersonalRating () const
UF::PVPInfo const * GetPvpInfoForBracket (int8 bracket) const
Difficulty GetDifficultyID (MapEntry const *mapEntry) const
Difficulty GetDungeonDifficultyID () const
Difficulty GetRaidDifficultyID () const
Difficulty GetLegacyRaidDifficultyID () const
void SetDungeonDifficultyID (Difficulty dungeon_difficulty)
void SetRaidDifficultyID (Difficulty raid_difficulty)
void SetLegacyRaidDifficultyID (Difficulty raid_difficulty)
void SendRaidGroupOnlyMessage (RaidGroupReason reason, int32 delay) const
bool UpdateSkillPro (uint16 skillId, int32 chance, uint32 step)
bool UpdateCraftSkill (SpellInfo const *spellInfo)
bool UpdateGatherSkill (uint32 skillId, uint32 skillValue, uint32 redLevel, uint32 multiplicator=1, WorldObject const *object=nullptr)
bool UpdateFishingSkill (int32 expansion)
float GetHealthBonusFromStamina () const
Stats GetPrimaryStat () const
bool UpdateStats (Stats stat) override
bool UpdateAllStats () override
void ApplySpellPenetrationBonus (int32 amount, bool apply)
void ApplyModTargetResistance (int32 mod, bool apply)
void ApplyModTargetPhysicalResistance (int32 mod, bool apply)
void UpdateResistances (uint32 school) override
void UpdateArmor () override
void UpdateMaxHealth () override
void UpdateMaxPower (Powers power) override
uint32 GetPowerIndex (Powers power) const override
void UpdateAttackPowerAndDamage (bool ranged=false) override
void ApplySpellPowerBonus (int32 amount, bool apply)
void UpdateSpellDamageAndHealingBonus ()
void ApplyModDamageDonePos (SpellSchools school, int32 mod, bool apply)
void ApplyModDamageDoneNeg (SpellSchools school, int32 mod, bool apply)
void ApplyModDamageDonePercent (SpellSchools school, float pct, bool apply)
void SetModDamageDonePercent (uint8 school, float pct)
void ApplyRatingMod (CombatRating cr, int32 value, bool apply)
void UpdateRating (CombatRating cr)
void UpdateAllRatings ()
void UpdateMastery ()
void UpdateVersatilityDamageDone ()
void UpdateHealingDonePercentMod ()
bool CanUseMastery () const
void CalculateMinMaxDamage (WeaponAttackType attType, bool normalized, bool addTotalPct, float &minDamage, float &maxDamage) const override
void RecalculateRating (CombatRating cr)
void GetDodgeFromAgility (float &diminishing, float &nondiminishing) const
float GetRatingMultiplier (CombatRating cr) const
float GetRatingBonusValue (CombatRating cr) const
float ApplyRatingDiminishing (CombatRating cr, float bonusValue) const
uint32 GetBaseSpellPowerBonus () const
 Returns base spellpower bonus from spellpower stat on items, without spellpower from intellect stat. More...
int32 GetSpellPenetrationItemMod () const
bool CanApplyResilience () const override
float GetExpertiseDodgeOrParryReduction (WeaponAttackType attType) const
void UpdateBlockPercentage ()
void UpdateCritPercentage (WeaponAttackType attType)
void UpdateAllCritPercentages ()
void UpdateParryPercentage ()
void UpdateDodgePercentage ()
void UpdateMeleeHitChances ()
void UpdateRangedHitChances ()
void UpdateSpellHitChances ()
void UpdateSpellCritChance ()
void UpdateCorruption ()
void UpdateArmorPenetration (int32 amount)
void UpdateExpertise (WeaponAttackType attType)
void ApplyManaRegenBonus (int32 amount, bool apply)
void ApplyHealthRegenBonus (int32 amount, bool apply)
void UpdateManaRegen ()
void UpdateAllRunesRegen ()
void SetPetSpellPower (uint32 spellPower)
ObjectGuid const & GetLootGUID () const
void SetLootGUID (ObjectGuid const &guid)
LootGetLootByWorldObjectGUID (ObjectGuid const &lootWorldObjectGuid) const
std::unordered_map< ObjectGuid, Loot * > const & GetAELootView () const
LootRollGetLootRoll (ObjectGuid const &lootObjectGuid, uint8 lootListId)
void AddLootRoll (LootRoll *roll)
void RemoveLootRoll (LootRoll *roll)
void RemovedInsignia (Player *looterPlr)
WorldSessionGetSession () const
void BuildCreateUpdateBlockForPlayer (UpdateData *data, Player *target) const override
void BuildValuesUpdateWithFlag (ByteBuffer *data, UF::UpdateFieldFlag flags, Player const *target) const override
void BuildValuesUpdateForPlayerWithMask (UpdateData *data, UF::ObjectData::Mask const &requestedObjectMask, UF::UnitData::Mask const &requestedUnitMask, UF::PlayerData::Mask const &requestedPlayerMask, UF::ActivePlayerData::Mask const &requestedActivePlayerMask, Player const *target) const
void DestroyForPlayer (Player *target) const override
void SendAttackSwingCantAttack () const
void SendAttackSwingCancelAttack () const
void SendAttackSwingDeadTarget () const
void SendAttackSwingNotInRange () const
void SendAttackSwingBadFacingAttack () const
void SendAutoRepeatCancel (Unit *target)
void SendExplorationExperience (uint32 Area, uint32 Experience) const
void SendDungeonDifficulty (int32 forcedDifficulty=-1) const
void SendRaidDifficulty (bool legacy, int32 forcedDifficulty=-1) const
void ResetInstances (InstanceResetMethod method)
 Reset all solo instances and optionally send a message on success for each. More...
void SendResetInstanceSuccess (uint32 MapId) const
void SendResetInstanceFailed (ResetFailedReason reason, uint32 mapID) const
void SendResetFailedNotify (uint32 mapid) const
bool IsLockedToDungeonEncounter (uint32 dungeonEncounterId) const
bool UpdatePosition (float x, float y, float z, float orientation, bool teleport=false) override
bool UpdatePosition (Position const &pos, bool teleport=false) override
void ProcessTerrainStatusUpdate (ZLiquidStatus oldLiquidStatus, Optional< LiquidData > const &newLiquidData) override
void AtEnterCombat () override
void AtExitCombat () override
void SendMessageToSet (WorldPacket const *data, bool self) const override
void SendMessageToSetInRange (WorldPacket const *data, float dist, bool self) const override
void SendMessageToSetInRange (WorldPacket const *data, float dist, bool self, bool own_team_only, bool required3dDist=false) const
void SendMessageToSet (WorldPacket const *data, Player const *skipped_rcvr) const override
void SendChatMessageToSetInRange (ChatMsg chatMsg, Language lanugageId, std::string &&text, float range)
CorpseGetCorpse () const
void SpawnCorpseBones (bool triggerSave=true)
CorpseCreateCorpse ()
void KillPlayer ()
bool HasCorpse () const
WorldLocation GetCorpseLocation () const
void InitializeSelfResurrectionSpells ()
void ResurrectPlayer (float restore_percent, bool applySickness=false)
void BuildPlayerRepop ()
void RepopAtGraveyard ()
void DurabilityLossAll (double percent, bool inventory)
void DurabilityLoss (Item *item, double percent)
void DurabilityPointsLossAll (int32 points, bool inventory)
void DurabilityPointsLoss (Item *item, int32 points)
void DurabilityPointLossForEquipSlot (EquipmentSlots slot)
void DurabilityRepairAll (bool takeCost, float discountMod, bool guildBank)
void DurabilityRepair (uint16 pos, bool takeCost, float discountMod)
void UpdateMirrorTimers ()
void StopMirrorTimers ()
bool IsMirrorTimerActive (MirrorTimerType type) const
bool CanJoinConstantChannelInZone (ChatChannelsEntry const *channel, AreaTableEntry const *zone) const
void JoinedChannel (Channel *c)
void LeftChannel (Channel *c)
void CleanupChannels ()
void UpdateLocalChannels (uint32 newZone)
void LeaveLFGChannel ()
JoinedChannelsList const & GetJoinedChannels () const
void InitializeSkillFields ()
void SetSkill (uint32 id, uint16 step, uint16 newVal, uint16 maxVal)
uint16 GetMaxSkillValue (uint32 skill) const
uint16 GetPureMaxSkillValue (uint32 skill) const
uint16 GetSkillValue (uint32 skill) const
uint16 GetBaseSkillValue (uint32 skill) const
uint16 GetPureSkillValue (uint32 skill) const
int16 GetSkillPermBonusValue (uint32 skill) const
int16 GetSkillTempBonusValue (uint32 skill) const
uint16 GetSkillStep (uint32 skill) const
uint32 GetProfessionSkillForExp (uint32 skill, int32 expansion) const
bool HasSkill (uint32 skill) const
void LearnSkillRewardedSpells (uint32 skillId, uint32 skillValue, Races race)
int32 GetProfessionSlotFor (uint32 skillId) const
int32 FindEmptyProfessionSlotFor (uint32 skillId) const
void SetSkillLineId (uint32 pos, uint16 skillLineId)
void SetSkillStep (uint32 pos, uint16 step)
void SetSkillRank (uint32 pos, uint16 rank)
void SetSkillStartingRank (uint32 pos, uint16 starting)
void SetSkillMaxRank (uint32 pos, uint16 max)
void SetSkillTempBonus (uint32 pos, uint16 bonus)
void SetSkillPermBonus (uint32 pos, uint16 bonus)
WorldLocationGetTeleportDest ()
Optional< uint32GetTeleportDestInstanceId () const
uint32 GetTeleportOptions () const
bool IsBeingTeleported () const
bool IsBeingTeleportedNear () const
bool IsBeingTeleportedFar () const
bool IsBeingTeleportedSeamlessly () const
void SetSemaphoreTeleportNear (bool semphsetting)
void SetSemaphoreTeleportFar (bool semphsetting)
void ProcessDelayedOperations ()
void CheckAreaExploreAndOutdoor (void)
void AddExploredZones (uint32 pos, uint64 mask)
void RemoveExploredZones (uint32 pos, uint64 mask)
uint32 GetTeam () const
TeamId GetTeamId () const
void SetFactionForRace (uint8 race)
Team GetEffectiveTeam () const
TeamId GetEffectiveTeamId () const
void InitDisplayIds ()
bool IsAtGroupRewardDistance (WorldObject const *pRewardSource) const
bool IsAtRecruitAFriendDistance (WorldObject const *pOther) const
void RewardPlayerAndGroupAtEvent (uint32 creature_id, WorldObject *pRewardSource)
bool isHonorOrXPTarget (Unit const *victim) const
bool GetsRecruitAFriendBonus (bool forXP)
ReputationMgrGetReputationMgr ()
ReputationMgr const & GetReputationMgr () const
ReputationRank GetReputationRank (uint32 faction_id) const
void RewardReputation (Unit *victim, float rate)
void RewardReputation (Quest const *quest)
int32 CalculateReputationGain (ReputationSource source, uint32 creatureOrQuestLevel, int32 rep, int32 faction, bool noQuestBonus=false)
void UpdateSkillsForLevel ()
void ModifySkillBonus (uint32 skillid, int32 val, bool talent)
void UpdateHonorFields ()
bool RewardHonor (Unit *victim, uint32 groupsize, int32 honor=-1, bool pvptoken=false)
void ResetHonorStats ()
uint32 GetMaxPersonalArenaRatingRequirement (uint32 minarenaslot) const
void SaveHealthBeforeDuel ()
void SaveManaBeforeDuel ()
void RestoreHealthAfterDuel ()
void RestoreManaAfterDuel ()
uint32 GetHonorLevel () const
void AddHonorXP (uint32 xp)
void SetHonorLevel (uint8 honorLevel)
bool IsMaxHonorLevel () const
void UpdateHonorNextLevel ()
void RewardPlayerWithRewardPack (uint32 rewardPackID)
void RewardPlayerWithRewardPack (RewardPackEntry const *rewardPackEntry)
void SetDrunkValue (uint8 newDrunkValue, uint32 itemId=0)
uint8 GetDrunkValue () const
uint32 GetDeathTimer () const
uint32 GetCorpseReclaimDelay (bool pvp) const
void UpdateCorpseReclaimDelay ()
int32 CalculateCorpseReclaimDelay (bool load=false) const
void SendCorpseReclaimDelay (uint32 delay) const
float GetBlockPercent (uint8 attackerLevel) const override
bool CanParry () const
void SetCanParry (bool value)
bool CanBlock () const
void SetCanBlock (bool value)
bool CanTitanGrip () const
void SetCanTitanGrip (bool value, uint32 penaltySpellId=0)
void CheckTitanGripPenalty ()
bool CanTameExoticPets () const
void SetRegularAttackTime ()
void HandleBaseModFlatValue (BaseModGroup modGroup, float amount, bool apply)
void ApplyBaseModPctValue (BaseModGroup modGroup, float pct)
void SetBaseModFlatValue (BaseModGroup modGroup, float val)
void SetBaseModPctValue (BaseModGroup modGroup, float val)
void UpdateDamageDoneMods (WeaponAttackType attackType, int32 skipEnchantSlot=-1) override
void UpdateBaseModGroup (BaseModGroup modGroup)
float GetBaseModValue (BaseModGroup modGroup, BaseModType modType) const
float GetTotalBaseModValue (BaseModGroup modGroup) const
void _ApplyAllStatBonuses ()
void _RemoveAllStatBonuses ()
void ResetAllPowers ()
SpellSchoolMask GetMeleeDamageSchoolMask (WeaponAttackType attackType=BASE_ATTACK) const override
void CastAllObtainSpells ()
void ApplyItemObtainSpells (Item *item, bool apply)
void UpdateWeaponDependentCritAuras (WeaponAttackType attackType)
void UpdateAllWeaponDependentCritAuras ()
void UpdateWeaponDependentAuras (WeaponAttackType attackType)
void ApplyItemDependentAuras (Item *item, bool apply)
bool CheckAttackFitToAuraRequirement (WeaponAttackType attackType, AuraEffect const *aurEff) const override
void _ApplyItemMods (Item *item, uint8 slot, bool apply, bool updateItemAuras=true)
void _RemoveAllItemMods ()
void _ApplyAllItemMods ()
void _ApplyAllLevelScaleItemMods (bool apply)
void ApplyAllAzeriteItemMods (bool apply)
void ApplyAllAzeriteEmpoweredItemMods (bool apply)
void _ApplyItemBonuses (Item *item, uint8 slot, bool apply)
void _ApplyWeaponDamage (uint8 slot, Item *item, bool apply)
bool EnchantmentFitsRequirements (uint32 enchantmentcondition, int8 slot) const
void ToggleMetaGemsActive (uint8 exceptslot, bool apply)
void CorrectMetaGemEnchants (uint8 slot, bool apply)
void InitDataForForm (bool reapplyMods=false)
void ApplyItemEquipSpell (Item *item, bool apply, bool formChange=false)
void ApplyEquipSpell (SpellInfo const *spellInfo, Item *item, bool apply, bool formChange=false)
void UpdateEquipSpellsAtFormChange ()
void UpdateItemSetAuras (bool formChange=false)
void ApplyArtifactPowers (Item *item, bool apply)
void ApplyArtifactPowerRank (Item *artifact, ArtifactPowerRankEntry const *artifactPowerRank, bool apply)
void ApplyAzeritePowers (Item *item, bool apply)
void ApplyAzeriteItemMilestonePower (AzeriteItem *item, AzeriteItemMilestonePowerEntry const *azeriteItemMilestonePower, bool apply)
void ApplyAzeriteEssence (AzeriteItem *item, uint32 azeriteEssenceId, uint32 rank, bool major, bool apply)
void ApplyAzeriteEssencePower (AzeriteItem *item, AzeriteEssencePowerEntry const *azeriteEssencePower, bool major, bool apply)
void ApplyAzeritePower (AzeriteEmpoweredItem *item, AzeritePowerEntry const *azeritePower, bool apply)
void CastItemCombatSpell (DamageInfo const &damageInfo)
void CastItemCombatSpell (DamageInfo const &damageInfo, Item *item, ItemTemplate const *proto)
void CastItemUseSpell (Item *item, SpellCastTargets const &targets, ObjectGuid castCount, int32 *misc)
void ApplyItemLootedSpell (Item *item, bool apply)
void SendEquipmentSetList ()
void SetEquipmentSet (EquipmentSetInfo::EquipmentSetData const &newEqSet)
void DeleteEquipmentSet (uint64 id)
void SendInitWorldStates (uint32 zoneId, uint32 areaId)
void SendUpdateWorldState (uint32 variable, uint32 value, bool hidden=false) const
void SendDirectMessage (WorldPacket const *data) const
void SendAurasForTarget (Unit *target) const
void SendLoot (Loot &loot, bool aeLooting=false)
void SendLootError (ObjectGuid const &lootObj, ObjectGuid const &owner, LootError error) const
void SendLootRelease (ObjectGuid guid) const
void SendLootReleaseAll () const
void SendNotifyLootItemRemoved (ObjectGuid lootObj, ObjectGuid owner, uint8 lootListId) const
void SendNotifyLootMoneyRemoved (ObjectGuid lootObj) const
bool InBattleground () const
bool InArena () const
uint32 GetBattlegroundId () const
BattlegroundTypeId GetBattlegroundTypeId () const
BattlegroundGetBattleground () const
uint32 GetBattlegroundQueueJoinTime (BattlegroundQueueTypeId bgQueueTypeId) const
bool InBattlegroundQueue (bool ignoreArena=false) const
bool IsDeserter () const
BattlegroundQueueTypeId GetBattlegroundQueueTypeId (uint32 index) const
uint32 GetBattlegroundQueueIndex (BattlegroundQueueTypeId bgQueueTypeId) const
bool IsInvitedForBattlegroundQueueType (BattlegroundQueueTypeId bgQueueTypeId) const
bool InBattlegroundQueueForBattlegroundQueueType (BattlegroundQueueTypeId bgQueueTypeId) const
void SetBattlegroundId (uint32 val, BattlegroundTypeId bgTypeId)
uint32 AddBattlegroundQueueId (BattlegroundQueueTypeId val)
bool HasFreeBattlegroundQueueId () const
void RemoveBattlegroundQueueId (BattlegroundQueueTypeId val)
void SetInviteForBattlegroundQueueType (BattlegroundQueueTypeId bgQueueTypeId, uint32 instanceId)
bool IsInvitedForBattlegroundInstance (uint32 instanceId) const
void SetMercenaryForBattlegroundQueueType (BattlegroundQueueTypeId bgQueueTypeId, bool mercenary)
bool IsMercenaryForBattlegroundQueueType (BattlegroundQueueTypeId bgQueueTypeId) const
WorldLocation const & GetBattlegroundEntryPoint () const
void SetBattlegroundEntryPoint ()
void SetBGTeam (uint32 team)
uint32 GetBGTeam () const
void LeaveBattleground (bool teleportToEntryPoint=true)
bool CanJoinToBattleground (Battleground const *bg) const
bool CanReportAfkDueToLimit ()
void ReportedAfkBy (Player *reporter)
 This player has been blamed to be inactive in a battleground. More...
void ClearAfkReports ()
bool GetBGAccessByLevel (BattlegroundTypeId bgTypeId) const
bool CanUseBattlegroundObject (GameObject *gameobject) const
bool isTotalImmune () const
bool CanCaptureTowerPoint () const
bool GetRandomWinner () const
void SetRandomWinner (bool isWinner)
OutdoorPvPGetOutdoorPvP () const
bool IsOutdoorPvPActive () const
bool IsImmuneToEnvironmentalDamage () const
uint32 EnvironmentalDamage (EnviromentalDamage type, uint32 damage)
void UpdateSpeakTime (ChatFloodThrottle::Index index)
void UpdateFallInformationIfNeed (MovementInfo const &minfo, uint16 opcode)
void SetFallInformation (uint32 time, float z)
void HandleFall (MovementInfo const &movementInfo)
void SetClientControl (Unit *target, bool allowMove)
void SetSeer (WorldObject *target)
void SetViewpoint (WorldObject *target, bool apply)
WorldObjectGetViewpoint () const
void StopCastingCharm ()
void StopCastingBindSight () const
uint32 GetSaveTimer () const
void SetSaveTimer (uint32 timer)
void SaveRecallPosition ()
void Recall ()
void SetHomebind (WorldLocation const &loc, uint32 areaId)
void SendBindPointUpdate () const
void SendPlayerBound (ObjectGuid const &binderGuid, uint32 areaId) const
uint8 GetStartLevel (uint8 race, uint8 playerClass, Optional< int32 > characterTemplateId) const
bool HaveAtClient (Object const *u) const
bool IsNeverVisibleFor (WorldObject const *seer, bool allowServersideObjects=false) const override
bool IsVisibleGloballyFor (Player const *player) const
void SendInitialVisiblePackets (Unit *target) const
void OnPhaseChange () override
void UpdateObjectVisibility (bool forced=true) override
void UpdateVisibilityForPlayer ()
void UpdateVisibilityOf (WorldObject *target)
void UpdateVisibilityOf (Trinity::IteratorPair< WorldObject ** > targets)
void UpdateTriggerVisibility ()
template<class T >
void UpdateVisibilityOf (T *target, UpdateData &data, std::set< Unit * > &visibleNow)
bool HasAtLoginFlag (AtLoginFlags f) const
void SetAtLoginFlag (AtLoginFlags f)
void RemoveAtLoginFlag (AtLoginFlags flags, bool persist=false)
bool isUsingLfg () const
bool inRandomLfgDungeon () const
uint32 GetTemporaryUnsummonedPetNumber () const
void SetTemporaryUnsummonedPetNumber (uint32 petnumber)
void UnsummonPetTemporaryIfAny ()
void ResummonPetTemporaryUnSummonedIfAny ()
bool IsPetNeedBeTemporaryUnsummoned () const
void SendCinematicStart (uint32 CinematicSequenceId) const
void SendMovieStart (uint32 movieId)
uint32 DoRandomRoll (uint32 minimum, uint32 maximum)
uint8 GetItemLimitCategoryQuantity (ItemLimitCategoryEntry const *limitEntry) const
void UpdateItemLevelAreaBasedScaling ()
void ActivatePvpItemLevels (bool activate)
bool IsUsingPvpItemLevels () const
void UpdateHomebindTime (uint32 time)
uint32 GetRecentInstanceId (uint32 mapId) const
void SetRecentInstance (uint32 mapId, uint32 instanceId)
void ConfirmPendingBind ()
void SetPendingBind (uint32 instanceId, uint32 bindTimer)
bool HasPendingBind () const
void SendRaidInfo ()
bool Satisfy (AccessRequirement const *ar, uint32 target_map, TransferAbortParams *params=nullptr, bool report=false)
bool CheckInstanceValidity (bool)
bool CheckInstanceCount (uint32 instanceId) const
void AddInstanceEnterTime (uint32 instanceId, time_t enterTime)
uint32 GetLastPetNumber () const
void SetLastPetNumber (uint32 petnumber)
bool IsInGroup (ObjectGuid groupGuid) const
GroupGetGroupInvite () const
void SetGroupInvite (Group *group)
GroupGetGroup ()
Group const * GetGroup () const
GroupReferenceGetGroupRef ()
void SetGroup (Group *group, int8 subgroup=-1)
uint8 GetSubGroup () const
uint32 GetGroupUpdateFlag () const
void SetGroupUpdateFlag (uint32 flag)
void RemoveGroupUpdateFlag (uint32 flag)
void SetPartyType (GroupCategory category, uint8 type)
void ResetGroupUpdateSequenceIfNeeded (Group const *group)
int32 NextGroupUpdateSequenceNumber (GroupCategory category)
PlayerGetNextRandomRaidMember (float radius)
PartyResult CanUninviteFromGroup (ObjectGuid guidMember=ObjectGuid::Empty) const
void SetBattlegroundOrBattlefieldRaid (Group *group, int8 subgroup=-1)
void RemoveFromBattlegroundOrBattlefieldRaid ()
GroupGetOriginalGroup () const
GroupReferenceGetOriginalGroupRef ()
uint8 GetOriginalSubGroup () const
void SetOriginalGroup (Group *group, int8 subgroup=-1)
void SetPassOnGroupLoot (bool bPassOnGroupLoot)
bool GetPassOnGroupLoot () const
MapReferenceGetMapRef ()
void SetMap (Map *map) override
void ResetMap () override
bool isAllowedToLoot (Creature const *creature) const
DeclinedName const * GetDeclinedNames () const
uint8 GetRunesState () const
uint32 GetRuneCooldown (uint8 index) const
uint32 GetRuneBaseCooldown () const
void SetRuneCooldown (uint8 index, uint32 cooldown)
void ResyncRunes () const
void InitRunes ()
void SendRespondInspectAchievements (Player *player) const
uint32 GetAchievementPoints () const
std::vector< uint32GetCompletedAchievementIds () const
bool HasAchieved (uint32 achievementId) const
void ResetAchievements ()
void ResetCriteria (CriteriaFailEvent condition, int32 failAsset, bool evenIfCriteriaComplete=false)
void UpdateCriteria (CriteriaType type, uint64 miscValue1=0, uint64 miscValue2=0, uint64 miscValue3=0, WorldObject *ref=nullptr)
void StartCriteriaTimer (CriteriaStartEvent startEvent, uint32 entry, uint32 timeLost=0)
void RemoveCriteriaTimer (CriteriaStartEvent startEvent, uint32 entry)
void CompletedAchievement (AchievementEntry const *entry)
bool ModifierTreeSatisfied (uint32 modifierTreeId) const
bool HasTitle (uint32 bitIndex) const
bool HasTitle (CharTitlesEntry const *title) const
void SetTitle (CharTitlesEntry const *title, bool lost=false)
void SetChosenTitle (int32 title)
void SetKnownTitles (uint32 index, uint64 mask)
bool CanSeeSpellClickOn (Creature const *creature) const
uint32 GetChampioningFaction () const
void SetChampioningFaction (uint32 faction)
float GetAverageItemLevel () const
void ClearWhisperWhiteList ()
void AddWhisperWhiteList (ObjectGuid guid)
bool IsInWhisperWhiteList (ObjectGuid guid)
void RemoveFromWhisperWhiteList (ObjectGuid guid)
void ValidateMovementInfo (MovementInfo *mi)
void SendMovementSetCollisionHeight (float height, WorldPackets::Movement::UpdateCollisionHeightReason reason)
bool CanFly () const override
bool CanEnterWater () const override
std::string GetMapAreaAndZoneString () const
std::string GetCoordsMapAreaAndZoneString () const
bool IsVoidStorageUnlocked () const
void UnlockVoidStorage ()
void LockVoidStorage ()
uint8 GetNextVoidStorageFreeSlot () const
uint8 GetNumOfVoidStorageFreeSlots () const
uint8 AddVoidStorageItem (VoidStorageItem &&item)
void DeleteVoidStorageItem (uint8 slot)
bool SwapVoidStorageItem (uint8 oldSlot, uint8 newSlot)
VoidStorageItemGetVoidStorageItem (uint8 slot) const
VoidStorageItemGetVoidStorageItem (uint64 id, uint8 &slot) const
bool IsReagentBankUnlocked () const
void UnlockReagentBank ()
void CreateGarrison (uint32 garrSiteId)
void DeleteGarrison ()
GarrisonGetGarrison () const
bool IsAdvancedCombatLoggingEnabled () const
void SetAdvancedCombatLogging (bool enabled)
SceneMgrGetSceneMgr ()
SceneMgr const & GetSceneMgr () const
RestMgrGetRestMgr () const
void SetRestState (RestTypes type, PlayerRestState state)
void SetRestThreshold (RestTypes type, uint32 threshold)
void SendPlayerChoice (ObjectGuid sender, int32 choiceId)
bool MeetPlayerCondition (uint32 conditionId) const
bool HasPlayerFlag (PlayerFlags flags) const
void SetPlayerFlag (PlayerFlags flags)
void RemovePlayerFlag (PlayerFlags flags)
void ReplaceAllPlayerFlags (PlayerFlags flags)
bool HasPlayerFlagEx (PlayerFlagsEx flags) const
void SetPlayerFlagEx (PlayerFlagsEx flags)
void RemovePlayerFlagEx (PlayerFlagsEx flags)
void ReplaceAllPlayerFlagsEx (PlayerFlagsEx flags)
void SetAverageItemLevelTotal (float newItemLevel)
void SetAverageItemLevelEquipped (float newItemLevel)
uint32 GetCustomizationChoice (uint32 chrCustomizationOptionId) const
template<typename Iter >
void SetCustomizations (Trinity::IteratorPair< Iter > customizations, bool markChanged=true)
void SetPvpTitle (uint8 pvpTitle)
void SetArenaFaction (uint8 arenaFaction)
void ApplyModFakeInebriation (int32 mod, bool apply)
void SetVirtualPlayerRealm (uint32 virtualRealmAddress)
void SetCurrentBattlePetBreedQuality (uint8 battlePetBreedQuality)
void AddHeirloom (int32 itemId, uint32 flags)
void SetHeirloom (uint32 slot, int32 itemId)
void SetHeirloomFlags (uint32 slot, uint32 flags)
void AddToy (int32 itemId, uint32 flags)
void AddTransmogBlock (uint32 blockValue)
void AddTransmogFlag (uint32 slot, uint32 flag)
void AddConditionalTransmog (uint32 itemModifiedAppearanceId)
void RemoveConditionalTransmog (uint32 itemModifiedAppearanceId)
void AddIllusionBlock (uint32 blockValue)
void AddIllusionFlag (uint32 slot, uint32 flag)
void AddSelfResSpell (int32 spellId)
void RemoveSelfResSpell (int32 spellId)
void ClearSelfResSpell ()
ObjectGuid GetSummonedBattlePetGUID () const
void SetSummonedBattlePetGUID (ObjectGuid guid)
void SetTrackCreatureFlag (uint32 flags)
void RemoveTrackCreatureFlag (uint32 flags)
void SetVersatilityBonus (float value)
void ApplyModOverrideSpellPowerByAPPercent (float mod, bool apply)
void ApplyModOverrideAPBySpellPowerPercent (float mod, bool apply)
bool HasPlayerLocalFlag (PlayerLocalFlags flags) const
void SetPlayerLocalFlag (PlayerLocalFlags flags)
void RemovePlayerLocalFlag (PlayerLocalFlags flags)
void ReplaceAllPlayerLocalFlags (PlayerLocalFlags flags)
uint8 GetNumRespecs () const
void SetNumRespecs (uint8 numRespecs)
void SetWatchedFactionIndex (int32 index)
void AddAuraVision (PlayerFieldByte2Flags flags)
void RemoveAuraVision (PlayerFieldByte2Flags flags)
void SetTransportServerTime (int32 transportServerTime)
bool IsInFriendlyArea () const
bool IsFriendlyArea (AreaTableEntry const *inArea) const
void SetWarModeDesired (bool enabled)
bool IsWarModeDesired () const
bool IsWarModeActive () const
bool IsWarModeLocalActive () const
void SetWarModeLocal (bool enabled)
bool CanEnableWarModeInArea () const
void UpdateWarModeAuras ()
std::string GetDebugInfo () const override
- Public Member Functions inherited from Unit
virtual ~Unit ()
bool IsAIEnabled () const
void AIUpdateTick (uint32 diff)
UnitAIGetAI () const
void ScheduleAIChange ()
void PushAI (UnitAI *newAI)
bool PopAI ()
void AddToWorld () override
void RemoveFromWorld () override
void CleanupBeforeRemoveFromMap (bool finalCleanup)
void CleanupsBeforeDelete (bool finalCleanup=true) override
virtual bool IsAffectedByDiminishingReturns () const
DiminishingLevels GetDiminishing (DiminishingGroup group) const
void IncrDiminishing (SpellInfo const *auraSpellInfo)
bool ApplyDiminishingToDuration (SpellInfo const *auraSpellInfo, int32 &duration, WorldObject *caster, DiminishingLevels previousLevel) const
void ApplyDiminishingAura (DiminishingGroup group, bool apply)
void ClearDiminishings ()
virtual void Update (uint32 time) override
void setAttackTimer (WeaponAttackType type, uint32 time)
void resetAttackTimer (WeaponAttackType type=BASE_ATTACK)
uint32 getAttackTimer (WeaponAttackType type) const
bool isAttackReady (WeaponAttackType type=BASE_ATTACK) const
bool haveOffhandWeapon () const
bool CanDualWield () const
virtual void SetCanDualWield (bool value)
float GetCombatReach () const override
void SetCombatReach (float combatReach)
float GetBoundingRadius () const
void SetBoundingRadius (float boundingRadius)
bool IsWithinCombatRange (Unit const *obj, float dist2compare) const
bool IsWithinMeleeRange (Unit const *obj) const
bool IsWithinMeleeRangeAt (Position const &pos, Unit const *obj) const
float GetMeleeRange (Unit const *target) const
virtual SpellSchoolMask GetMeleeDamageSchoolMask (WeaponAttackType attackType=BASE_ATTACK) const =0
bool IsWithinBoundaryRadius (const Unit *obj) const
void _addAttacker (Unit *pAttacker)
void _removeAttacker (Unit *pAttacker)
UnitgetAttackerForHelper () const
bool Attack (Unit *victim, bool meleeAttack)
void CastStop (uint32 except_spellid=0)
bool AttackStop ()
void RemoveAllAttackers ()
AttackerSet const & getAttackers () const
bool isAttackingPlayer () const
UnitGetVictim () const
UnitEnsureVictim () const
void ValidateAttackersAndOwnTarget ()
void CombatStop (bool includingCast=false, bool mutualPvP=true)
void CombatStopWithPets (bool includingCast=false)
void StopAttackFaction (uint32 faction_id)
UnitSelectNearbyTarget (Unit *exclude=nullptr, float dist=NOMINAL_MELEE_RANGE) const
void SendMeleeAttackStop (Unit *victim=nullptr)
void SendMeleeAttackStart (Unit *victim)
void AddUnitState (uint32 f)
bool HasUnitState (const uint32 f) const
void ClearUnitState (uint32 f)
bool CanFreeMove () const
uint32 HasUnitTypeMask (uint32 mask) const
void AddUnitTypeMask (uint32 mask)
bool IsSummon () const
bool IsGuardian () const
bool IsPet () const
bool IsHunterPet () const
bool IsTotem () const
bool IsVehicle () const
int32 GetContentTuning () const
uint8 GetLevel () const
uint8 GetLevelForTarget (WorldObject const *) const override
void SetLevel (uint8 lvl, bool sendUpdate=true)
uint8 GetRace () const
void SetRace (uint8 race)
uint64 GetRaceMask () const
uint8 GetClass () const
void SetClass (uint8 classId)
uint32 GetClassMask () const
Gender GetGender () const
void SetGender (Gender gender)
virtual Gender GetNativeGender () const
virtual void SetNativeGender (Gender gender)
float GetStat (Stats stat) const
void SetStat (Stats stat, int32 val)
uint32 GetArmor () const
void SetArmor (int32 val, int32 bonusVal)
int32 GetResistance (SpellSchools school) const
int32 GetBonusResistanceMod (SpellSchools school) const
int32 GetResistance (SpellSchoolMask mask) const
void SetResistance (SpellSchools school, int32 val)
void SetBonusResistanceMod (SpellSchools school, int32 val)
uint64 GetHealth () const
uint64 GetMaxHealth () const
bool IsFullHealth () const
bool HealthBelowPct (int32 pct) const
bool HealthBelowPctDamaged (int32 pct, uint32 damage) const
bool HealthAbovePct (int32 pct) const
bool HealthAbovePctHealed (int32 pct, uint32 heal) const
float GetHealthPct () const
uint64 CountPctFromMaxHealth (int32 pct) const
uint64 CountPctFromCurHealth (int32 pct) const
void SetHealth (uint64 val)
void SetMaxHealth (uint64 val)
void SetFullHealth ()
int64 ModifyHealth (int64 val)
int64 GetHealthGain (int64 dVal)
void TriggerOnHealthChangeAuras (uint64 oldVal, uint64 newVal)
virtual float GetHealthMultiplierForTarget (WorldObject const *) const
virtual float GetDamageMultiplierForTarget (WorldObject const *) const
virtual float GetArmorMultiplierForTarget (WorldObject const *) const
Powers GetPowerType () const
void SetPowerType (Powers power, bool sendUpdate=true)
void SetOverrideDisplayPowerId (uint32 powerDisplayId)
void UpdateDisplayPower ()
int32 GetPower (Powers power) const
int32 GetMinPower (Powers power) const
int32 GetMaxPower (Powers power) const
float GetPowerPct (Powers power) const
int32 CountPctFromMaxPower (Powers power, int32 pct) const
void SetPower (Powers power, int32 val, bool withPowerUpdate=true)
void SetMaxPower (Powers power, int32 val)
void TriggerOnPowerChangeAuras (Powers power, int32 oldVal, int32 newVal)
void SetFullPower (Powers power)
int32 ModifyPower (Powers power, int32 val, bool withPowerUpdate=true)
void ApplyModManaCostMultiplier (float manaCostMultiplier, bool apply)
void ApplyModManaCostModifier (SpellSchools school, int32 mod, bool apply)
uint32 GetBaseAttackTime (WeaponAttackType att) const
void SetBaseAttackTime (WeaponAttackType att, uint32 val)
void UpdateAttackTimeField (WeaponAttackType att)
void ApplyAttackTimePercentMod (WeaponAttackType att, float val, bool apply)
void ApplyCastTimePercentMod (float val, bool apply)
void SetModCastingSpeed (float castingSpeed)
void SetModSpellHaste (float spellHaste)
void SetModHaste (float haste)
void SetModRangedHaste (float rangedHaste)
void SetModHasteRegen (float hasteRegen)
void SetModTimeRate (float timeRate)
bool HasUnitFlag (UnitFlags flags) const
void SetUnitFlag (UnitFlags flags)
void RemoveUnitFlag (UnitFlags flags)
void ReplaceAllUnitFlags (UnitFlags flags)
bool HasUnitFlag2 (UnitFlags2 flags) const
void SetUnitFlag2 (UnitFlags2 flags)
void RemoveUnitFlag2 (UnitFlags2 flags)
void ReplaceAllUnitFlags2 (UnitFlags2 flags)
bool HasUnitFlag3 (UnitFlags3 flags) const
void SetUnitFlag3 (UnitFlags3 flags)
void RemoveUnitFlag3 (UnitFlags3 flags)
void ReplaceAllUnitFlags3 (UnitFlags3 flags)
void SetCreatedBySpell (int32 spellId)
void SetNameplateAttachToGUID (ObjectGuid guid)
Emote GetEmoteState () const
void SetEmoteState (Emote emote)
SheathState GetSheath () const
void SetSheath (SheathState sheathed)
uint32 GetFaction () const override
void SetFaction (uint32 faction) override
bool IsInPartyWith (Unit const *unit) const
bool IsInRaidWith (Unit const *unit) const
void GetPartyMembers (std::list< Unit * > &units)
bool IsContestedGuard () const
UnitPVPStateFlags GetPvpFlags () const
bool HasPvpFlag (UnitPVPStateFlags flags) const
void SetPvpFlag (UnitPVPStateFlags flags)
void RemovePvpFlag (UnitPVPStateFlags flags)
void ReplaceAllPvpFlags (UnitPVPStateFlags flags)
bool IsInSanctuary () const
bool IsPvP () const
bool IsFFAPvP () const
virtual void SetPvP (bool state)
UnitPetFlag GetPetFlags () const
bool HasPetFlag (UnitPetFlag flags) const
void SetPetFlag (UnitPetFlag flags)
void RemovePetFlag (UnitPetFlag flags)
void ReplaceAllPetFlags (UnitPetFlag flags)
uint32 GetCreatureType () const
uint32 GetCreatureTypeMask () const
UnitStandStateType GetStandState () const
bool IsSitState () const
bool IsStandState () const
void SetStandState (UnitStandStateType state, uint32 animKitID=0)
void SetVisFlag (UnitVisFlags flags)
void RemoveVisFlag (UnitVisFlags flags)
void ReplaceAllVisFlags (UnitVisFlags flags)
AnimTier GetAnimTier () const
void SetAnimTier (AnimTier animTier, bool notifyClient=true)
bool IsMounted () const
uint32 GetMountDisplayId () const
void SetMountDisplayId (uint32 mountDisplayId)
uint32 GetCosmeticMountDisplayId () const
void SetCosmeticMountDisplayId (uint32 mountDisplayId)
void Mount (uint32 mount, uint32 vehicleId=0, uint32 creatureEntry=0)
void Dismount ()
MountCapabilityEntry const * GetMountCapability (uint32 mountType) const
void UpdateMountCapability ()
void SendDurabilityLoss (Player *receiver, uint32 percent)
void PlayOneShotAnimKitId (uint16 animKitId)
void SetAIAnimKitId (uint16 animKitId)
uint16 GetAIAnimKitId () const override
void SetMovementAnimKitId (uint16 animKitId)
uint16 GetMovementAnimKitId () const override
void SetMeleeAnimKitId (uint16 animKitId)
uint16 GetMeleeAnimKitId () const override
uint16 GetMaxSkillValueForLevel (Unit const *target=nullptr) const
void KillSelf (bool durabilityLoss=true, bool skipSettingDeathState=false)
void GetProcAurasTriggeredOnEvent (AuraApplicationProcContainer &aurasTriggeringProc, AuraApplicationList *procAuras, ProcEventInfo &eventInfo)
void TriggerAurasProcOnEvent (AuraApplicationList *myProcAuras, AuraApplicationList *targetProcAuras, Unit *actionTarget, ProcFlagsInit const &typeMaskActor, ProcFlagsInit const &typeMaskActionTarget, ProcFlagsSpellType spellTypeMask, ProcFlagsSpellPhase spellPhaseMask, ProcFlagsHit hitMask, Spell *spell, DamageInfo *damageInfo, HealInfo *healInfo)
void TriggerAurasProcOnEvent (ProcEventInfo &eventInfo, AuraApplicationProcContainer &procAuras)
void HandleEmoteCommand (Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
void AttackerStateUpdate (Unit *victim, WeaponAttackType attType=BASE_ATTACK, bool extra=false)
void CalculateMeleeDamage (Unit *victim, CalcDamageInfo *damageInfo, WeaponAttackType attackType=BASE_ATTACK)
void DealMeleeDamage (CalcDamageInfo *damageInfo, bool durabilityLoss)
void HandleProcExtraAttackFor (Unit *victim, uint32 count)
void SetLastExtraAttackSpell (uint32 spellId)
uint32 GetLastExtraAttackSpell () const
void AddExtraAttacks (uint32 count)
void SetLastDamagedTargetGuid (ObjectGuid guid)
ObjectGuid GetLastDamagedTargetGuid () const
void CalculateSpellDamageTaken (SpellNonMeleeDamage *damageInfo, int32 damage, SpellInfo const *spellInfo, WeaponAttackType attackType=BASE_ATTACK, bool crit=false, bool blocked=false, Spell *spell=nullptr)
void DealSpellDamage (SpellNonMeleeDamage const *damageInfo, bool durabilityLoss)
uint32 GetDamageReduction (uint32 damage) const
virtual bool CanApplyResilience () const
int32 CalculateAOEAvoidance (int32 damage, uint32 schoolMask, ObjectGuid const &casterGuid) const
float MeleeSpellMissChance (Unit const *victim, WeaponAttackType attType, SpellInfo const *spellInfo) const override
SpellMissInfo MeleeSpellHitResult (Unit *victim, SpellInfo const *spellInfo) const override
float GetUnitDodgeChance (WeaponAttackType attType, Unit const *victim) const
float GetUnitParryChance (WeaponAttackType attType, Unit const *victim) const
float GetUnitBlockChance (WeaponAttackType attType, Unit const *victim) const
float GetUnitMissChance () const
float GetUnitCriticalChanceDone (WeaponAttackType attackType) const
float GetUnitCriticalChanceTaken (Unit const *attacker, WeaponAttackType attackType, float critDone) const
float GetUnitCriticalChanceAgainst (WeaponAttackType attackType, Unit const *victim) const
int32 GetMechanicResistChance (SpellInfo const *spellInfo) const
bool CanUseAttackType (uint8 attacktype) const
virtual float GetBlockPercent (uint8) const
float GetWeaponProcChance () const
float GetPPMProcChance (uint32 WeaponSpeed, float PPM, SpellInfo const *spellProto) const
MeleeHitOutcome RollMeleeOutcomeAgainst (Unit const *victim, WeaponAttackType attType) const
NPCFlags GetNpcFlags () const
bool HasNpcFlag (NPCFlags flags) const
void SetNpcFlag (NPCFlags flags)
void RemoveNpcFlag (NPCFlags flags)
void ReplaceAllNpcFlags (NPCFlags flags)
NPCFlags2 GetNpcFlags2 () const
bool HasNpcFlag2 (NPCFlags2 flags) const
void SetNpcFlag2 (NPCFlags2 flags)
void RemoveNpcFlag2 (NPCFlags2 flags)
void ReplaceAllNpcFlags2 (NPCFlags2 flags)
bool IsVendor () const
bool IsTrainer () const
bool IsQuestGiver () const
bool IsGossip () const
bool IsTaxi () const
bool IsGuildMaster () const
bool IsBattleMaster () const
bool IsBanker () const
bool IsInnkeeper () const
bool IsSpiritHealer () const
bool IsAreaSpiritHealer () const
bool IsTabardDesigner () const
bool IsAuctioner () const
bool IsArmorer () const
bool IsWildBattlePet () const
bool IsServiceProvider () const
bool IsSpiritService () const
bool IsCritter () const
bool IsInFlight () const
bool CanHaveThreatList () const
 ====================== THREAT & COMBAT ==================== More...
virtual bool IsEngaged () const
bool IsEngagedBy (Unit const *who) const
void EngageWithTarget (Unit *who)
CombatManagerGetCombatManager ()
CombatManager const & GetCombatManager () const
void AtTargetAttacked (Unit *target, bool canInitialAggro)
bool IsImmuneToAll () const
void SetImmuneToAll (bool apply, bool keepCombat)
virtual void SetImmuneToAll (bool apply)
bool IsImmuneToPC () const
void SetImmuneToPC (bool apply, bool keepCombat)
virtual void SetImmuneToPC (bool apply)
bool IsImmuneToNPC () const
void SetImmuneToNPC (bool apply, bool keepCombat)
virtual void SetImmuneToNPC (bool apply)
bool IsInCombat () const
bool IsInCombatWith (Unit const *who) const
void SetInCombatWith (Unit *enemy, bool addSecondUnitSuppressed=false)
void ClearInCombat ()
void UpdatePetCombatState ()
bool IsThreatened () const
bool IsThreatenedBy (Unit const *who) const
ThreatManagerGetThreatManager ()
ThreatManager const & GetThreatManager () const
void SendClearTarget ()
bool HasAuraTypeWithFamilyFlags (AuraType auraType, uint32 familyName, flag128 familyFlags) const
virtual bool HasSpell (uint32) const
bool HasBreakableByDamageAuraType (AuraType type, uint32 excludeAura=0) const
bool HasBreakableByDamageCrowdControlAura (Unit *excludeCasterChannel=nullptr) const
bool HasStealthAura () const
bool HasInvisibilityAura () const
bool IsFeared () const
bool HasRootAura () const
bool IsPolymorphed () const
bool IsFrozen () const
bool isTargetableForAttack (bool checkFakeDeath=true) const
bool IsInWater () const
bool IsUnderWater () const
bool isInAccessiblePlaceFor (Creature const *c) const
void SendHealSpellLog (HealInfo &healInfo, bool critical=false)
int32 HealBySpell (HealInfo &healInfo, bool critical=false)
void SendEnergizeSpellLog (Unit *victim, uint32 spellId, int32 damage, int32 overEnergize, Powers powerType)
void EnergizeBySpell (Unit *victim, SpellInfo const *spellInfo, int32 damage, Powers powerType)
AuraAddAura (uint32 spellId, Unit *target)
AuraAddAura (SpellInfo const *spellInfo, uint32 effMask, Unit *target)
void SetAuraStack (uint32 spellId, Unit *target, uint32 stack)
void SendPlaySpellVisual (Unit *target, uint32 spellVisualId, uint16 missReason, uint16 reflectStatus, float travelSpeed, bool speedAsTime=false, float launchDelay=0.0f)
void SendPlaySpellVisual (Position const &targetPosition, uint32 spellVisualId, uint16 missReason, uint16 reflectStatus, float travelSpeed, bool speedAsTime=false, float launchDelay=0.0f)
void SendCancelSpellVisual (uint32 id)
void SendPlaySpellVisualKit (uint32 id, uint32 type, uint32 duration) const
void SendCancelSpellVisualKit (uint32 id)
void CancelSpellMissiles (uint32 spellId, bool reverseMissile=false)
void DeMorph ()
void SendAttackStateUpdate (CalcDamageInfo *damageInfo)
void SendAttackStateUpdate (uint32 HitInfo, Unit *target, uint8 SwingType, SpellSchoolMask damageSchoolMask, uint32 Damage, uint32 AbsorbDamage, uint32 Resist, VictimState TargetState, uint32 BlockedAmount)
void SendSpellNonMeleeDamageLog (SpellNonMeleeDamage const *log)
void SendPeriodicAuraLog (SpellPeriodicAuraLogInfo *pInfo)
void SendSpellDamageResist (Unit *target, uint32 spellId)
void SendSpellDamageImmune (Unit *target, uint32 spellId, bool isPeriodic)
void NearTeleportTo (Position const &pos, bool casting=false)
void NearTeleportTo (float x, float y, float z, float orientation, bool casting=false)
void SendTeleportPacket (Position const &pos)
virtual bool UpdatePosition (float x, float y, float z, float ang, bool teleport=false)
virtual bool UpdatePosition (Position const &pos, bool teleport=false)
void UpdateOrientation (float orientation)
 Only server-side orientation update, does not broadcast to client. More...
void UpdateHeight (float newZ)
 Only server-side height update, does not broadcast to client. More...
void SendMoveKnockBack (Player *player, float speedXY, float speedZ, float vcos, float vsin)
void KnockbackFrom (Position const &origin, float speedXY, float speedZ, Movement::SpellEffectExtraData const *spellEffectExtraData=nullptr)
void JumpTo (float speedXY, float speedZ, float angle, Optional< Position > dest={})
void JumpTo (WorldObject *obj, float speedZ, bool withOrientation=false)
void MonsterMoveWithSpeed (float x, float y, float z, float speed, bool generatePath=false, bool forceDestination=false)
bool IsPlayingHoverAnim () const
void SetPlayHoverAnim (bool enable)
void CalculateHoverHeight ()
void SetHoverHeight (float hoverHeight)
bool IsGravityDisabled () const
bool IsWalking () const
bool IsHovering () const
bool SetWalk (bool enable)
bool SetDisableGravity (bool disable, bool updateAnimTier=true)
bool SetFall (bool enable)
bool SetSwim (bool enable)
bool SetCanFly (bool enable)
bool SetWaterWalking (bool enable)
bool SetFeatherFall (bool enable)
bool SetHover (bool enable, bool updateAnimTier=true)
bool SetCollision (bool disable)
bool SetCanTransitionBetweenSwimAndFly (bool enable)
bool SetCanTurnWhileFalling (bool enable)
bool SetCanDoubleJump (bool enable)
bool SetDisableInertia (bool disable)
void SendSetVehicleRecId (uint32 vehicleId)
MovementForces const * GetMovementForces () const
void ApplyMovementForce (ObjectGuid id, Position origin, float magnitude, MovementForceType type, Position direction={}, ObjectGuid transportGuid=ObjectGuid::Empty)
void RemoveMovementForce (ObjectGuid id)
bool SetIgnoreMovementForces (bool ignore)
void UpdateMovementForcesModMagnitude ()
void SetInFront (WorldObject const *target)
void SetFacingTo (float const ori, bool force=true)
void SetFacingToObject (WorldObject const *object, bool force=true)
void SetFacingToPoint (Position const &point, bool force=true)
bool IsAlive () const
bool isDying () const
bool isDead () const
DeathState getDeathState () const
virtual void setDeathState (DeathState s)
ObjectGuid GetOwnerGUID () const override
void SetOwnerGUID (ObjectGuid owner)
ObjectGuid GetCreatorGUID () const
void SetCreatorGUID (ObjectGuid creator)
ObjectGuid GetMinionGUID () const
void SetMinionGUID (ObjectGuid guid)
ObjectGuid GetPetGUID () const
void SetPetGUID (ObjectGuid guid)
ObjectGuid GetCritterGUID () const
void SetCritterGUID (ObjectGuid guid)
ObjectGuid GetBattlePetCompanionGUID () const
void SetBattlePetCompanionGUID (ObjectGuid guid)
ObjectGuid GetDemonCreatorGUID () const
void SetDemonCreatorGUID (ObjectGuid guid)
ObjectGuid GetCharmerGUID () const
UnitGetCharmer () const
ObjectGuid GetCharmedGUID () const
UnitGetCharmed () const
bool IsControlledByPlayer () const
PlayerGetControllingPlayer () const
ObjectGuid GetCharmerOrOwnerGUID () const override
bool IsCharmedOwnedByPlayerOrPlayer () const
GuardianGetGuardianPet () const
MinionGetFirstMinion () const
UnitGetCharmerOrOwner () const
void SetMinion (Minion *minion, bool apply)
void GetAllMinionsByEntry (std::list< TempSummon * > &Minions, uint32 entry)
void RemoveAllMinionsByEntry (uint32 entry)
void SetCharm (Unit *target, bool apply)
UnitGetNextRandomRaidMemberOrPet (float radius)
bool SetCharmedBy (Unit *charmer, CharmType type, AuraApplication const *aurApp=nullptr)
void RemoveCharmedBy (Unit *charmer)
void RestoreFaction ()
UnitGetFirstControlled () const
void RemoveAllControlled ()
bool IsCharmed () const
bool isPossessed () const
bool isPossessedByPlayer () const
bool isPossessing () const
bool isPossessing (Unit *u) const
CharmInfoGetCharmInfo ()
CharmInfoInitCharmInfo ()
void DeleteCharmInfo ()
void SetPetNumberForClient (uint32 petNumber)
void SetPetNameTimestamp (uint32 timestamp)
void SetMovedUnit (Unit *target)
UnitGetUnitBeingMoved () const
PlayerGetPlayerMovingMe () const
SharedVisionList const & GetSharedVisionList ()
void AddPlayerToVision (Player *player)
void RemovePlayerFromVision (Player *player)
bool HasSharedVision () const
void RemoveBindSightAuras ()
void RemoveCharmAuras ()
PetCreateTamedPetFrom (Creature *creatureTarget, uint32 spell_id=0)
PetCreateTamedPetFrom (uint32 creatureEntry, uint32 spell_id=0)
bool InitTamedPet (Pet *pet, uint8 level, uint32 spell_id)
uint32 GetBattlePetCompanionNameTimestamp () const
void SetBattlePetCompanionNameTimestamp (uint32 timestamp)
uint32 GetBattlePetCompanionExperience () const
void SetBattlePetCompanionExperience (uint32 experience)
uint32 GetWildBattlePetLevel () const
void SetWildBattlePetLevel (uint32 wildBattlePetLevel)
Aura_TryStackingOrRefreshingExistingAura (AuraCreateInfo &createInfo)
void _AddAura (UnitAura *aura, Unit *caster)
AuraApplication_CreateAuraApplication (Aura *aura, uint32 effMask)
void _ApplyAuraEffect (Aura *aura, uint8 effIndex)
void _ApplyAura (AuraApplication *aurApp, uint32 effMask)
void _UnapplyAura (AuraApplicationMap::iterator &i, AuraRemoveMode removeMode)
void _UnapplyAura (AuraApplication *aurApp, AuraRemoveMode removeMode)
void _RemoveNoStackAurasDueToAura (Aura *aura)
void _RegisterAuraEffect (AuraEffect *aurEff, bool apply)
AuraMapGetOwnedAuras ()
AuraMap const & GetOwnedAuras () const
void RemoveOwnedAura (AuraMap::iterator &i, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveOwnedAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveOwnedAura (Aura *aura, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
AuraGetOwnedAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, Aura *except=nullptr) const
AuraApplicationMapGetAppliedAuras ()
AuraApplicationMap const & GetAppliedAuras () const
void RemoveAura (AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void RemoveAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAura (AuraApplication *aurApp, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void RemoveAura (Aura *aur, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void RemoveAppliedAuras (std::function< bool(AuraApplication const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveOwnedAuras (std::function< bool(Aura const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAppliedAuras (uint32 spellId, std::function< bool(AuraApplication const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveOwnedAuras (uint32 spellId, std::function< bool(Aura const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAurasByType (AuraType auraType, std::function< bool(AuraApplication const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAurasDueToSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAuraFromStack (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT, uint16 num=1)
void RemoveAurasDueToSpellByDispel (uint32 spellId, uint32 dispellerSpellId, ObjectGuid casterGUID, WorldObject *dispeller, uint8 chargesRemoved=1)
void RemoveAurasDueToSpellBySteal (uint32 spellId, ObjectGuid casterGUID, WorldObject *stealer, int32 stolenCharges=1)
void RemoveAurasDueToItemSpell (uint32 spellId, ObjectGuid castItemGuid)
void RemoveAurasByType (AuraType auraType, ObjectGuid casterGUID=ObjectGuid::Empty, Aura *except=nullptr, bool negative=true, bool positive=true)
void RemoveNotOwnSingleTargetAuras (bool onPhaseChange=false)
template<typename InterruptFlags >
void RemoveAurasWithInterruptFlags (InterruptFlags flag, SpellInfo const *source=nullptr)
void RemoveAurasWithAttribute (uint32 flags)
void RemoveAurasWithFamily (SpellFamilyNames family, flag128 const &familyFlag, ObjectGuid casterGUID)
void RemoveAurasWithMechanic (uint64 mechanicMaskToRemove, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT, uint32 exceptSpellId=0, bool withEffectMechanics=false)
void RemoveMovementImpairingAuras (bool withRoot)
void RemoveAurasByShapeShift ()
void RemoveAreaAurasDueToLeaveWorld ()
void RemoveAllAuras ()
void RemoveArenaAuras ()
void RemoveAurasOnEvade ()
void RemoveAllAurasOnDeath ()
void RemoveAllAurasRequiringDeadTarget ()
void RemoveAllAurasExceptType (AuraType type)
void RemoveAllAurasExceptType (AuraType type1, AuraType type2)
void RemoveAllGroupBuffsFromCaster (ObjectGuid casterGUID)
void DelayOwnedAuras (uint32 spellId, ObjectGuid caster, int32 delaytime)
void _RemoveAllAuraStatMods ()
void _ApplyAllAuraStatMods ()
AuraEffectList const & GetAuraEffectsByType (AuraType type) const
AuraEffectListGetAuraEffectsByType (AuraType type)
AuraListGetSingleCastAuras ()
AuraList const & GetSingleCastAuras () const
AuraEffectGetAuraEffect (uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
AuraEffectGetAuraEffectOfRankedSpell (uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
AuraEffectGetAuraEffect (AuraType type, SpellFamilyNames family, flag128 const &familyFlag, ObjectGuid casterGUID=ObjectGuid::Empty) const
AuraApplicationGetAuraApplication (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraApplication *except=nullptr) const
AuraApplicationGetAuraApplication (uint32 spellId, std::function< bool(AuraApplication const *)> const &predicate) const
AuraApplicationGetAuraApplication (uint32 spellId, std::function< bool(Aura const *)> const &predicate) const
AuraApplicationGetAuraApplication (std::function< bool(AuraApplication const *)> const &predicate) const
AuraApplicationGetAuraApplication (std::function< bool(Aura const *)> const &predicate) const
AuraGetAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
AuraGetAura (uint32 spellId, std::function< bool(Aura const *)> const &predicate) const
AuraGetAura (std::function< bool(Aura const *)> const &predicate) const
AuraApplicationGetAuraApplicationOfRankedSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraApplication *except=nullptr) const
AuraGetAuraOfRankedSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void GetDispellableAuraList (WorldObject const *caster, uint32 dispelMask, DispelChargesList &dispelList, bool isReflect=false) const
bool HasAuraEffect (uint32 spellId, uint8 effIndex, ObjectGuid caster=ObjectGuid::Empty) const
uint32 GetAuraCount (uint32 spellId) const
bool HasAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
bool HasAura (std::function< bool(Aura const *)> const &predicate) const
bool HasAuraType (AuraType auraType) const
bool HasAuraTypeWithCaster (AuraType auraType, ObjectGuid caster) const
bool HasAuraTypeWithMiscvalue (AuraType auraType, int32 miscValue) const
bool HasAuraTypeWithAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
bool HasAuraTypeWithValue (AuraType auraType, int32 value) const
bool HasAuraTypeWithTriggerSpell (AuraType auratype, uint32 triggerSpell) const
template<typename InterruptFlags >
bool HasNegativeAuraWithInterruptFlag (InterruptFlags flag, ObjectGuid guid=ObjectGuid::Empty) const
bool HasAuraWithMechanic (uint64 mechanicMask) const
bool HasStrongerAuraWithDR (SpellInfo const *auraSpellInfo, Unit *caster) const
AuraEffectIsScriptOverriden (SpellInfo const *spell, int32 script) const
uint32 GetDiseasesByCaster (ObjectGuid casterGUID, bool remove=false)
uint32 GetDoTsByCaster (ObjectGuid casterGUID) const
int32 GetTotalAuraModifier (AuraType auraType) const
float GetTotalAuraMultiplier (AuraType auraType) const
int32 GetMaxPositiveAuraModifier (AuraType auraType) const
int32 GetMaxNegativeAuraModifier (AuraType auraType) const
int32 GetTotalAuraModifier (AuraType auraType, std::function< bool(AuraEffect const *)> const &predicate) const
float GetTotalAuraMultiplier (AuraType auraType, std::function< bool(AuraEffect const *)> const &predicate) const
int32 GetMaxPositiveAuraModifier (AuraType auraType, std::function< bool(AuraEffect const *)> const &predicate) const
int32 GetMaxNegativeAuraModifier (AuraType auraType, std::function< bool(AuraEffect const *)> const &predicate) const
int32 GetTotalAuraModifierByMiscMask (AuraType auraType, uint32 misc_mask) const
float GetTotalAuraMultiplierByMiscMask (AuraType auraType, uint32 misc_mask) const
int32 GetMaxPositiveAuraModifierByMiscMask (AuraType auraType, uint32 misc_mask, AuraEffect const *except=nullptr) const
int32 GetMaxNegativeAuraModifierByMiscMask (AuraType auraType, uint32 misc_mask) const
int32 GetTotalAuraModifierByMiscValue (AuraType auraType, int32 misc_value) const
float GetTotalAuraMultiplierByMiscValue (AuraType auraType, int32 misc_value) const
int32 GetMaxPositiveAuraModifierByMiscValue (AuraType auraType, int32 misc_value) const
int32 GetMaxNegativeAuraModifierByMiscValue (AuraType auraType, int32 misc_value) const
int32 GetTotalAuraModifierByAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
float GetTotalAuraMultiplierByAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
int32 GetMaxPositiveAuraModifierByAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
int32 GetMaxNegativeAuraModifierByAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
void InitStatBuffMods ()
void UpdateStatBuffMod (Stats stat)
void UpdateStatBuffModForClient (Stats stat)
void SetCreateStat (Stats stat, float val)
void SetCreateHealth (uint32 val)
uint32 GetCreateHealth () const
void SetCreateMana (uint32 val)
uint32 GetCreateMana () const
int32 GetCreatePowerValue (Powers power) const
float GetPosStat (Stats stat) const
float GetNegStat (Stats stat) const
float GetCreateStat (Stats stat) const
uint32 GetChannelSpellId () const
void SetChannelSpellId (uint32 channelSpellId)
uint32 GetChannelSpellXSpellVisualId () const
uint32 GetChannelScriptVisualId () const
void SetChannelVisual (SpellCastVisual channelVisual)
void AddChannelObject (ObjectGuid guid)
void SetChannelObject (uint32 slot, ObjectGuid guid)
void RemoveChannelObject (ObjectGuid guid)
void ClearChannelObjects ()
void SetCurrentCastSpell (Spell *pSpell)
void InterruptSpell (CurrentSpellTypes spellType, bool withDelayed=true, bool withInstant=true)
void FinishSpell (CurrentSpellTypes spellType, SpellCastResult result=SPELL_CAST_OK)
bool IsNonMeleeSpellCast (bool withDelayed, bool skipChanneled=false, bool skipAutorepeat=false, bool isAutoshoot=false, bool skipInstant=true) const
void InterruptNonMeleeSpells (bool withDelayed, uint32 spellid=0, bool withInstant=true)
SpellGetCurrentSpell (CurrentSpellTypes spellType) const
SpellGetCurrentSpell (uint32 spellType) const
SpellFindCurrentSpellBySpellId (uint32 spell_id) const
int32 GetCurrentSpellCastTime (uint32 spell_id) const
virtual SpellInfo const * GetCastSpellInfo (SpellInfo const *spellInfo) const
uint32 GetCastSpellXSpellVisualId (SpellInfo const *spellInfo) const override
virtual bool HasSpellFocus (Spell const *=nullptr) const
virtual bool IsMovementPreventedByCasting () const
bool CanCastSpellWhileMoving (SpellInfo const *spellInfo) const
bool IsSilenced (SpellSchoolMask schoolMask) const
void SetSilencedSchoolMask (SpellSchoolMask schoolMask)
void ReplaceAllSilencedSchoolMask (SpellSchoolMask schoolMask)
SpellHistoryGetSpellHistory ()
SpellHistory const * GetSpellHistory () const
ShapeshiftForm GetShapeshiftForm () const
void SetShapeshiftForm (ShapeshiftForm form)
bool IsInFeralForm () const
bool IsInDisallowedMountForm () const
bool IsDisallowedMountForm (uint32 spellId, ShapeshiftForm form, uint32 displayId) const
void HandleStatFlatModifier (UnitMods unitMod, UnitModifierFlatType modifierType, float amount, bool apply)
void ApplyStatPctModifier (UnitMods unitMod, UnitModifierPctType modifierType, float amount)
void SetStatFlatModifier (UnitMods unitMod, UnitModifierFlatType modifierType, float val)
void SetStatPctModifier (UnitMods unitMod, UnitModifierPctType modifierType, float val)
float GetFlatModifierValue (UnitMods unitMod, UnitModifierFlatType modifierType) const
float GetPctModifierValue (UnitMods unitMod, UnitModifierPctType modifierType) const
void UpdateUnitMod (UnitMods unitMod)
virtual bool CheckAttackFitToAuraRequirement (WeaponAttackType, AuraEffect const *) const
virtual void UpdateDamageDoneMods (WeaponAttackType attackType, int32 skipEnchantSlot=-1)
void UpdateAllDamageDoneMods ()
void UpdateDamagePctDoneMods (WeaponAttackType attackType)
void UpdateAllDamagePctDoneMods ()
float GetTotalStatValue (Stats stat) const
float GetTotalAuraModValue (UnitMods unitMod) const
SpellSchools GetSpellSchoolByAuraGroup (UnitMods unitMod) const
Stats GetStatByAuraGroup (UnitMods unitMod) const
bool CanModifyStats () const
void SetCanModifyStats (bool modifyStats)
virtual bool UpdateStats (Stats stat)=0
virtual bool UpdateAllStats ()=0
virtual void UpdateResistances (uint32 school)
virtual void UpdateAllResistances ()
virtual void UpdateArmor ()=0
virtual void UpdateMaxHealth ()=0
virtual void UpdateMaxPower (Powers power)=0
virtual uint32 GetPowerIndex (Powers power) const =0
virtual void UpdateAttackPowerAndDamage (bool ranged=false)=0
void SetAttackPower (int32 attackPower)
void SetAttackPowerModPos (int32 attackPowerMod)
void SetAttackPowerModNeg (int32 attackPowerMod)
void SetAttackPowerMultiplier (float attackPowerMult)
void SetRangedAttackPower (int32 attackPower)
void SetRangedAttackPowerModPos (int32 attackPowerMod)
void SetRangedAttackPowerModNeg (int32 attackPowerMod)
void SetRangedAttackPowerMultiplier (float attackPowerMult)
void SetMainHandWeaponAttackPower (int32 attackPower)
void SetOffHandWeaponAttackPower (int32 attackPower)
void SetRangedWeaponAttackPower (int32 attackPower)
virtual void UpdateDamagePhysical (WeaponAttackType attType)
float GetTotalAttackPowerValue (WeaponAttackType attType, bool includeWeapon=true) const
float GetWeaponDamageRange (WeaponAttackType attType, WeaponDamageRange type) const
void SetBaseWeaponDamage (WeaponAttackType attType, WeaponDamageRange damageRange, float value)
virtual void CalculateMinMaxDamage (WeaponAttackType attType, bool normalized, bool addTotalPct, float &minDamage, float &maxDamage) const =0
uint32 CalculateDamage (WeaponAttackType attType, bool normalized, bool addTotalPct) const
float GetAPMultiplier (WeaponAttackType attType, bool normalized) const
bool isInFrontInMap (Unit const *target, float distance, float arc=float(M_PI)) const
bool isInBackInMap (Unit const *target, float distance, float arc=float(M_PI)) const
bool IsVisible () const
void SetVisible (bool x)
virtual void OnPhaseChange ()
void UpdateObjectVisibility (bool forced=true) override
VisibleAuraContainer const & GetVisibleAuras () const
bool HasVisibleAura (AuraApplication *aurApp) const
void SetVisibleAura (AuraApplication *aurApp)
void SetVisibleAuraUpdate (AuraApplication *aurApp)
void RemoveVisibleAura (AuraApplication *aurApp)
bool HasInterruptFlag (SpellAuraInterruptFlags flags) const
bool HasInterruptFlag (SpellAuraInterruptFlags2 flags) const
void AddInterruptMask (SpellAuraInterruptFlags flags, SpellAuraInterruptFlags2 flags2)
void UpdateInterruptMask ()
virtual float GetNativeObjectScale () const
virtual void RecalculateObjectScale ()
uint32 GetDisplayId () const
float GetDisplayScale () const
virtual void SetDisplayId (uint32 displayId, bool setNative=false)
uint32 GetNativeDisplayId () const
float GetNativeDisplayScale () const
void RestoreDisplayId (bool ignorePositiveAurasPreventingMounting=false)
void SetTransformSpell (uint32 spellid)
uint32 GetTransformSpell () const
void _RegisterDynObject (DynamicObject *dynObj)
void _UnregisterDynObject (DynamicObject *dynObj)
DynamicObjectGetDynObject (uint32 spellId) const
std::vector< DynamicObject * > GetDynObjects (uint32 spellId) const
void RemoveDynObject (uint32 spellId)
void RemoveAllDynObjects ()
GameObjectGetGameObject (uint32 spellId) const
std::vector< GameObject * > GetGameObjects (uint32 spellId) const
void AddGameObject (GameObject *gameObj)
void RemoveGameObject (GameObject *gameObj, bool del)
void RemoveGameObject (uint32 spellid, bool del)
void RemoveAllGameObjects ()
void _RegisterAreaTrigger (AreaTrigger *areaTrigger)
void _UnregisterAreaTrigger (AreaTrigger *areaTrigger)
AreaTriggerGetAreaTrigger (uint32 spellId) const
std::vector< AreaTrigger * > GetAreaTriggers (uint32 spellId) const
void RemoveAreaTrigger (uint32 spellId)
void RemoveAreaTrigger (AuraEffect const *aurEff)
void RemoveAllAreaTriggers ()
void ModifyAuraState (AuraStateType flag, bool apply)
uint32 BuildAuraStateUpdateForTarget (Unit const *target) const
bool HasAuraState (AuraStateType flag, SpellInfo const *spellProto=nullptr, Unit const *Caster=nullptr) const
void UnsummonAllTotems ()
bool IsMagnet () const
UnitGetMeleeHitRedirectTarget (Unit *victim, SpellInfo const *spellInfo=nullptr)
int32 SpellBaseDamageBonusDone (SpellSchoolMask schoolMask) const
uint32 SpellDamageBonusDone (Unit *victim, SpellInfo const *spellProto, uint32 pdamage, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo, uint32 stack=1) const
float SpellDamagePctDone (Unit *victim, SpellInfo const *spellProto, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo) const
uint32 SpellDamageBonusTaken (Unit *caster, SpellInfo const *spellProto, uint32 pdamage, DamageEffectType damagetype) const
int32 SpellBaseHealingBonusDone (SpellSchoolMask schoolMask) const
uint32 SpellHealingBonusDone (Unit *victim, SpellInfo const *spellProto, uint32 healamount, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo, uint32 stack=1) const
float SpellHealingPctDone (Unit *victim, SpellInfo const *spellProto) const
uint32 SpellHealingBonusTaken (Unit *caster, SpellInfo const *spellProto, uint32 healamount, DamageEffectType damagetype) const
uint32 MeleeDamageBonusDone (Unit *pVictim, uint32 damage, WeaponAttackType attType, DamageEffectType damagetype, SpellInfo const *spellProto=nullptr, SpellEffectInfo const *spellEffectInfo=nullptr, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL)
uint32 MeleeDamageBonusTaken (Unit *attacker, uint32 pdamage, WeaponAttackType attType, DamageEffectType damagetype, SpellInfo const *spellProto=nullptr, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL)
bool IsBlockCritical ()
float SpellCritChanceDone (Spell *spell, AuraEffect const *aurEff, SpellSchoolMask schoolMask, WeaponAttackType attackType=BASE_ATTACK) const
float SpellCritChanceTaken (Unit const *caster, Spell *spell, AuraEffect const *aurEff, SpellSchoolMask schoolMask, float doneChance, WeaponAttackType attackType=BASE_ATTACK) const
void ApplySpellImmune (uint32 spellId, uint32 op, uint32 type, bool apply)
bool IsImmunedToSpell (SpellInfo const *spellInfo, WorldObject const *caster, bool requireImmunityPurgesEffectAttribute=false) const
uint32 GetSchoolImmunityMask () const
uint32 GetDamageImmunityMask () const
uint64 GetMechanicImmunityMask () const
bool IsImmunedToDamage (SpellSchoolMask meleeSchoolMask) const
bool IsImmunedToDamage (SpellInfo const *spellInfo) const
virtual bool IsImmunedToSpellEffect (SpellInfo const *spellInfo, SpellEffectInfo const &spellEffectInfo, WorldObject const *caster, bool requireImmunityPurgesEffectAttribute=false) const
void UpdateSpeed (UnitMoveType mtype)
float GetSpeed (UnitMoveType mtype) const
float GetSpeedRate (UnitMoveType mtype) const
void SetSpeed (UnitMoveType mtype, float newValue)
void SetSpeedRate (UnitMoveType mtype, float rate)
void FollowerAdded (AbstractFollower *f)
void FollowerRemoved (AbstractFollower *f)
void RemoveAllFollowers ()
MotionMasterGetMotionMaster ()
MotionMaster const * GetMotionMaster () const
virtual MovementGeneratorType GetDefaultMovementType () const
bool IsStopped () const
void StopMoving ()
void PauseMovement (uint32 timer=0, uint8 slot=0, bool forced=true)
void ResumeMovement (uint32 timer=0, uint8 slot=0)
void AddUnitMovementFlag (uint32 f)
void RemoveUnitMovementFlag (uint32 f)
bool HasUnitMovementFlag (uint32 f) const
uint32 GetUnitMovementFlags () const
void SetUnitMovementFlags (uint32 f)
void AddExtraUnitMovementFlag (uint32 f)
void RemoveExtraUnitMovementFlag (uint32 f)
bool HasExtraUnitMovementFlag (uint32 f) const
uint32 GetExtraUnitMovementFlags () const
void SetExtraUnitMovementFlags (uint32 f)
void AddExtraUnitMovementFlag2 (uint32 f)
void RemoveExtraUnitMovementFlag2 (uint32 f)
bool HasExtraUnitMovementFlag2 (uint32 f) const
uint32 GetExtraUnitMovementFlags2 () const
void SetExtraUnitMovementFlags2 (uint32 f)
bool IsSplineEnabled () const
void SetControlled (bool apply, UnitState state)
void ApplyControlStatesIfNeeded ()
uint32 GetComboPoints () const
 --------—Combo point system----------------— More...
void AddComboPoints (int8 count, Spell *spell=nullptr)
void GainSpellComboPoints (int8 count)
void ClearComboPoints ()
void SendPetActionFeedback (PetActionFeedback msg, uint32 spellId)
 -------—Pet responses methods--------------— More...
void SendPetTalk (uint32 pettalk)
void SendPetAIReaction (ObjectGuid guid)
void PropagateSpeedChange ()
 -------—End of Pet responses methods-------— More...
void ClearAllReactives ()
void StartReactiveTimer (ReactiveType reactive)
void UpdateReactives (uint32 p_time)
void UpdateAuraForGroup ()
bool CanProc () const
void SetCantProc (bool apply)
uint32 GetModelForForm (ShapeshiftForm form, uint32 spellId) const
bool CreateVehicleKit (uint32 id, uint32 creatureEntry, bool loading=false)
void RemoveVehicleKit (bool onRemoveFromWorld=false)
VehicleGetVehicleKit () const
VehicleGetVehicle () const
void SetVehicle (Vehicle *vehicle)
bool IsOnVehicle (Unit const *vehicle) const
UnitGetVehicleBase () const
UnitGetVehicleRoot () const
CreatureGetVehicleCreatureBase () const
ObjectGuid GetTransGUID () const override
TransportBaseGetDirectTransport () const
 Returns the transport this unit is on directly (if on vehicle and transport, return vehicle) More...
void HandleSpellClick (Unit *clicker, int8 seatId=-1)