TrinityCore
Player Class Referencefinal

#include <Player.h>

+ Inheritance diagram for Player:

Classes

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::forward_list< AuraEffect * > AuraEffectList
 
typedef std::forward_list< Aura * > AuraList
 
typedef std::forward_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, TeleportToOptions options=TELE_TO_NONE, Optional< uint32 > instanceId={})
 
bool TeleportTo (WorldLocation const &loc, TeleportToOptions options=TELE_TO_NONE, 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
 
void AddPetToUpdateFields (PetStable::PetInfo const &pet, PetSaveMode slot, PetStableFlags flags)
 
void SetPetSlot (uint32 petNumber, PetSaveMode dstPetSlot)
 
ObjectGuid GetStableMaster () const
 
void SetStableMaster (ObjectGuid stableMaster)
 
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 () const
 
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=nullptr, 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 const *source) const
 
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 (Object const *questGiver, 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, ItemContext context, 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)
 
void FailQuestsWithFlag (QuestFlags flag)
 
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)
 
void SendQuestUpdate (uint32 questId, bool updateInteractions=true, bool updateGameObjectQuestGiverStatus=false)
 
QuestGiverStatus GetQuestDialogStatus (Object const *questGiver) const
 
void SkipQuests (std::vector< uint32 > const &questIds)
 
void DespawnPersonalSummonsForQuest (uint32 questId)
 
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
 
int64 GetQuestSlotEndTime (uint16 slot) const
 
bool GetQuestSlotObjectiveFlag (uint16 slot, int8 objectiveIndex) const
 
int32 GetQuestSlotObjectiveData (uint16 slot, QuestObjective const &objective) const
 
int32 GetQuestObjectiveData (uint32 questId, uint32 objectiveId) 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 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, Optional< bool > boundItemFlagRequirement={}, bool *hadBoundItemObjective=nullptr)
 
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, std::vector< QuestObjective const * > *updatedObjectives=nullptr, std::function< bool(QuestObjective const *)> const *objectiveFilter=nullptr)
 
bool HasQuestForItem (uint32 itemId) const
 
QuestObjective const * GetQuestObjectiveForItem (uint32 itemId, bool onlyIncomplete) const
 
bool HasQuestForGO (int32 goId) const
 
void UpdateVisibleObjectInteractions (bool allUnits, bool onlySpellClicks, bool gameObjectQuestGiverStatus, bool questObjectiveGameObjects)
 
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 IsQuestObjectiveComplete (uint32 questId, uint32 objectiveId) 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 SendQuestUpdateAddItem (ItemTemplate const *itemTemplate, QuestObjective const &obj, uint16 count) 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

More...
 
CUFProfileGetCUFProfile (uint8 id) const
 

‍Replaces a CUF profile at position 0-4

More...
 
uint8 GetCUFProfilesCount () const
 

‍Retrieves a CUF profile at position 0-4

More...
 
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 SetBindPoint (ObjectGuid guid) const
 
void SendRespecWipeConfirm (ObjectGuid const &guid, uint32 cost, SpecResetType respecType) const
 
void RegenerateAll ()
 
void Regenerate (Powers power)
 
void InterruptPowerRegen (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, TriggerCastFlags &triggerFlag) 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_)
 
ChrSpecialization GetPrimarySpecialization () const
 
void SetPrimarySpecialization (uint32 spec)
 
uint8 GetActiveTalentGroup () const
 
void SetActiveTalentGroup (uint8 group)
 
uint32 GetDefaultSpecId () const
 
ChrSpecializationEntry const * GetPrimarySpecializationEntry () 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 SetPersonalTabard (uint32 style, uint32 color, uint32 borderStyle, uint32 borderColor, uint32 backgroundColor)
 
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 SendAttackSwingCancelAttack () const
 
void SetAttackSwingError (Optional< AttackSwingErr > err)
 
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 IsLockedToDungeonEncounter (uint32 dungeonEncounterId, Difficulty difficulty) 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)
 
bool HasExploredZone (uint32 areaId) const
 
Team 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 ApplyItemLootedSpell (ItemTemplate const *itemTemplate)
 
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, BattlegroundQueueTypeId queueId)
 
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 (Team team)
 
Team GetBGTeam () const
 
void LeaveBattleground (bool teleportToEntryPoint=true)
 
bool CanJoinToBattleground (BattlegroundTemplate 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 (WorldObject *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< WorldObject * > &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)
 
Optional< ReactStatesGetTemporaryPetReactState () const
 
void DisablePetControlsOnMount (ReactStates reactState, CommandStates commandState)
 
void EnablePetControlsOnDismount ()
 
void UnsummonPetTemporaryIfAny ()
 
void ResummonPetTemporaryUnSummonedIfAny ()
 
void UnsummonBattlePetTemporaryIfAny (bool onFlyingMount=false)
 
void ResummonBattlePetTemporaryUnSummonedIfAny ()
 
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)
 
WorldSafeLocsEntry const * GetInstanceEntrance (uint32 targetMapId)
 
uint32 GetLastPetNumber () const
 
void SetLastPetNumber (uint32 petnumber)
 
bool IsInGroup (ObjectGuid groupGuid) const
 
GroupGetGroupInvite () const
 
void SetGroupInvite (Group *group)
 
GroupGetGroup (Optional< uint8 > partyIndex)
 
Group const * GetGroup (Optional< uint8 > partyIndex) const
 
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, Optional< uint8 > partyIndex) 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
 
UF::DeclinedNames 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 FailCriteria (CriteriaFailEvent condition, int32 failAsset)
 
void UpdateCriteria (CriteriaType type, uint64 miscValue1=0, uint64 miscValue2=0, uint64 miscValue3=0, WorldObject *ref=nullptr)
 
void StartCriteria (CriteriaStartEvent startEvent, uint32 entry, Milliseconds timeLost=Milliseconds::zero())
 
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 CanSeeGossipOn (Creature const *creature) const
 
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)
 
void SetRequiredMountCapabilityFlag (uint8 flag)
 
void ReplaceAllRequiredMountCapabilityFlags (uint8 flags)
 
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
 
void SetAreaSpiritHealer (Creature *creature)
 
ObjectGuid const & GetSpiritHealerGUID () const
 
bool CanAcceptAreaSpiritHealFrom (Unit *spiritHealer) const
 
void SendAreaSpiritHealerTime (Unit *spiritHealer) const
 
void SendAreaSpiritHealerTime (ObjectGuid const &spiritHealerGUID, int32 timeLeft) const
 
void RequestSpellCast (std::unique_ptr< SpellCastRequest > castRequest)
 
void CancelPendingCastRequest ()
 
bool CanRequestSpellCast (SpellInfo const *spell, Unit const *castingUnit) const
 
- 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, bool(*unitFilter)(Unit const *otherUnit)=nullptr)
 
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)
 
Powers CalculateDisplayPowerType () const
 
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 DoMeleeAttackIfReady ()
 
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, bool npcCaster) 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 IsAreaSpiritHealerIndividual () 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 IsUninteractible () const
 
void SetUninteractible (bool apply)
 
bool CannotTurn () const
 
void SetCannotTurn (bool apply)
 
bool IsInCombat () const
 
bool IsInCombatWith (Unit const *who) const
 
void SetInCombatWith (Unit *enemy, bool addSecondUnitSuppressed=false)
 
void ClearInCombat ()
 
void UpdatePetCombatState ()
 
bool IsInteractionAllowedWhileHostile () const
 
virtual void SetInteractionAllowedWhileHostile (bool interactionAllowed)
 
bool IsInteractionAllowedInCombat () const
 
virtual void SetInteractionAllowedInCombat (bool interactionAllowed)
 
virtual void UpdateNearbyPlayersInteractions ()
 
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 IsOnOceanFloor () 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, bool abortSpell=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, bool sendUpdate=true)
 
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 override
 
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)
 
UnitGetDemonCreator () const
 
PlayerGetDemonCreatorPlayer () const
 
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, bool owned)
 
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
 
virtual 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, TriggerCastFlags &triggerFlag) 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 RemoveVisibleAura (AuraApplication *aurApp)
 
void SetVisibleAuraUpdate (AuraApplication *aurApp)
 
void RemoveVisibleAuraUpdate (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
 
int32 SpellDamageBonusDone (Unit *victim, SpellInfo const *spellProto, int32 pdamage, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo, uint32 stack=1, Spell *spell=nullptr, AuraEffect const *aurEff=nullptr) const
 
float SpellDamagePctDone (Unit *victim, SpellInfo const *spellProto, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo) const
 
int32 SpellDamageBonusTaken (Unit *caster, SpellInfo const *spellProto, int32 pdamage, DamageEffectType damagetype) const
 
int32 SpellBaseHealingBonusDone (SpellSchoolMask schoolMask) const
 
int32 SpellHealingBonusDone (Unit *victim, SpellInfo const *spellProto, int32 healamount, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo, uint32 stack=1, Spell *spell=nullptr, AuraEffect const *aurEff=nullptr) const
 
float SpellHealingPctDone (Unit *victim, SpellInfo const *spellProto) const
 
int32 SpellHealingBonusTaken (Unit *caster, SpellInfo const *spellProto, int32 healamount, DamageEffectType damagetype) const
 
int32 MeleeDamageBonusDone (Unit *pVictim, int32 damage, WeaponAttackType attType, DamageEffectType damagetype, SpellInfo const *spellProto=nullptr, Mechanics mechanic=MECHANIC_NONE, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL, Spell *spell=nullptr, AuraEffect const *aurEff=nullptr)
 
int32 MeleeDamageBonusTaken (Unit *attacker, int32 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, SpellImmunity 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
 
EnumFlag< SpellOtherImmunityGetSpellOtherImmunityMask () const
 
bool IsImmunedToDamage (SpellSchoolMask meleeSchoolMask) const
 
bool IsImmunedToDamage (SpellInfo const *spellInfo, SpellEffectInfo const *spellEffectInfo=nullptr) 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 ()
 
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)
 
int32 GetProcChainLength () const
 
uint32 GetModelForForm (ShapeshiftForm form, uint32 spellId) const
 
bool CreateVehicleKit (uint32 id, uint32 creatureEntry, bool loading=false)
 
void RemoveVehicleKit (bool onRemoveFromWorld=false)
 
VehicleGetVehicleKit () const
 
Trinity::unique_weak_ptr< VehicleGetVehicleKitWeakPtr () 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)
 
void EnterVehicle (Unit *base, int8 seatId=-1)
 
virtual void ExitVehicle (Position const *exitPosition=nullptr)
 
void ChangeSeat (int8 seatId, bool next=true)
 
void _ExitVehicle (Position const *exitPosition=nullptr)
 
void _EnterVehicle (Vehicle *vehicle, int8 seatId, AuraApplication const *aurApp=nullptr)
 
bool isMoving () const
 
bool isTurning () const
 
virtual bool CanFly () const =0
 
bool IsFlying () const
 
bool IsFalling () const
 
virtual bool CanEnterWater () const =0
 
virtual bool CanSwim () const
 
float GetHoverOffset () const
 
void RewardRage (uint32 baseRage)
 
virtual float GetFollowAngle () const
 
void OutDebugInfo () const
 
virtual bool IsLoading () const
 
bool IsDuringRemoveFromWorld () const
 
PetToPet ()
 
Pet const * ToPet () const
 
TotemToTotem ()
 
Totem const * ToTotem () const
 
TempSummonToTempSummon ()
 
TempSummon const * ToTempSummon () const
 
ObjectGuid GetTarget () const
 
virtual void SetTarget (ObjectGuid const &)=0
 
void SetInstantCast (bool set)
 
bool CanInstantCast () const
 
int32 GetHighestExclusiveSameEffectSpellGroupValue (AuraEffect const *aurEff, AuraType auraType, bool checkMiscValue=false, int32 miscValue=0) const
 
bool IsHighestExclusiveAura (Aura const *aura, bool removeOtherAuraApplications=false)
 
bool IsHighestExclusiveAuraEffect (SpellInfo const *spellInfo, AuraType auraType, int32 effectAmount, uint32 auraEffectMask, bool removeOtherAuraApplications=false)
 
virtual void Talk (std::string_view text, ChatMsg msgType, Language language, float textRange, WorldObject const *target)
 
virtual void Say (std::string_view text, Language language, WorldObject const *target=nullptr)
 
virtual void Yell (std::string_view text, Language language, WorldObject const *target=nullptr)
 
virtual void TextEmote (std::string_view text, WorldObject const *target=nullptr, bool isBossEmote=false)
 
virtual void Whisper (std::string_view text, Language language, Player *target, bool isBossWhisper=false)
 
virtual void Talk (uint32 textId, ChatMsg msgType, float textRange, WorldObject const *target)
 
virtual void Say (