AzerothCore 3.3.5a
OpenSource WoW Emulator
No Matches
Player Class Reference

#include "Player.h"

Inheritance diagram for Player:
Unit GridObject< Player > WorldObject Object WorldLocation Position


struct  BgBattlegroundQueueID_Rec
struct  ChatFloodThrottle

Public Types

typedef std::unordered_map< ObjectGuid::LowType, Item * > ItemMap
typedef std::set< uint32DFQuestsDoneList
- Public Types inherited from Unit
typedef std::unordered_set< Unit * > AttackerSet
typedef std::set< Unit * > ControlSet
typedef std::multimap< uint32, Aura * > AuraMap
typedef std::pair< AuraMap::const_iterator, AuraMap::const_iterator > AuraMapBounds
typedef std::pair< AuraMap::iterator, AuraMap::iterator > AuraMapBoundsNonConst
typedef std::multimap< uint32, AuraApplication * > AuraApplicationMap
typedef std::pair< AuraApplicationMap::const_iterator, AuraApplicationMap::const_iterator > AuraApplicationMapBounds
typedef std::pair< AuraApplicationMap::iterator, AuraApplicationMap::iterator > AuraApplicationMapBoundsNonConst
typedef std::multimap< AuraStateType, AuraApplication * > AuraStateAurasMap
typedef std::pair< AuraStateAurasMap::const_iterator, AuraStateAurasMap::const_iterator > AuraStateAurasMapBounds
typedef std::list< AuraEffect * > AuraEffectList
typedef std::list< Aura * > AuraList
typedef std::list< AuraApplication * > AuraApplicationList
typedef std::list< DiminishingReturnDiminishing
typedef GuidUnorderedSet ComboPointHolderSet
typedef std::map< uint8, AuraApplication * > VisibleAuraMap
typedef std::set< PetAura const * > PetAuraSet

Public Member Functions

 Player (WorldSession *session)
 ~Player () override
void CleanupsBeforeDelete (bool finalCleanup=true) override
void AddToWorld () override
void RemoveFromWorld () override
void SetObjectScale (float scale) override
bool hasSpanishClient ()
bool TeleportTo (uint32 mapid, float x, float y, float z, float orientation, uint32 options=0, Unit *target=nullptr, bool newInstance=false)
bool TeleportTo (WorldLocation const &loc, uint32 options=0, Unit *target=nullptr)
bool TeleportToEntryPoint ()
void SetSummonPoint (uint32 mapid, float x, float y, float z, uint32 delay=0, bool asSpectator=false)
bool IsSummonAsSpectator () const
void SetSummonAsSpectator (bool on)
void SummonIfPossible (bool agree, ObjectGuid summoner_guid)
time_t GetSummonExpireTimer () const
bool Create (ObjectGuid::LowType guidlow, CharacterCreateInfo *createInfo)
void Update (uint32 time) override
PlayerFlags GetPlayerFlags () const
bool HasPlayerFlag (PlayerFlags flags) const
void SetPlayerFlag (PlayerFlags flags)
void RemovePlayerFlag (PlayerFlags flags)
void ReplaceAllPlayerFlags (PlayerFlags flags)
void SetInWater (bool apply)
bool IsInWater () const override
bool IsFalling () const
bool IsInAreaTriggerRadius (AreaTrigger const *trigger, float delta=0.f) const
void SendInitialPacketsBeforeAddToMap ()
void SendInitialPacketsAfterAddToMap ()
void SendTransferAborted (uint32 mapid, TransferAbortReason reason, uint8 arg=0)
void SendInstanceResetWarning (uint32 mapid, Difficulty difficulty, uint32 time, bool onEnterMap)
bool CanInteractWithQuestGiver (Object *questGiver)
CreatureGetNPCIfCanInteractWith (ObjectGuid guid, uint32 npcflagmask)
GameObjectGetGameObjectIfCanInteractWith (ObjectGuid guid, GameobjectTypes type) const
void ToggleAFK ()
void ToggleDND ()
bool isAFK () const
bool isDND () const
uint8 GetChatTag () const
uint32 GetBarberShopCost (uint8 newhairstyle, uint8 newhaircolor, uint8 newfacialhair, BarberShopStyleEntry const *newSkin=nullptr)
PlayerSocialGetSocial ()
void InitTaxiNodesForLevel ()
bool ActivateTaxiPathTo (std::vector< uint32 > const &nodes, Creature *npc=nullptr, uint32 spellid=1)
bool ActivateTaxiPathTo (uint32 taxi_path_id, uint32 spellid=1)
void CleanupAfterTaxiFlight ()
void ContinueTaxiFlight ()
void SendTaxiNodeStatusMultiple ()
bool IsDeveloper () const
void SetDeveloper (bool on)
bool isAcceptWhispers () const
void SetAcceptWhispers (bool on)
bool IsGameMaster () 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)
bool Has310Flyer (bool checkAllSpells, uint32 excludeSpellId=0)
void SetHas310Flyer (bool on)
void SetPvPDeath (bool on)
void GiveXP (uint32 xp, Unit *victim, float group_rate=1.0f, bool isLFGReward=false)
void GiveLevel (uint8 level)
void InitStatsForLevel (bool reapplyMods=false)
bool GetCommandStatus (uint32 command) const
void SetCommandStatusOn (uint32 command)
void SetCommandStatusOff (uint32 command)
uint32 GetTotalPlayedTime ()
uint32 GetLevelPlayedTime ()
void setDeathState (DeathState s, bool despawn=false) override
void SetRestState (uint32 triggerId)
void RemoveRestState ()
uint32 GetXPRestBonus (uint32 xp)
float GetRestBonus () const
void SetRestBonus (float rest_bonus_new)
bool HasRestFlag (RestFlag restFlag) const
void SetRestFlag (RestFlag restFlag, uint32 triggerId=0)
void RemoveRestFlag (RestFlag restFlag)
uint32 GetInnTriggerId () const
PetStableGetPetStable ()
PetStableGetOrInitPetStable ()
PetStable const * GetPetStable () const
PetGetPet () const
PetSummonPet (uint32 entry, float x, float y, float z, float ang, PetType petType, Milliseconds duration=0s, uint32 healthPct=0)
void RemovePet (Pet *pet, PetSaveMode mode, bool returnreagent=false)
bool CanPetResurrect ()
bool IsExistPet ()
PetCreatePet (Creature *creatureTarget, uint32 spellID=0)
PetCreatePet (uint32 creatureEntry, uint32 spellID=0)
uint32 GetPhaseMaskForSpawn () const
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.
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.
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.
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.
void Whisper (uint32 textId, Player *target, bool isBossWhisper=false) override
void SetVirtualItemSlot (uint8 i, Item *item)
void SetSheath (SheathState sheathed) override
uint8 FindEquipSlot (ItemTemplate const *proto, uint32 slot, bool swap) 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) const
ItemGetItemByPos (uint16 pos) const
ItemGetItemByPos (uint8 bag, uint8 slot) const
BagGetBagByPos (uint8 slot) const
uint32 GetFreeInventorySpace () const
ItemGetUseableItemByPos (uint8 bag, uint8 slot) const
ItemGetWeaponForAttack (WeaponAttackType attackType, bool useable=false) const
ItemGetShield (bool useable=false) const
std::vector< Item * > & GetItemUpdateQueue ()
bool IsValidPos (uint16 pos, bool explicit_pos)
bool IsValidPos (uint8 bag, uint8 slot, bool explicit_pos)
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
bool HasItemOrGemWithIdEquipped (uint32 item, uint32 count, uint8 except_slot=NULL_SLOT) const
bool HasItemOrGemWithLimitCategoryEquipped (uint32 limitCategory, uint32 count, uint8 except_slot=NULL_SLOT) const
InventoryResult CanTakeMoreSimilarItems (Item *pItem) const
InventoryResult CanTakeMoreSimilarItems (uint32 entry, uint32 count) 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 **pItem, int32 count) 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 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) const
InventoryResult CanUseItem (Item *pItem, bool not_loading=true) const
bool HasItemTotemCategory (uint32 TotemCategory) const
bool IsTotemCategoryCompatiableWith (ItemTemplate const *pProto, uint32 requiredTotemCategoryId) const
InventoryResult CanUseItem (ItemTemplate const *pItem) const
InventoryResult CanUseAmmo (uint32 item) const
InventoryResult CanRollForItemInLFG (ItemTemplate const *item, WorldObject const *lootedObject) const
ItemStoreNewItem (ItemPosCountVec const &pos, uint32 item, bool update, int32 randomPropertyId=0)
ItemStoreNewItem (ItemPosCountVec const &pos, uint32 item, bool update, int32 randomPropertyId, AllowedLooterSet &allowedLooters)
ItemStoreItem (ItemPosCountVec const &pos, Item *pItem, bool update)
ItemEquipNewItem (uint16 pos, uint32 item, bool update)
ItemEquipItem (uint16 pos, Item *pItem, bool update)
void AutoUnequipOffhandIfNeed (bool force=false)
bool StoreNewItemInBestSlots (uint32 item_id, uint32 item_count)
void AutoStoreLoot (uint8 bag, uint8 slot, uint32 loot_id, LootStore const &store, bool broadcast=false)
void AutoStoreLoot (uint32 loot_id, LootStore const &store, bool broadcast=false)
LootItemStoreLootItem (uint8 lootSlot, Loot *loot, InventoryResult &msg)
void UpdateLootAchievements (LootItem *item, Loot *loot)
void UpdateTitansGrip ()
InventoryResult CanTakeMoreSimilarItems (uint32 entry, uint32 count, Item *pItem, uint32 *no_space_count=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 itemGUID)
void DeleteRefundReference (ObjectGuid itemGUID)
void ApplyEquipCooldown (Item *pItem)
void SetAmmo (uint32 item)
void RemoveAmmo ()
float GetAmmoDPS () const
bool CheckAmmoCompatibility (ItemTemplate const *ammo_proto) const
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)
ItemBankItem (uint16 pos, Item *pItem, bool update)
void RemoveItem (uint8 bag, uint8 slot, bool update, bool swap=false)
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)
void 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, uint32 money)
ItemGetItemFromBuyBackSlot (uint32 slot)
void RemoveItemFromBuyBackSlot (uint32 slot, bool del)
uint32 GetMaxKeyringSize () const
void SendEquipError (InventoryResult msg, Item *pItem, Item *pItem2=nullptr, uint32 itemid=0)
void SendBuyError (BuyResult msg, Creature *creature, uint32 item, uint32 param)
void SendSellError (SellResult msg, Creature *creature, ObjectGuid guid, uint32 param)
void AddWeaponProficiency (uint32 newflag)
void AddArmorProficiency (uint32 newflag)
uint32 GetWeaponProficiency () const
uint32 GetArmorProficiency () const
bool IsTwoHandUsed () const
void SendNewItem (Item *item, uint32 count, bool received, bool created, bool broadcast=false, bool sendChatMessage=true)
bool BuyItemFromVendorSlot (ObjectGuid vendorguid, uint32 vendorslot, uint32 item, uint8 count, uint8 bag, uint8 slot)
bool _StoreOrEquipNewItem (uint32 vendorslot, uint32 item, uint8 count, uint8 bag, uint8 slot, int32 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 UpdateEnchantmentDurations ()
void BuildEnchantmentsInfoData (WorldPacket *data)
void AddItemDurations (Item *item)
void RemoveItemDurations (Item *item)
void SendItemDurations ()
void LoadCorpse (PreparedQueryResult result)
void LoadPet ()
bool AddItem (uint32 itemId, uint32 count)
void PrepareGossipMenu (WorldObject *source, uint32 menuId=0, bool showQuests=false)
void SendPreparedGossip (WorldObject *source)
void OnGossipSelect (WorldObject *source, uint32 gossipListId, uint32 menuId)
uint32 GetGossipTextId (uint32 menuId, WorldObject *source)
uint32 GetGossipTextId (WorldObject *source)
void ToggleInstantFlight ()
int32 GetQuestLevel (Quest const *quest) const
void PrepareQuestMenu (ObjectGuid guid)
void SendPreparedQuest (ObjectGuid guid)
bool IsActiveQuest (uint32 quest_id) const
Quest const * GetNextQuest (ObjectGuid guid, Quest const *quest)
bool CanSeeStartQuest (Quest const *quest)
bool CanTakeQuest (Quest const *quest, bool msg)
bool CanAddQuest (Quest const *quest, bool msg)
bool CanCompleteQuest (uint32 quest_id, const QuestStatusData *q_savedStatus=nullptr)
bool CanCompleteRepeatableQuest (Quest const *quest)
bool CanRewardQuest (Quest const *quest, bool msg)
bool CanRewardQuest (Quest const *quest, uint32 reward, bool msg)
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)
void RewardQuest (Quest const *quest, uint32 reward, Object *questGiver, bool announce=true, bool isLFGReward=false)
void FailQuest (uint32 quest_id)
bool SatisfyQuestSkill (Quest const *qInfo, bool msg) const
bool SatisfyQuestLevel (Quest const *qInfo, bool msg) const
bool SatisfyQuestLog (bool msg)
bool SatisfyQuestPreviousQuest (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)
bool SatisfyQuestTimed (Quest const *qInfo, bool msg) const
bool SatisfyQuestExclusiveGroup (Quest const *qInfo, bool msg) const
bool SatisfyQuestNextChain (Quest const *qInfo, bool msg) const
bool SatisfyQuestPrevChain (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 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)
QuestGiverStatus GetQuestDialogStatus (Object *questGiver)
float GetQuestRate (bool isDFQuest=false)
void SetDailyQuestStatus (uint32 quest_id)
bool IsDailyQuestDone (uint32 quest_id)
void SetWeeklyQuestStatus (uint32 quest_id)
void SetMonthlyQuestStatus (uint32 quest_id)
void SetSeasonalQuestStatus (uint32 quest_id)
void ResetDailyQuestStatus ()
void ResetWeeklyQuestStatus ()
void ResetMonthlyQuestStatus ()
void ResetSeasonalQuestStatus (uint16 event_id)
uint16 FindQuestSlot (uint32 quest_id) const
uint32 GetQuestSlotQuestId (uint16 slot) const
uint32 GetQuestSlotState (uint16 slot) const
uint16 GetQuestSlotCounter (uint16 slot, uint8 counter) const
uint32 GetQuestSlotTime (uint16 slot) const
void SetQuestSlot (uint16 slot, uint32 quest_id, uint32 timer=0)
void SetQuestSlotCounter (uint16 slot, uint8 counter, uint16 count)
void SetQuestSlotState (uint16 slot, uint32 state)
void RemoveQuestSlotState (uint16 slot, uint32 state)
void SetQuestSlotTimer (uint16 slot, uint32 timer)
void SwapQuestSlot (uint16 slot1, uint16 slot2)
uint16 GetReqKillOrCastCurrentCount (uint32 quest_id, int32 entry)
void AreaExploredOrEventHappens (uint32 questId)
void GroupEventHappens (uint32 questId, WorldObject const *pEventObject)
void ItemAddedQuestCheck (uint32 entry, uint32 count)
void ItemRemovedQuestCheck (uint32 entry, uint32 count)
void KilledMonster (CreatureTemplate const *cInfo, ObjectGuid guid)
void KilledMonsterCredit (uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
void KilledPlayerCredit (uint16 count=1)
void KilledPlayerCreditForQuest (uint16 count, Quest const *quest)
void KillCreditGO (uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
void TalkedToCreature (uint32 entry, ObjectGuid guid)
void MoneyChanged (uint32 value)
void ReputationChanged (FactionEntry const *factionEntry)
void ReputationChanged2 (FactionEntry const *factionEntry)
bool HasQuestForItem (uint32 itemId, uint32 excludeQuestId=0, bool turnIn=false, bool *showInLoot=nullptr) const
bool HasQuestForGO (int32 GOId) const
bool HasQuest (uint32 questId) const
void UpdateForQuestWorldObjects ()
bool CanShareQuest (uint32 quest_id) const
void SendQuestComplete (uint32 quest_id)
void SendQuestReward (Quest const *quest, uint32 XP)
void SendQuestFailed (uint32 questId, InventoryResult reason=EQUIP_ERR_OK)
void SendQuestTimerFailed (uint32 quest_id)
void SendCanTakeQuestResponse (uint32 msg) const
void SendQuestConfirmAccept (Quest const *quest, Player *pReceiver)
void SendPushToPartyResponse (Player const *player, uint8 msg) const
void SendQuestUpdateAddItem (Quest const *quest, uint32 item_idx, uint16 count)
void SendQuestUpdateAddCreatureOrGo (Quest const *quest, ObjectGuid guid, uint32 creatureOrGO_idx, uint16 old_count, uint16 add_count)
void SendQuestUpdateAddPlayer (Quest const *quest, uint16 old_count, uint16 add_count)
ObjectGuid GetDivider ()
void SetDivider (ObjectGuid guid=ObjectGuid::Empty)
uint32 GetInGameTime ()
void SetInGameTime (uint32 time)
void AddTimedQuest (uint32 quest_id)
void RemoveTimedQuest (uint32 quest_id)
bool HasPvPForcingQuest () const
bool LoadFromDB (ObjectGuid guid, CharacterDatabaseQueryHolder const &holder)
bool isBeingLoaded () const override
void Initialize (ObjectGuid::LowType guid)
void SaveToDB (bool create, bool logout)
void SaveToDB (CharacterDatabaseTransaction trans, bool create, bool logout)
void SaveInventoryAndGoldToDB (CharacterDatabaseTransaction trans)
void SaveGoldToDB (CharacterDatabaseTransaction trans)
void SetBindPoint (ObjectGuid guid)
void SendTalentWipeConfirm (ObjectGuid guid)
void ResetPetTalents ()
void CalcRage (uint32 damage, bool attacker)
void RegenerateAll ()
void Regenerate (Powers power)
void RegenerateHealth ()
void setRegenTimerCount (uint32 time)
void setWeaponChangeTimer (uint32 time)
uint32 GetMoney () const
bool ModifyMoney (int32 amount, bool sendError=true)
bool HasEnoughMoney (uint32 amount) const
bool HasEnoughMoney (int32 amount) const
void SetMoney (uint32 value)
RewardedQuestSet const & getRewardedQuests () const
QuestStatusMapgetQuestStatusMap ()
QuestStatusSaveMapGetQuestStatusSaveMap ()
size_t GetRewardedQuestCount () const
bool IsQuestRewarded (uint32 quest_id) const
UnitGetSelectedUnit () const
PlayerGetSelectedPlayer () const
void SetTarget (ObjectGuid=ObjectGuid::Empty) override
void SetSelection (ObjectGuid guid)
 Used for serverside target changes, does not apply to players.
void SendMailResult (uint32 mailId, MailResponseType mailAction, MailResponseResult mailError, uint32 equipError=0, ObjectGuid::LowType item_guid=0, uint32 item_count=0)
void SendNewMail ()
void UpdateNextMailTimeAndUnreads ()
void AddNewMailDeliverTime (time_t deliver_time)
void RemoveMail (uint32 id)
void AddMail (Mail *mail)
uint32 GetMailSize ()
MailGetMail (uint32 id)
PlayerMails const & GetMails () const
void SendItemRetrievalMail (uint32 itemEntry, uint32 count)
void SendItemRetrievalMail (std::vector< std::pair< uint32, uint32 > > mailItems)
ItemGetMItem (ObjectGuid::LowType itemLowGuid)
void AddMItem (Item *it)
bool RemoveMItem (ObjectGuid::LowType itemLowGuid)
void PetSpellInitialize ()
void CharmSpellInitialize ()
void PossessSpellInitialize ()
void VehicleSpellInitialize ()
void SendRemoveControlBar ()
bool HasSpell (uint32 spell) const override
bool HasActiveSpell (uint32 spell) const
TrainerSpellState GetTrainerSpellState (TrainerSpell const *trainer_spell) const
bool IsSpellFitByClassAndRace (uint32 spell_id) const
bool IsNeedCastPassiveSpellAtLearn (SpellInfo const *spellInfo) const
void SendProficiency (ItemClass itemClass, uint32 itemSubclassMask)
void SendInitialSpells ()
void SendLearnPacket (uint32 spellId, bool learn)
bool addSpell (uint32 spellId, uint8 addSpecMask, bool updateActive, bool temporary=false, bool learnFromSkill=false)
bool _addSpell (uint32 spellId, uint8 addSpecMask, bool temporary, bool learnFromSkill=false)
void learnSpell (uint32 spellId, bool temporary=false, bool learnFromSkill=false)
void removeSpell (uint32 spellId, uint8 removeSpecMask, bool onlyTemporary)
void resetSpells ()
void LearnCustomSpells ()
void LearnDefaultSkills ()
void LearnDefaultSkill (uint32 skillId, uint16 rank)
void learnQuestRewardedSpells ()
void learnQuestRewardedSpells (Quest const *quest)
void learnSpellHighRank (uint32 spellid)
void SetReputation (uint32 factionentry, float value)
uint32 GetReputation (uint32 factionentry) const
std::string const & GetGuildName ()
uint32 GetFreeTalentPoints () const
void SetFreeTalentPoints (uint32 points)
bool resetTalents (bool noResetCost=false)
uint32 resetTalentsCost () const
void InitTalentForLevel ()
void BuildPlayerTalentsInfoData (WorldPacket *data)
void BuildPetTalentsInfoData (WorldPacket *data)
void SendTalentsInfoData (bool pet)
void LearnTalent (uint32 talentId, uint32 talentRank, bool command=false)
void LearnPetTalent (ObjectGuid petGuid, uint32 talentId, uint32 talentRank)
bool addTalent (uint32 spellId, uint8 addSpecMask, uint8 oldTalentRank)
void _removeTalent (PlayerTalentMap::iterator &itr, uint8 specMask)
void _removeTalent (uint32 spellId, uint8 specMask)
void _removeTalentAurasAndSpells (uint32 spellId)
void _addTalentAurasAndSpells (uint32 spellId)
bool HasTalent (uint32 spell_id, uint8 spec) const
uint32 CalculateTalentsPoints () const
void UpdateSpecCount (uint8 count)
uint8 GetActiveSpec () const
uint8 GetActiveSpecMask () const
void SetActiveSpec (uint8 spec)
uint8 GetSpecsCount () const
void SetSpecsCount (uint8 count)
void ActivateSpec (uint8 spec)
void LoadActions (PreparedQueryResult result)
void GetTalentTreePoints (uint8(&specPoints)[3]) const
uint8 GetMostPointsTalentTree () const
bool HasTankSpec ()
bool HasMeleeSpec ()
bool HasCasterSpec ()
bool HasHealSpec ()
uint32 GetSpec (int8 spec=-1)
void InitGlyphsForLevel ()
void SetGlyphSlot (uint8 slot, uint32 slottype)
uint32 GetGlyphSlot (uint8 slot) const
void SetGlyph (uint8 slot, uint32 glyph, bool save)
uint32 GetGlyph (uint8 slot) const
uint32 GetFreePrimaryProfessionPoints () const
void SetFreePrimaryProfessions (uint16 profs)
void InitPrimaryProfessions ()
PlayerSpellMap const & GetSpellMap () const
PlayerSpellMapGetSpellMap ()
SpellCooldowns const & GetSpellCooldownMap () const
SpellCooldownsGetSpellCooldownMap ()
void AddSpellMod (SpellModifier *mod, bool apply)
bool IsAffectedBySpellmod (SpellInfo const *spellInfo, SpellModifier *mod, Spell *spell=nullptr)
bool HasSpellMod (SpellModifier *mod, Spell *spell)
template<class T >
void ApplySpellMod (uint32 spellId, SpellModOp op, T &basevalue, Spell *spell=nullptr, bool temporaryPet=false)
void RemoveSpellMods (Spell *spell)
void RestoreSpellMods (Spell *spell, uint32 ownerAuraId=0, Aura *aura=nullptr)
void RestoreAllSpellMods (uint32 ownerAuraId=0, Aura *aura=nullptr)
void DropModCharge (SpellModifier *mod, Spell *spell)
void SetSpellModTakingSpell (Spell *spell, bool apply)
bool HasSpellCooldown (uint32 spell_id) const override
bool HasSpellItemCooldown (uint32 spell_id, uint32 itemid) const override
uint32 GetSpellCooldownDelay (uint32 spell_id) const
void AddSpellAndCategoryCooldowns (SpellInfo const *spellInfo, uint32 itemId, Spell *spell=nullptr, bool infinityCooldown=false)
void AddSpellCooldown (uint32 spell_id, uint32 itemid, uint32 end_time, bool needSendToClient=false, bool forceSendToSpectator=false) override
void _AddSpellCooldown (uint32 spell_id, uint16 categoryId, uint32 itemid, uint32 end_time, bool needSendToClient=false, bool forceSendToSpectator=false)
void ModifySpellCooldown (uint32 spellId, int32 cooldown)
void SendCooldownEvent (SpellInfo const *spellInfo, uint32 itemId=0, Spell *spell=nullptr, bool setCooldown=true)
void ProhibitSpellSchool (SpellSchoolMask idSchoolMask, uint32 unTimeMs) override
void RemoveSpellCooldown (uint32 spell_id, bool update=false)
void SendClearCooldown (uint32 spell_id, Unit *target)
GlobalCooldownMgrGetGlobalCooldownMgr ()
void RemoveCategoryCooldown (uint32 cat)
void RemoveArenaSpellCooldowns (bool removeActivePetCooldowns=false)
void RemoveAllSpellCooldown ()
void _LoadSpellCooldowns (PreparedQueryResult result)
void _SaveSpellCooldowns (CharacterDatabaseTransaction trans, bool logout)
uint32 GetLastPotionId ()
void SetLastPotionId (uint32 item_id)
void UpdatePotionCooldown (Spell *spell=nullptr)
void setResurrectRequestData (ObjectGuid guid, uint32 mapId, float X, float Y, float Z, uint32 health, uint32 mana)
void clearResurrectRequestData ()
bool isResurrectRequestedBy (ObjectGuid guid) const
bool isResurrectRequested () const
void ResurectUsingRequestData ()
uint8 getCinematic () const
void setCinematic (uint8 cine)
ActionButtonaddActionButton (uint8 button, uint32 action, uint8 type)
void removeActionButton (uint8 button)
ActionButton const * GetActionButton (uint8 button)
void SendInitialActionButtons () const
void SendActionButtons (uint32 state) const
bool IsActionButtonDataValid (uint8 button, uint32 action, uint8 type)
void UpdatePvPState ()
void UpdateFFAPvPState (bool reset=true)
void SetPvP (bool state)
void UpdatePvP (bool state, bool _override=false)
void UpdateZone (uint32 newZone, uint32 newArea)
void UpdateArea (uint32 newArea)
void SetNeedZoneUpdate (bool needUpdate)
void UpdateZoneDependentAuras (uint32 zone_id)
void UpdateAreaDependentAuras (uint32 area_id)
void UpdateAfkReport (time_t currTime)
 checks the 15 afk reports per 5 minutes limit
void UpdatePvPFlag (time_t currTime)
void UpdateFFAPvPFlag (time_t currTime)
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 SendDuelCountdown (uint32 counter)
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 (uint32 GuildId)
void SetRank (uint8 rankId)
uint8 GetRank () const
void SetGuildIdInvited (uint32 GuildId)
uint32 GetGuildId () const
GuildGetGuild () const
uint32 GetGuildIdInvited ()
void SetInArenaTeam (uint32 ArenaTeamId, uint8 slot, uint8 type)
void SetArenaTeamInfoField (uint8 slot, ArenaTeamInfoType type, uint32 value)
uint32 GetArenaPersonalRating (uint8 slot) const
uint32 GetArenaTeamId (uint8 slot) const
void SetArenaTeamIdInvited (uint32 ArenaTeamId)
uint32 GetArenaTeamIdInvited ()
Difficulty GetDifficulty (bool isRaid) const
Difficulty GetDungeonDifficulty () const
Difficulty GetRaidDifficulty () const
Difficulty GetStoredRaidDifficulty () const
void SetDungeonDifficulty (Difficulty dungeon_difficulty)
void SetRaidDifficulty (Difficulty raid_difficulty)
void StoreRaidMapDifficulty ()
bool UpdateSkill (uint32 skill_id, uint32 step)
bool UpdateSkillPro (uint16 SkillId, int32 Chance, uint32 step)
bool UpdateCraftSkill (uint32 spellid)
bool UpdateGatherSkill (uint32 SkillId, uint32 SkillValue, uint32 RedLevel, uint32 Multiplicator=1)
bool UpdateFishingSkill ()
uint32 GetBaseDefenseSkillValue () const
uint32 GetBaseWeaponSkillValue (WeaponAttackType attType) const
uint32 GetSpellByProto (ItemTemplate *proto)
float GetHealthBonusFromStamina ()
float GetManaBonusFromIntellect ()
bool UpdateStats (Stats stat) override
bool UpdateAllStats () override
void ApplySpellPenetrationBonus (int32 amount, bool apply)
void UpdateResistances (uint32 school) override
void UpdateArmor () override
void UpdateMaxHealth () override
void UpdateMaxPower (Powers power) override
void ApplyFeralAPBonus (int32 amount, bool apply)
void UpdateAttackPowerAndDamage (bool ranged=false) override
void UpdateShieldBlockValue ()
void ApplySpellPowerBonus (int32 amount, bool apply)
void UpdateSpellDamageAndHealingBonus ()
void ApplyRatingMod (CombatRating cr, int32 value, bool apply)
void UpdateRating (CombatRating cr)
void UpdateAllRatings ()
void CalculateMinMaxDamage (WeaponAttackType attType, bool normalized, bool addTotalPct, float &minDamage, float &maxDamage, uint8 damageIndex) override
void UpdateDefenseBonusesMod ()
void RecalculateRating (CombatRating cr)
float GetMeleeCritFromAgility ()
void GetDodgeFromAgility (float &diminishing, float &nondiminishing)
float GetMissPercentageFromDefence () const
float GetSpellCritFromIntellect ()
float OCTRegenHPPerSpirit ()
float OCTRegenMPPerSpirit ()
float GetRatingMultiplier (CombatRating cr) const
float GetRatingBonusValue (CombatRating cr) const
uint32 GetBaseSpellPowerBonus ()
int32 GetSpellPenetrationItemMod () const
float GetExpertiseDodgeOrParryReduction (WeaponAttackType attType) const
void UpdateBlockPercentage ()
void UpdateCritPercentage (WeaponAttackType attType)
void UpdateAllCritPercentages ()
void UpdateParryPercentage ()
void UpdateDodgePercentage ()
void UpdateMeleeHitChances ()
void UpdateRangedHitChances ()
void UpdateSpellHitChances ()
void UpdateAllSpellCritChances ()
void UpdateSpellCritChance (uint32 school)
void UpdateArmorPenetration (int32 amount)
void UpdateExpertise (WeaponAttackType attType)
void ApplyManaRegenBonus (int32 amount, bool apply)
void ApplyHealthRegenBonus (int32 amount, bool apply)
void UpdateManaRegen ()
void UpdateRuneRegen (RuneType rune)
ObjectGuid GetLootGUID () const
void SetLootGUID (ObjectGuid guid)
void RemovedInsignia (Player *looterPlr)
WorldSessionGetSession () const
void SetSession (WorldSession *sess)
void BuildCreateUpdateBlockForPlayer (UpdateData *data, Player *target) const override
void DestroyForPlayer (Player *target, bool onDeath=false) const override
void SendLogXPGain (uint32 GivenXP, Unit *victim, uint32 BonusXP, bool recruitAFriend=false, float group_rate=1.0f)
void SendAttackSwingCantAttack ()
void SendAttackSwingCancelAttack ()
void SendAttackSwingDeadTarget ()
void SendAttackSwingNotInRange ()
void SendAttackSwingBadFacingAttack ()
void SendAutoRepeatCancel (Unit *target)
void SendExplorationExperience (uint32 Area, uint32 Experience)
void SendDungeonDifficulty (bool IsInGroup)
void SendRaidDifficulty (bool IsInGroup, int32 forcedDifficulty=-1)
void SendResetInstanceSuccess (uint32 MapId)
void SendResetInstanceFailed (uint32 reason, uint32 MapId)
void SendResetFailedNotify (uint32 mapid)
bool UpdatePosition (float x, float y, float z, float orientation, bool teleport=false) override
bool UpdatePosition (const Position &pos, bool teleport=false)
void ProcessTerrainStatusUpdate () override
void SendMessageToSet (WorldPacket const *data, bool self) const override
void SendMessageToSetInRange (WorldPacket const *data, float dist, bool self, bool includeMargin=false, Player const *skipped_rcvr=nullptr) const override
void SendMessageToSetInRange_OwnTeam (WorldPacket const *data, float dist, bool self) const
void SendMessageToSet (WorldPacket const *data, Player const *skipped_rcvr) const override
void SendTeleportAckPacket ()
CorpseGetCorpse () const
void SpawnCorpseBones (bool triggerSave=true)
CorpseCreateCorpse ()
void RemoveCorpse ()
void KillPlayer ()
bool HasCorpse () const
WorldLocation GetCorpseLocation () const
uint32 GetResurrectionSpellId ()
void ResurrectPlayer (float restore_percent, bool applySickness=false)
void BuildPlayerRepop ()
void RepopAtGraveyard ()
void SendDurabilityLoss ()
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)
uint32 DurabilityRepairAll (bool cost, float discountMod, bool guildBank)
uint32 DurabilityRepair (uint16 pos, bool cost, float discountMod, bool guildBank)
void UpdateMirrorTimers ()
void StopMirrorTimers ()
bool IsMirrorTimerActive (MirrorTimerType type)
void SetMovement (PlayerMovementType pType)
bool CanJoinConstantChannelInZone (ChatChannelsEntry const *channel, AreaTableEntry const *zone)
void JoinedChannel (Channel *c)
void LeftChannel (Channel *c)
void CleanupChannels ()
void ClearChannelWatch ()
void UpdateLocalChannels (uint32 newZone)
void UpdateDefense ()
void UpdateWeaponSkill (Unit *victim, WeaponAttackType attType, Item *item=nullptr)
void UpdateCombatSkills (Unit *victim, WeaponAttackType attType, bool defence, Item *item=nullptr)
void SetSkill (uint16 id, uint16 step, uint16 currVal, 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 (uint16 skill) const
bool HasSkill (uint32 skill) const
void learnSkillRewardedSpells (uint32 id, uint32 value)
WorldLocationGetTeleportDest ()
bool IsBeingTeleported () const
bool IsBeingTeleportedNear () const
bool IsBeingTeleportedFar () const
void SetSemaphoreTeleportNear (time_t tm)
void SetSemaphoreTeleportFar (time_t tm)
time_t GetSemaphoreTeleportNear () const
time_t GetSemaphoreTeleportFar () const
void ProcessDelayedOperations ()
uint32 GetDelayedOperations () const
void ScheduleDelayedOperation (uint32 operation)
void CheckAreaExploreAndOutdoor ()
TeamId GetTeamId (bool original=false) const
void SetFactionForRace (uint8 race)
void setTeamId (TeamId teamid)
void InitDisplayIds ()
bool IsAtGroupRewardDistance (WorldObject const *pRewardSource) const
bool IsAtLootRewardDistance (WorldObject const *pRewardSource) const
bool IsAtRecruitAFriendDistance (WorldObject const *pOther) const
void RewardPlayerAndGroupAtKill (Unit *victim, bool isBattleGround)
void RewardPlayerAndGroupAtEvent (uint32 creature_id, WorldObject *pRewardSource)
bool isHonorOrXPTarget (Unit *victim) const
bool GetsRecruitAFriendBonus (bool forXP)
uint8 GetGrantableLevels ()
void SetGrantableLevels (uint8 val)
ReputationMgrGetReputationMgr ()
ReputationMgr const & GetReputationMgr () const
ReputationRank GetReputationRank (uint32 faction_id) const
void RewardReputation (Unit *victim, float rate)
void RewardReputation (Quest const *quest)
float CalculateReputationGain (ReputationSource source, uint32 creatureOrQuestLevel, float rep, int32 faction, bool noQuestBonus=false)
void UpdateSkillsForLevel ()
void UpdateSkillsToMaxSkillsForLevel ()
void ModifySkillBonus (uint32 skillid, int32 val, bool talent)
void RewardExtraBonusTalentPoints (uint32 bonusTalentPoints)
void UpdateHonorFields ()
bool RewardHonor (Unit *victim, uint32 groupsize, int32 honor=-1, bool awardXP=true)
uint32 GetHonorPoints () const
uint32 GetArenaPoints () const
void ModifyHonorPoints (int32 value, CharacterDatabaseTransaction trans=CharacterDatabaseTransaction(nullptr))
void ModifyArenaPoints (int32 value, CharacterDatabaseTransaction trans=CharacterDatabaseTransaction(nullptr))
 If trans is specified, honor save query will be added to trans.
uint32 GetMaxPersonalArenaRatingRequirement (uint32 minarenaslot) const
 If trans is specified, arena point save query will be added to trans.
void SetHonorPoints (uint32 value)
void SetArenaPoints (uint32 value)
void SaveHealthBeforeDuel ()
void SaveManaBeforeDuel ()
void RestoreHealthAfterDuel ()
void RestoreManaAfterDuel ()
SpellCooldowns GetSpellCooldowns () const
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)
void SendCorpseReclaimDelay (uint32 delay)
uint32 GetShieldBlockValue () const override
bool CanParry () const
void SetCanParry (bool value)
bool CanBlock () const
void SetCanBlock (bool value)
bool CanTitanGrip () const
void SetCanTitanGrip (bool value)
bool CanTameExoticPets () const
void SetRegularAttackTime ()
void SetBaseModValue (BaseModGroup modGroup, BaseModType modType, float value)
void HandleBaseModValue (BaseModGroup modGroup, BaseModType modType, float amount, bool apply)
float GetBaseModValue (BaseModGroup modGroup, BaseModType modType) const
float GetTotalBaseModValue (BaseModGroup modGroup) const
float GetTotalPercentageModValue (BaseModGroup modGroup) const
void _ApplyAllStatBonuses ()
void _RemoveAllStatBonuses ()
void ResetAllPowers ()
SpellSchoolMask GetMeleeDamageSchoolMask (WeaponAttackType attackType=BASE_ATTACK, uint8 damageIndex=0) const override
void _ApplyWeaponDependentAuraMods (Item *item, WeaponAttackType attackType, bool apply)
void _ApplyWeaponDependentAuraCritMod (Item *item, WeaponAttackType attackType, AuraEffect const *aura, bool apply)
void _ApplyWeaponDependentAuraDamageMod (Item *item, WeaponAttackType attackType, AuraEffect const *aura, bool apply)
void _ApplyItemMods (Item *item, uint8 slot, bool apply)
void _RemoveAllItemMods ()
void _ApplyAllItemMods ()
void _ApplyAllLevelScaleItemMods (bool apply)
void _ApplyItemBonuses (ItemTemplate const *proto, uint8 slot, bool apply, bool only_level_scale=false)
void _ApplyWeaponDamage (uint8 slot, ItemTemplate const *proto, ScalingStatValuesEntry const *ssv, bool apply)
void _ApplyAmmoBonuses ()
bool EnchantmentFitsRequirements (uint32 enchantmentcondition, int8 slot)
void ToggleMetaGemsActive (uint8 exceptslot, bool apply)
void CorrectMetaGemEnchants (uint8 slot, bool apply)
void InitDataForForm (bool reapplyMods=false)
void ApplyItemEquipSpell (Item *item, bool apply, bool form_change=false)
void ApplyEquipSpell (SpellInfo const *spellInfo, Item *item, bool apply, bool form_change=false)
void UpdateEquipSpellsAtFormChange ()
void CastItemCombatSpell (Unit *target, WeaponAttackType attType, uint32 procVictim, uint32 procEx)
void CastItemUseSpell (Item *item, SpellCastTargets const &targets, uint8 cast_count, uint32 glyphIndex)
void CastItemCombatSpell (Unit *target, WeaponAttackType attType, uint32 procVictim, uint32 procEx, Item *item, ItemTemplate const *proto)
void SendEquipmentSetList ()
void SetEquipmentSet (uint32 index, EquipmentSet eqset)
void DeleteEquipmentSet (uint64 setGuid)
void SendInitWorldStates (uint32 zone, uint32 area)
void SendUpdateWorldState (uint32 variable, uint32 value) const
void SendDirectMessage (WorldPacket const *data) const
void SendBGWeekendWorldStates ()
void SendBattlefieldWorldStates ()
void GetAurasForTarget (Unit *target)
void SendLoot (ObjectGuid guid, LootType loot_type)
void SendLootError (ObjectGuid guid, LootError error)
void SendLootRelease (ObjectGuid guid)
void SendNotifyLootItemRemoved (uint8 lootSlot)
void SendNotifyLootMoneyRemoved ()
bool InBattleground () const
bool InArena () const
uint32 GetBattlegroundId () const
BattlegroundTypeId GetBattlegroundTypeId () const
uint32 GetCurrentBattlegroundQueueSlot () const
bool IsInvitedForBattlegroundInstance () const
bool IsCurrentBattlegroundRandom () const
BGDataGetBGData ()
void SetBGData (BGData &bgdata)
BattlegroundGetBattleground (bool create=false) 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 id, BattlegroundTypeId bgTypeId, uint32 queueSlot, bool invited, bool isRandom, TeamId teamId)
uint32 AddBattlegroundQueueId (BattlegroundQueueTypeId val)
bool HasFreeBattlegroundQueueId () const
void RemoveBattlegroundQueueId (BattlegroundQueueTypeId val)
void SetInviteForBattlegroundQueueType (BattlegroundQueueTypeId bgQueueTypeId, uint32 instanceId)
bool IsInvitedForBattlegroundInstance (uint32 instanceId) const
TeamId GetBgTeamId () const
void LeaveBattleground (Battleground *bg=nullptr)
bool CanJoinToBattleground () const
bool CanReportAfkDueToLimit ()
void ReportedAfkBy (Player *reporter)
 This player has been blamed to be inactive in a battleground.
void ClearAfkReports ()
bool GetBGAccessByLevel (BattlegroundTypeId bgTypeId) const
bool CanUseBattlegroundObject (GameObject *gameobject) const
bool isTotalImmune () const
bool CanCaptureTowerPoint () const
bool GetRandomWinner ()
void SetRandomWinner (bool isWinner)
OutdoorPvPGetOutdoorPvP () const
bool IsOutdoorPvPActive ()
bool IsImmuneToEnvironmentalDamage ()
uint32 EnvironmentalDamage (EnviromentalDamage type, uint32 damage)
void UpdateSpeakTime (ChatFloodThrottle::Index index)
bool CanSpeak () const
void UpdateFallInformationIfNeed (MovementInfo const &minfo, uint16 opcode)
void SetFallInformation (uint32 time, float z)
void HandleFall (MovementInfo const &movementInfo)
bool canFlyInZone (uint32 mapid, uint32 zone, SpellInfo const *bySpell) const
void SetClientControl (Unit *target, bool allowMove, bool packetOnly=false)
void SetMover (Unit *target)
void SetSeer (WorldObject *target)
void SetViewpoint (WorldObject *target, bool apply)
WorldObjectGetViewpoint () const
void StopCastingCharm (Aura *except=nullptr)
void StopCastingBindSight (Aura *except=nullptr)
uint32 GetSaveTimer () const
void SetSaveTimer (uint32 timer)
void SaveRecallPosition ()
void SetHomebind (WorldLocation const &loc, uint32 areaId)
WorldLocation GetStartPosition () const
WorldLocation const & GetEntryPoint () const
void SetEntryPoint ()
bool HaveAtClient (WorldObject const *u) const
bool HaveAtClient (ObjectGuid guid) const
bool IsNeverVisible () const override
bool IsVisibleGloballyFor (Player const *player) const
void GetInitialVisiblePackets (Unit *target)
void UpdateObjectVisibility (bool forced=true, bool fromUpdate=false) override
void UpdateVisibilityForPlayer (bool mapChange=false)
void UpdateVisibilityOf (WorldObject *target)
void UpdateTriggerVisibility ()
template<class T >
void UpdateVisibilityOf (T *target, UpdateData &data, std::vector< Unit * > &visibleNow)
bool HasAtLoginFlag (AtLoginFlags f) const
void SetAtLoginFlag (AtLoginFlags f)
void RemoveAtLoginFlag (AtLoginFlags flags, bool persist=false)
bool isUsingLfg ()
bool inRandomLfgDungeon ()
uint32 GetTemporaryUnsummonedPetNumber () const
void SetTemporaryUnsummonedPetNumber (uint32 petnumber)
void UnsummonPetTemporaryIfAny ()
void ResummonPetTemporaryUnSummonedIfAny ()
bool IsPetNeedBeTemporaryUnsummoned () const
bool CanResummonPet (uint32 spellid)
void SendCinematicStart (uint32 CinematicSequenceId) const
void SendMovieStart (uint32 MovieId)
uint32 DoRandomRoll (uint32 minimum, uint32 maximum)
uint16 GetMaxSkillValueForLevel () const
bool IsFFAPvP ()
bool IsPvP ()
void UpdateHomebindTime (uint32 time)
void BindToInstance ()
void SetPendingBind (uint32 instanceId, uint32 bindTimer)
bool HasPendingBind () const
uint32 GetPendingBind () const
void SendRaidInfo ()
void SendSavedInstances ()
void PrettyPrintRequirementsQuestList (const std::vector< const ProgressionRequirement * > &missingQuests) const
void PrettyPrintRequirementsAchievementsList (const std::vector< const ProgressionRequirement * > &missingAchievements) const
void PrettyPrintRequirementsItemsList (const std::vector< const ProgressionRequirement * > &missingItems) const
bool Satisfy (DungeonProgressionRequirements const *ar, uint32 target_map, bool report=false)
bool CheckInstanceLoginValid ()
bool CheckInstanceCount (uint32 instanceId) const
void AddInstanceEnterTime (uint32 instanceId, time_t enterTime)
uint32 GetLastPetNumber () const
void SetLastPetNumber (uint32 petnumber)
uint32 GetLastPetSpell () const
void SetLastPetSpell (uint32 petspell)
GroupGetGroupInvite ()
void SetGroupInvite (Group *group)
GroupGetGroup ()
const GroupGetGroup () const
GroupReferenceGetGroupRef ()
void SetGroup (Group *group, int8 subgroup=-1)
uint8 GetSubGroup () const
uint32 GetGroupUpdateFlag () const
void SetGroupUpdateFlag (uint32 flag)
uint64 GetAuraUpdateMaskForRaid () const
void SetAuraUpdateMaskForRaid (uint8 slot)
PlayerGetNextRandomRaidMember (float radius)
PartyResult CanUninviteFromGroup (ObjectGuid targetPlayerGUID=ObjectGuid::Empty) const
void SetBattlegroundOrBattlefieldRaid (Group *group, int8 subgroup=-1)
void RemoveFromBattlegroundOrBattlefieldRaid ()
GroupGetOriginalGroup ()
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 CanTeleport ()
void SetCanTeleport (bool value)
bool CanKnockback ()
void SetCanKnockback (bool value)
bool isAllowedToLoot (Creature const *creature)
DeclinedName const * GetDeclinedNames () const
uint8 GetRunesState () const
RuneType GetBaseRune (uint8 index) const
RuneType GetCurrentRune (uint8 index) const
uint32 GetRuneCooldown (uint8 index) const
uint32 GetGracePeriod (uint8 index) const
uint32 GetRuneBaseCooldown (uint8 index, bool skipGrace)
bool IsBaseRuneSlotsOnCooldown (RuneType runeType) const
RuneType GetLastUsedRune ()
void SetLastUsedRune (RuneType type)
void SetBaseRune (uint8 index, RuneType baseRune)
void SetCurrentRune (uint8 index, RuneType currentRune)
void SetRuneCooldown (uint8 index, uint32 cooldown)
void SetGracePeriod (uint8 index, uint32 period)
void SetRuneConvertAura (uint8 index, AuraEffect const *aura)
void AddRuneByAuraEffect (uint8 index, RuneType newType, AuraEffect const *aura)
void RemoveRunesByAuraEffect (AuraEffect const *aura)
void RestoreBaseRune (uint8 index)
void ConvertRune (uint8 index, RuneType newType)
void ResyncRunes (uint8 count)
void AddRunePower (uint8 index)
void InitRunes ()
void SendRespondInspectAchievements (Player *player) const
bool HasAchieved (uint32 achievementId) const
void ResetAchievements ()
void CheckAllAchievementCriteria ()
void ResetAchievementCriteria (AchievementCriteriaCondition condition, uint32 value, bool evenIfCriteriaComplete=false)
void UpdateAchievementCriteria (AchievementCriteriaTypes type, uint32 miscValue1=0, uint32 miscValue2=0, Unit *unit=nullptr)
void StartTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry, uint32 timeLost=0)
void RemoveTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
void CompletedAchievement (AchievementEntry const *entry)
AchievementMgrGetAchievementMgr () const
bool HasTitle (uint32 bitIndex) const
bool HasTitle (CharTitlesEntry const *title) const
void SetTitle (CharTitlesEntry const *title, bool lost=false)
void SetCurrentTitle (CharTitlesEntry const *title, bool clear=false)
bool CanSeeSpellClickOn (Creature const *creature) const
bool CanSeeVendor (Creature const *creature) const
uint32 GetChampioningFaction () const
void SetChampioningFaction (uint32 faction)
float GetAverageItemLevel ()
float GetAverageItemLevelForDF ()
void ClearWhisperWhiteList ()
void AddWhisperWhiteList (ObjectGuid guid)
bool IsInWhisperWhiteList (ObjectGuid guid)
void RemoveFromWhisperWhiteList (ObjectGuid guid)
bool SetDisableGravity (bool disable, bool packetOnly=false, bool updateAnimationTier=true) override
bool SetCanFly (bool apply, bool packetOnly=false) override
bool SetWaterWalking (bool apply, bool packetOnly=false) override
bool SetFeatherFall (bool apply, bool packetOnly=false) override
bool SetHover (bool enable, bool packetOnly=false, bool updateAnimationTier=true) override
bool CanFly () const override
bool CanEnterWater () const override
void AdditionalSavingAddMask (uint8 mask)
bool IsSpectator () const
void SetIsSpectator (bool on)
bool NeedSendSpectatorData () const
void SetPendingSpectatorForBG (uint32 bgInstanceId)
bool HasPendingSpectatorForBG (uint32 bgInstanceId) const
void SetPendingSpectatorInviteInstanceId (uint32 bgInstanceId)
uint32 GetPendingSpectatorInviteInstanceId () const
bool HasReceivedSpectatorResetFor (ObjectGuid guid)
void ClearReceivedSpectatorResetFor ()
void AddReceivedSpectatorResetFor (ObjectGuid guid)
void RemoveReceivedSpectatorResetFor (ObjectGuid guid)
void setRuneWeaponGUID (ObjectGuid guid)
ObjectGuid getRuneWeaponGUID ()
bool CanSeeDKPet () const
void SetShowDKPet (bool on)
void PrepareCharmAISpells ()
bool NeedToSaveGlyphs ()
void SetNeedToSaveGlyphs (bool val)
uint32 GetMountBlockId ()
void SetMountBlockId (uint32 mount)
float GetRealParry () const
float GetRealDodge () const
const PlayerTalentMapGetTalentMap () const
uint32 GetNextSave () const
SpellModList const & GetSpellModList (uint32 type) const
void SetServerSideVisibility (ServerSideVisibilityType type, AccountTypes sec)
void SetServerSideVisibilityDetect (ServerSideVisibilityType type, AccountTypes sec)
void SetFarSightDistance (float radius)
void ResetFarSightDistance ()
Optional< float > GetFarSightDistance () const
float GetSightRange (WorldObject const *target=nullptr) const override
std::string GetPlayerName ()
PlayerSetting GetPlayerSetting (std::string source, uint8 index)
void UpdatePlayerSetting (std::string source, uint8 index, uint32 value)
void SendSystemMessage (std::string_view msg, bool escapeCharacters=false)
std::string GetDebugInfo () const override
- Public Member Functions inherited from Unit
 ~Unit () override
UnitAIGetAI ()
void SetAI (UnitAI *newAI)
void AddToWorld () override
void RemoveFromWorld () override
void CleanupBeforeRemoveFromMap (bool finalCleanup)
void CleanupsBeforeDelete (bool finalCleanup=true) override
uint32 GetDynamicFlags () const override
void ReplaceAllDynamicFlags (uint32 flag) override
DiminishingLevels GetDiminishing (DiminishingGroup group)
void IncrDiminishing (DiminishingGroup group)
float ApplyDiminishingToDuration (DiminishingGroup group, int32 &duration, Unit *caster, DiminishingLevels Level, int32 limitduration)
void ApplyDiminishingAura (DiminishingGroup group, bool apply)
void ClearDiminishings ()
float GetSpellMaxRangeForTarget (Unit const *target, SpellInfo const *spellInfo) const
float GetSpellMinRangeForTarget (Unit const *target, SpellInfo const *spellInfo) const
void Update (uint32 time) override
void setAttackTimer (WeaponAttackType type, int32 time)
void resetAttackTimer (WeaponAttackType type=BASE_ATTACK)
int32 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
float GetMeleeReach () const
bool IsWithinRange (Unit const *obj, float dist) const
bool IsWithinCombatRange (Unit const *obj, float dist2compare) const
bool IsWithinMeleeRange (Unit const *obj, float dist=0.f) const
float GetMeleeRange (Unit const *target) const
virtual SpellSchoolMask GetMeleeDamageSchoolMask (WeaponAttackType attackType=BASE_ATTACK, uint8 damageIndex=0) const =0
bool GetRandomContactPoint (Unit const *target, float &x, float &y, float &z, bool force=false) const
void _addAttacker (Unit *pAttacker)
void _removeAttacker (Unit *pAttacker)
UnitgetAttackerForHelper () const
bool Attack (Unit *victim, bool meleeAttack)
void CastStop (uint32 except_spellid=0, bool withInstant=true)
bool AttackStop ()
void RemoveAllAttackers ()
AttackerSet const & getAttackers () const
bool GetMeleeAttackPoint (Unit *attacker, Position &pos)
bool isAttackingPlayer () const
UnitGetVictim () const
void CombatStop (bool includingCast=false)
void CombatStopWithPets (bool includingCast=false)
void StopAttackFaction (uint32 faction_id)
void StopAttackingInvalidTarget ()
UnitSelectNearbyTarget (Unit *exclude=nullptr, float dist=NOMINAL_MELEE_RANGE) const
UnitSelectNearbyNoTotemTarget (Unit *exclude=nullptr, float dist=NOMINAL_MELEE_RANGE) const
void SendMeleeAttackStop (Unit *victim=nullptr)
void SendMeleeAttackStart (Unit *victim, Player *sendTo=nullptr)
void AddUnitState (uint32 f)
bool HasUnitState (const uint32 f) const
void ClearUnitState (uint32 f)
uint32 GetUnitState () const
bool CanFreeMove () const
uint32 HasUnitTypeMask (uint32 mask) const
void AddUnitTypeMask (uint32 mask)
uint32 GetUnitTypeMask () const
bool IsSummon () const
bool IsGuardian () const
bool IsControllableGuardian () const
bool IsPet () const
bool IsHunterPet () const
bool IsTotem () const
bool IsVehicle () const
uint8 getLevel () const
uint8 GetLevel () const
uint8 getLevelForTarget (WorldObject const *) const override
void SetLevel (uint8 lvl, bool showLevelChange=true)
uint8 getRace (bool original=false) const
void setRace (uint8 race)
uint32 getRaceMask () const
uint8 getClass () const
uint32 getClassMask () const
uint8 getGender () const
float GetStat (Stats stat) const
void SetStat (Stats stat, int32 val)
uint32 GetArmor () const
void SetArmor (int32 val)
uint32 GetResistance (SpellSchools school) const
uint32 GetResistance (SpellSchoolMask mask) const
void SetResistance (SpellSchools school, int32 val)
uint32 GetHealth () const
uint32 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
uint32 CountPctFromMaxHealth (int32 pct) const
uint32 CountPctFromCurHealth (int32 pct) const
float GetPowerPct (Powers power) const
void SetHealth (uint32 val)
void SetMaxHealth (uint32 val)
void SetFullHealth ()
int32 ModifyHealth (int32 val)
int32 GetHealthGain (int32 dVal)
Powers getPowerType () const
void setPowerType (Powers power)
uint32 GetPower (Powers power) const
uint32 GetMaxPower (Powers power) const
void SetPower (Powers power, uint32 val, bool withPowerUpdate=true, bool fromRegenerate=false)
void SetMaxPower (Powers power, uint32 val)
int32 ModifyPower (Powers power, int32 val, bool withPowerUpdate=true)
int32 ModifyPowerPct (Powers power, float pct, bool apply=true)
uint32 GetAttackTime (WeaponAttackType att) const
void SetAttackTime (WeaponAttackType att, uint32 val)
void ApplyAttackTimePercentMod (WeaponAttackType att, float val, bool apply)
void ApplyCastTimePercentMod (float val, bool apply)
UnitFlags GetUnitFlags () const
bool HasUnitFlag (UnitFlags flags) const
void SetUnitFlag (UnitFlags flags)
void RemoveUnitFlag (UnitFlags flags)
void ReplaceAllUnitFlags (UnitFlags flags)
UnitFlags2 GetUnitFlags2 () const
bool HasUnitFlag2 (UnitFlags2 flags) const
void SetUnitFlag2 (UnitFlags2 flags)
void RemoveUnitFlag2 (UnitFlags2 flags)
void ReplaceAllUnitFlags2 (UnitFlags2 flags)
SheathState GetSheath () const
virtual void SetSheath (SheathState sheathed)
uint32 GetFaction () const
void SetFaction (uint32 faction)
FactionTemplateEntry const * GetFactionTemplateEntry () const
ReputationRank GetReactionTo (Unit const *target, bool checkOriginalFaction=false) const
ReputationRank GetFactionReactionTo (FactionTemplateEntry const *factionTemplateEntry, Unit const *target) const
bool IsHostileTo (Unit const *unit) const
bool IsHostileToPlayers () const
bool IsFriendlyTo (Unit const *unit) const
bool IsNeutralToAll () const
bool IsInPartyWith (Unit const *unit) const
bool IsInRaidWith (Unit const *unit) const
void GetPartyMembers (std::list< Unit * > &units)
bool IsContestedGuard () const
bool IsInSanctuary () const
bool IsPvP () const
bool IsFFAPvP () const
void SetPvP (bool state)
uint32 GetCreatureType () const
uint32 GetCreatureTypeMask () const
uint8 getStandState () const
bool IsSitState () const
bool IsStandState () const
void SetStandState (uint8 state)
void SetStandFlags (uint8 flags)
void RemoveStandFlags (uint8 flags)
bool IsMounted () const
uint32 GetMountID () const
void Mount (uint32 mount, uint32 vehicleId=0, uint32 creatureEntry=0)
void Dismount ()
uint16 GetMaxSkillValueForLevel (Unit const *target=nullptr) const
void KillSelf (bool durabilityLoss=true, WeaponAttackType attackType=BASE_ATTACK, SpellInfo const *spellProto=nullptr, Spell const *spell=nullptr)
void ProcDamageAndSpellFor (bool isVictim, Unit *target, uint32 procFlag, uint32 procExtra, WeaponAttackType attType, SpellInfo const *procSpellInfo, uint32 damage, SpellInfo const *procAura=nullptr, int8 procAuraEffectIndex=-1, Spell const *procSpell=nullptr, DamageInfo *damageInfo=nullptr, HealInfo *healInfo=nullptr, uint32 procPhase=2)
void GetProcAurasTriggeredOnEvent (std::list< AuraApplication * > &aurasTriggeringProc, std::list< AuraApplication * > *procAuras, ProcEventInfo eventInfo)
void TriggerAurasProcOnEvent (CalcDamageInfo &damageInfo)
void TriggerAurasProcOnEvent (std::list< AuraApplication * > *myProcAuras, std::list< AuraApplication * > *targetProcAuras, Unit *actionTarget, uint32 typeMaskActor, uint32 typeMaskActionTarget, uint32 spellTypeMask, uint32 spellPhaseMask, uint32 hitMask, Spell *spell, DamageInfo *damageInfo, HealInfo *healInfo)
void TriggerAurasProcOnEvent (ProcEventInfo &eventInfo, std::list< AuraApplication * > &procAuras)
void HandleEmoteCommand (uint32 emoteId)
void AttackerStateUpdate (Unit *victim, WeaponAttackType attType=BASE_ATTACK, bool extra=false, bool ignoreCasting=false)
void CalculateMeleeDamage (Unit *victim, CalcDamageInfo *damageInfo, WeaponAttackType attackType=BASE_ATTACK, const bool sittingVictim=false)
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 const &guid)
ObjectGuid const & GetLastDamagedTargetGuid () const
void CalculateSpellDamageTaken (SpellNonMeleeDamage *damageInfo, int32 damage, SpellInfo const *spellInfo, WeaponAttackType attackType=BASE_ATTACK, bool crit=false)
void DealSpellDamage (SpellNonMeleeDamage *damageInfo, bool durabilityLoss, Spell const *spell=nullptr)
float GetMeleeCritChanceReduction () const
float GetRangedCritChanceReduction () const
float GetSpellCritChanceReduction () const
uint32 GetMeleeCritDamageReduction (uint32 damage) const
uint32 GetRangedCritDamageReduction (uint32 damage) const
uint32 GetSpellCritDamageReduction (uint32 damage) const
uint32 GetMeleeDamageReduction (uint32 damage) const
uint32 GetRangedDamageReduction (uint32 damage) const
uint32 GetSpellDamageReduction (uint32 damage) const
float MeleeSpellMissChance (Unit const *victim, WeaponAttackType attType, int32 skillDiff, uint32 spellId) const
SpellMissInfo MeleeSpellHitResult (Unit *victim, SpellInfo const *spell)
SpellMissInfo MagicSpellHitResult (Unit *victim, SpellInfo const *spell)
SpellMissInfo SpellHitResult (Unit *victim, SpellInfo const *spell, bool canReflect=false)
SpellMissInfo SpellHitResult (Unit *victim, Spell const *spell, bool canReflect=false)
float GetUnitDodgeChance () const
float GetUnitParryChance () const
float GetUnitBlockChance () const
float GetUnitMissChance (WeaponAttackType attType) const
float GetUnitCriticalChance (WeaponAttackType attackType, Unit const *victim) const
int32 GetMechanicResistChance (SpellInfo const *spell)
bool CanUseAttackType (uint8 attacktype) const
virtual uint32 GetShieldBlockValue () const =0
uint32 GetShieldBlockValue (uint32 soft_cap, uint32 hard_cap) const
uint32 GetUnitMeleeSkill (Unit const *target=nullptr) const
uint32 GetDefenseSkillValue (Unit const *target=nullptr) const
uint32 GetWeaponSkillValue (WeaponAttackType attType, Unit const *target=nullptr) const
float GetWeaponProcChance () const
float GetPPMProcChance (uint32 WeaponSpeed, float PPM, SpellInfo const *spellProto) const
MeleeHitOutcome RollMeleeOutcomeAgainst (Unit const *victim, WeaponAttackType attType) const
MeleeHitOutcome RollMeleeOutcomeAgainst (Unit const *victim, WeaponAttackType attType, int32 crit_chance, int32 miss_chance, int32 dodge_chance, int32 parry_chance, int32 block_chance) const
NPCFlags GetNpcFlags () const
bool HasNpcFlag (NPCFlags flags) const
void SetNpcFlag (NPCFlags flags)
void RemoveNpcFlag (NPCFlags flags)
void ReplaceAllNpcFlags (NPCFlags 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 IsSpiritGuide () const
bool IsTabardDesigner () const
bool IsAuctioner () const
bool IsArmorer () const
bool IsServiceProvider () const
bool IsSpiritService () const
bool IsCritter () const
bool IsInFlight () const
void SetImmuneToAll (bool apply, bool keepCombat=false)
bool IsImmuneToAll () const
void SetImmuneToPC (bool apply, bool keepCombat=false)
bool IsImmuneToPC () const
void SetImmuneToNPC (bool apply, bool keepCombat=false)
bool IsImmuneToNPC () const
bool IsEngaged () const
bool IsEngagedBy (Unit const *who) const
bool IsInCombat () const
bool IsInCombatWith (Unit const *who) const
bool IsPetInCombat () const
void CombatStart (Unit *target, bool initialAggro=true)
void CombatStartOnCast (Unit *target, bool initialAggro=true, uint32 duration=0)
void SetInCombatState (bool PvP, Unit *enemy=nullptr, uint32 duration=0)
void SetInCombatWith (Unit *enemy, uint32 duration=0)
void ClearInCombat ()
void ClearInPetCombat ()
uint32 GetCombatTimer () const
void SetCombatTimer (uint32 timer)
bool HasAuraTypeWithFamilyFlags (AuraType auraType, uint32 familyName, uint32 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 isInRoots () const
bool IsPolymorphed () const
bool isFrozen () const
bool isTargetableForAttack (bool checkFakeDeath=true, Unit const *byWho=nullptr) const
bool IsValidAttackTarget (Unit const *target, SpellInfo const *bySpell=nullptr) const
bool _IsValidAttackTarget (Unit const *target, SpellInfo const *bySpell, WorldObject const *obj=nullptr) const
bool IsValidAssistTarget (Unit const *target) const
bool _IsValidAssistTarget (Unit const *target, SpellInfo const *bySpell) const
virtual bool IsInWater () const
virtual bool IsUnderWater () const
bool isInAccessiblePlaceFor (Creature const *c) const
void SendHealSpellLog (Unit *victim, uint32 SpellID, uint32 Damage, uint32 OverHeal, uint32 Absorb, bool critical=false)
int32 HealBySpell (HealInfo &healInfo, bool critical=false)
void SendEnergizeSpellLog (Unit *victim, uint32 SpellID, uint32 Damage, Powers powertype)
void EnergizeBySpell (Unit *victim, uint32 SpellID, uint32 Damage, Powers powertype)
SpellCastResult CastSpell (SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastSpell (Unit *victim, uint32 spellId, bool triggered, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastSpell (Unit *victim, uint32 spellId, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastSpell (Unit *victim, SpellInfo const *spellInfo, bool triggered, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastSpell (Unit *victim, SpellInfo const *spellInfo, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastSpell (float x, float y, float z, uint32 spellId, bool triggered, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastSpell (GameObject *go, uint32 spellId, bool triggered, Item *castItem=nullptr, AuraEffect *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastCustomSpell (Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastCustomSpell (uint32 spellId, SpellValueMod mod, int32 value, Unit *victim, bool triggered, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastCustomSpell (uint32 spellId, SpellValueMod mod, int32 value, Unit *victim=nullptr, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
SpellCastResult CastCustomSpell (uint32 spellId, CustomSpellValues const &value, Unit *victim=nullptr, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
AuraAddAura (uint32 spellId, Unit *target)
AuraAddAura (SpellInfo const *spellInfo, uint8 effMask, Unit *target)
void SetAuraStack (uint32 spellId, Unit *target, uint32 stack)
void SendPlaySpellVisual (uint32 id)
void SendPlaySpellImpact (ObjectGuid guid, uint32 id)
void BuildCooldownPacket (WorldPacket &data, uint8 flags, uint32 spellId, uint32 cooldown)
void BuildCooldownPacket (WorldPacket &data, uint8 flags, PacketCooldowns const &cooldowns)
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 *log)
void SendSpellNonMeleeReflectLog (SpellNonMeleeDamage *log, Unit *attacker)
void SendSpellNonMeleeDamageLog (Unit *target, SpellInfo const *spellInfo, uint32 Damage, SpellSchoolMask damageSchoolMask, uint32 AbsorbedDamage, uint32 Resist, bool PhysicalDamage, uint32 Blocked, bool CriticalHit=false, bool Split=false)
void SendPeriodicAuraLog (SpellPeriodicAuraLogInfo *pInfo)
void SendSpellMiss (Unit *target, uint32 spellID, SpellMissInfo missInfo)
void SendSpellDamageResist (Unit *target, uint32 spellId)
void SendSpellDamageImmune (Unit *target, uint32 spellId)
void NearTeleportTo (Position &pos, bool casting=false, bool vehicleTeleport=false, bool withPet=false, bool removeTransport=false)
void NearTeleportTo (float x, float y, float z, float orientation, bool casting=false, bool vehicleTeleport=false, bool withPet=false, bool removeTransport=false)
void SendTameFailure (uint8 result)
void SendTeleportPacket (Position &pos)
virtual bool UpdatePosition (float x, float y, float z, float ang, bool teleport=false)
bool UpdatePosition (const Position &pos, bool teleport=false)
void UpdateOrientation (float orientation)
 Only server-side orientation update, does not broadcast to client.
void UpdateHeight (float newZ)
 Only server-side height update, does not broadcast to client.
void KnockbackFrom (float x, float y, float speedXY, float speedZ)
void JumpTo (float speedXY, float speedZ, bool forward=true)
void JumpTo (WorldObject *obj, float speedZ)
void SendMonsterMove (float NewPosX, float NewPosY, float NewPosZ, uint32 TransitTime, SplineFlags sf=SPLINEFLAG_WALK_MODE)
void MonsterMoveWithSpeed (float x, float y, float z, float speed)
void SendMovementFlagUpdate (bool self=false)
virtual bool SetWalk (bool enable)
virtual bool SetDisableGravity (bool disable, bool packetOnly=false, bool updateAnimationTier=true)
virtual bool SetSwim (bool enable)
virtual bool SetCanFly (bool enable, bool packetOnly=false)
virtual bool SetWaterWalking (bool enable, bool packetOnly=false)
virtual bool SetFeatherFall (bool enable, bool packetOnly=false)
virtual bool SetHover (bool enable, bool packetOnly=false, bool updateAnimationTier=true)
void SendMovementWaterWalking (Player *sendTo)
void SendMovementFeatherFall (Player *sendTo)
void SendMovementHover (Player *sendTo)
void SetInFront (WorldObject const *target)
void SetFacingTo (float ori)
void SetFacingToObject (WorldObject *object)
void SendChangeCurrentVictimOpcode (HostileReference *pHostileReference)
void SendClearThreatListOpcode ()
void SendRemoveFromThreatListOpcode (HostileReference *pHostileReference)
void SendThreatListUpdate ()
void SendClearTarget ()
void BuildHeartBeatMsg (WorldPacket *data) const
bool IsAlive () const
bool isDying () const
bool isDead () const
DeathState getDeathState ()
virtual void setDeathState (DeathState s, bool despawn=false)
ObjectGuid GetOwnerGUID () const
void SetOwnerGUID (ObjectGuid owner)
ObjectGuid GetCreatorGUID () const
void SetCreatorGUID (ObjectGuid creator)
ObjectGuid GetMinionGUID () const
void SetMinionGUID (ObjectGuid guid)
ObjectGuid GetCharmerGUID () const
void SetCharmerGUID (ObjectGuid owner)
ObjectGuid GetCharmGUID () const
void SetPetGUID (ObjectGuid guid)
ObjectGuid GetPetGUID () const
void SetCritterGUID (ObjectGuid guid)
ObjectGuid GetCritterGUID () const
bool IsControlledByPlayer () const
bool IsCreatedByPlayer () const
ObjectGuid GetCharmerOrOwnerGUID () const
ObjectGuid GetCharmerOrOwnerOrOwnGUID () const
bool IsCharmedOwnedByPlayerOrPlayer () const
PlayerGetSpellModOwner () const
UnitGetOwner () const
GuardianGetGuardianPet () const
MinionGetFirstMinion () const
UnitGetCharmer () const
UnitGetCharm () const
UnitGetCharmerOrOwner () const
UnitGetCharmerOrOwnerOrSelf () const
PlayerGetCharmerOrOwnerPlayerOrPlayerItself () const
PlayerGetAffectingPlayer () const
void SetMinion (Minion *minion, bool apply)
void GetAllMinionsByEntry (std::list< Creature * > &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 onDeath=false)
bool IsCharmed () const
bool isPossessed () const
bool isPossessedByPlayer () const
bool isPossessing () const
bool isPossessing (Unit *u) const
CharmInfoGetCharmInfo ()
CharmInfoInitCharmInfo ()
void DeleteCharmInfo ()
void UpdateCharmAI ()
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)
Aura_TryStackingOrRefreshingExistingAura (SpellInfo const *newAura, uint8 effMask, Unit *caster, int32 *baseAmount=nullptr, Item *castItem=nullptr, ObjectGuid casterGUID=ObjectGuid::Empty, bool periodicReset=false)
void _AddAura (UnitAura *aura, Unit *caster)
AuraApplication_CreateAuraApplication (Aura *aura, uint8 effMask)
void _ApplyAuraEffect (Aura *aura, uint8 effIndex)
void _ApplyAura (AuraApplication *aurApp, uint8 effMask)
void _UnapplyAura (AuraApplicationMap::iterator &i, AuraRemoveMode removeMode)
void _UnapplyAura (AuraApplication *aurApp, AuraRemoveMode removeMode)
void _RemoveNoStackAuraApplicationsDueToAura (Aura *aura)
void _RemoveNoStackAurasDueToAura (Aura *aura)
bool _IsNoStackAuraDueToAura (Aura *appliedAura, Aura *existingAura) const
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, uint8 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, uint8 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, uint8 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)
void RemoveOwnedAuras (std::function< bool(Aura const *)> const &check)
void RemoveAppliedAuras (uint32 spellId, std::function< bool(AuraApplication const *)> const &check)
void RemoveOwnedAuras (uint32 spellId, std::function< bool(Aura const *)> const &check)
void RemoveAurasDueToSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAuraFromStack (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAurasDueToSpellByDispel (uint32 spellId, uint32 dispellerSpellId, ObjectGuid casterGUID, Unit *dispeller, uint8 chargesRemoved=1)
void RemoveAurasDueToSpellBySteal (uint32 spellId, ObjectGuid casterGUID, Unit *stealer)
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 ()
void RemoveAurasWithInterruptFlags (uint32 flag, uint32 except=0, bool isAutoshot=false)
void RemoveAurasWithAttribute (uint32 flags)
void RemoveAurasWithFamily (SpellFamilyNames family, uint32 familyFlag1, uint32 familyFlag2, uint32 familyFlag3, ObjectGuid casterGUID)
void RemoveAurasWithMechanic (uint32 mechanic_mask, AuraRemoveMode removemode=AURA_REMOVE_BY_DEFAULT, uint32 except=0)
void RemoveMovementImpairingAuras (bool withRoot)
void RemoveAurasByShapeShift ()
void RemoveAreaAurasDueToLeaveWorld ()
void RemoveAllAuras ()
void RemoveArenaAuras ()
void RemoveAllAurasOnDeath ()
void RemoveAllAurasRequiringDeadTarget ()
void RemoveAllAurasExceptType (AuraType type)
void RemoveEvadeAuras ()
void DelayOwnedAuras (uint32 spellId, ObjectGuid caster, int32 delaytime)
void _RemoveAllAuraStatMods ()
void _ApplyAllAuraStatMods ()
AuraEffectList const & GetAuraEffectsByType (AuraType type) const
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 name, uint32 iconId, uint8 effIndex) const
AuraEffectGetAuraEffect (AuraType type, SpellFamilyNames family, uint32 familyFlag1, uint32 familyFlag2, uint32 familyFlag3, ObjectGuid casterGUID=ObjectGuid::Empty) const
AuraEffectGetAuraEffectDummy (uint32 spellid) const
AuraEffectGetDummyAuraEffect (SpellFamilyNames name, uint32 iconId, uint8 effIndex) const
AuraApplicationGetAuraApplication (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraApplication *except=nullptr) const
AuraGetAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
AuraApplicationGetAuraApplicationOfRankedSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraApplication *except=nullptr) const
AuraGetAuraOfRankedSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
void GetDispellableAuraList (Unit *caster, uint32 dispelMask, DispelChargesList &dispelList)
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, uint8 reqEffMask=0) 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
bool HasNegativeAuraWithInterruptFlag (uint32 flag, ObjectGuid guid=ObjectGuid::Empty)
bool HasVisibleAuraType (AuraType auraType) const
bool HasNegativeAuraWithAttribute (uint32 flag, ObjectGuid guid=ObjectGuid::Empty)
bool HasAuraWithMechanic (uint32 mechanicMask) const
AuraEffectIsScriptOverriden (SpellInfo const *spell, int32 script) const
uint32 GetDiseasesByCaster (ObjectGuid casterGUID, uint8 mode=0)
uint32 GetDoTsByCaster (ObjectGuid casterGUID) const
int32 GetTotalAuraModifierAreaExclusive (AuraType auratype) const
int32 GetTotalAuraModifier (AuraType auratype) const
float GetTotalAuraMultiplier (AuraType auratype) const
int32 GetMaxPositiveAuraModifier (AuraType auratype)
int32 GetMaxNegativeAuraModifier (AuraType auratype) const
int32 GetTotalAuraModifierByMiscMask (AuraType auratype, uint32 misc_mask) const
float GetTotalAuraMultiplierByMiscMask (AuraType auratype, uint32 misc_mask) const
int32 GetMaxPositiveAuraModifierByMiscMask (AuraType auratype, uint32 misc_mask, const AuraEffect *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
float GetResistanceBuffMods (SpellSchools school, bool positive) const
void SetResistanceBuffMods (SpellSchools school, bool positive, float val)
void ApplyResistanceBuffModsMod (SpellSchools school, bool positive, float val, bool apply)
void ApplyResistanceBuffModsPercentMod (SpellSchools school, bool positive, float val, bool apply)
void InitStatBuffMods ()
void ApplyStatBuffMod (Stats stat, float val, bool apply)
void ApplyStatPercentBuffMod (Stats stat, float val, bool apply)
void SetCreateStat (Stats stat, float val)
void SetCreateHealth (uint32 val)
uint32 GetCreateHealth () const
void SetCreateMana (uint32 val)
uint32 GetCreateMana () const
uint32 GetCreatePowers (Powers power) const
float GetPosStat (Stats stat) const
float GetNegStat (Stats stat) const
float GetCreateStat (Stats stat) const
void SetCurrentCastedSpell (Spell *pSpell)
virtual void ProhibitSpellSchool (SpellSchoolMask, uint32)
void InterruptSpell (CurrentSpellTypes spellType, bool withDelayed=true, bool withInstant=true, bool bySelf=false)
void FinishSpell (CurrentSpellTypes spellType, bool ok=true)
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, bool bySelf=false)
SpellGetCurrentSpell (CurrentSpellTypes spellType) const
SpellGetCurrentSpell (uint32 spellType) const
SpellFindCurrentSpellBySpellId (uint32 spell_id) const
int32 GetCurrentSpellCastTime (uint32 spell_id) const
virtual bool IsMovementPreventedByCasting () const
ShapeshiftForm GetShapeshiftForm () const
void SetShapeshiftForm (ShapeshiftForm form)
bool IsInFeralForm () const
bool IsInDisallowedMountForm () const
bool HandleStatModifier (UnitMods unitMod, UnitModifierType modifierType, float amount, bool apply)
void SetModifierValue (UnitMods unitMod, UnitModifierType modifierType, float value)
float GetModifierValue (UnitMods unitMod, UnitModifierType modifierType) const
float GetTotalStatValue (Stats stat, float additionalValue=0.0f) const
float GetTotalAuraModValue (UnitMods unitMod) const
SpellSchools GetSpellSchoolByAuraGroup (UnitMods unitMod) const
Stats GetStatByAuraGroup (UnitMods unitMod) const
Powers GetPowerTypeByAuraGroup (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)=0
virtual void UpdateAllResistances ()
virtual void UpdateArmor ()=0
virtual void UpdateMaxHealth ()=0
virtual void UpdateMaxPower (Powers power)=0
virtual void UpdateAttackPowerAndDamage (bool ranged=false)=0
virtual void UpdateDamagePhysical (WeaponAttackType attType)
float GetTotalAttackPowerValue (WeaponAttackType attType, Unit *pVictim=nullptr) const
float GetWeaponDamageRange (WeaponAttackType attType, WeaponDamageRange type, uint8 damageIndex=0) const
void SetBaseWeaponDamage (WeaponAttackType attType, WeaponDamageRange damageRange, float value, uint8 damageIndex=0)
virtual void CalculateMinMaxDamage (WeaponAttackType attType, bool normalized, bool addTotalPct, float &minDamage, float &maxDamage, uint8 damageIndex=0)=0
uint32 CalculateDamage (WeaponAttackType attType, bool normalized, bool addTotalPct, uint8 itemDamagesMask=0)
float GetAPMultiplier (WeaponAttackType attType, bool normalized)
bool isInFrontInMap (Unit const *target, float distance, float arc=M_PI) const
bool isInBackInMap (Unit const *target, float distance, float arc=M_PI) const
bool IsVisible () const
void SetVisible (bool x)
void SetModelVisible (bool on)
uint32 GetPhaseByAuras () const
void SetPhaseMask (uint32 newPhaseMask, bool update) override
void UpdateObjectVisibility (bool forced=true, bool fromUpdate=false) override
bool CanHaveThreatList () const
void AddThreat (Unit *victim, float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=nullptr)
float ApplyTotalThreatModifier (float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL)
void TauntApply (Unit *victim)
void TauntFadeOut (Unit *taunter)
ThreatMgrGetThreatMgr ()
ThreatMgr const & GetThreatMgr () const
void addHatedBy (HostileReference *pHostileReference)
void removeHatedBy (HostileReference *)
HostileRefMgrgetHostileRefMgr ()
VisibleAuraMap const * GetVisibleAuras ()
AuraApplicationGetVisibleAura (uint8 slot)
void SetVisibleAura (uint8 slot, AuraApplication *aur)
void RemoveVisibleAura (uint8 slot)
uint32 GetInterruptMask () const
void AddInterruptMask (uint32 mask)
void UpdateInterruptMask ()
virtual float GetNativeObjectScale () const
virtual void RecalculateObjectScale ()
uint32 GetDisplayId () const
virtual void SetDisplayId (uint32 modelId)
uint32 GetNativeDisplayId () const
void RestoreDisplayId ()
void SetNativeDisplayId (uint32 modelId)
void setTransForm (uint32 spellid)
uint32 getTransForm () const
void _RegisterDynObject (DynamicObject *dynObj)
void _UnregisterDynObject (DynamicObject *dynObj)
DynamicObjectGetDynObject (uint32 spellId)
bool RemoveDynObject (uint32 spellId)
void RemoveAllDynObjects ()
GameObjectGetGameObject (uint32 spellId) const
void AddGameObject (GameObject *gameObj)
void RemoveGameObject (GameObject *gameObj, bool del)
void RemoveGameObject (uint32 spellid, bool del)
void RemoveAllGameObjects ()
void ModifyAuraState (AuraStateType flag, bool apply)
uint32 BuildAuraStateUpdateForTarget (Unit *target) const
bool HasAuraState (AuraStateType flag, SpellInfo const *spellProto=nullptr, Unit const *Caster=nullptr) const
void UnsummonAllTotems (bool onDeath=false)
UnitGetMagicHitRedirectTarget (Unit *victim, SpellInfo const *spellInfo)
UnitGetMeleeHitRedirectTarget (Unit *victim, SpellInfo const *spellInfo=nullptr)
int32 SpellBaseDamageBonusDone (SpellSchoolMask schoolMask)
int32 SpellBaseDamageBonusTaken (SpellSchoolMask schoolMask, bool isDoT=false)
float SpellPctDamageModsDone (Unit *victim, SpellInfo const *spellProto, DamageEffectType damagetype)
uint32 SpellDamageBonusDone (Unit *victim, SpellInfo const *spellProto, uint32 pdamage, DamageEffectType damagetype, uint8 effIndex, float TotalMod=0.0f, uint32 stack=1)
uint32 SpellDamageBonusTaken (Unit *caster, SpellInfo const *spellProto, uint32 pdamage, DamageEffectType damagetype, uint32 stack=1)
int32 SpellBaseHealingBonusDone (SpellSchoolMask schoolMask)
int32 SpellBaseHealingBonusTaken (SpellSchoolMask schoolMask)
float SpellPctHealingModsDone (Unit *victim, SpellInfo const *spellProto, DamageEffectType damagetype)
uint32 SpellHealingBonusDone (Unit *victim, SpellInfo const *spellProto, uint32 healamount, DamageEffectType damagetype, uint8 effIndex, float TotalMod=0.0f, uint32 stack=1)
uint32 SpellHealingBonusTaken (Unit *caster, SpellInfo const *spellProto, uint32 healamount, DamageEffectType damagetype, uint32 stack=1)
uint32 MeleeDamageBonusDone (Unit *pVictim, uint32 damage, WeaponAttackType attType, SpellInfo const *spellProto=nullptr, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL)
uint32 MeleeDamageBonusTaken (Unit *attacker, uint32 pdamage, WeaponAttackType attType, SpellInfo const *spellProto=nullptr, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL)
bool isSpellBlocked (Unit *victim, SpellInfo const *spellProto, WeaponAttackType attackType=BASE_ATTACK)
bool isBlockCritical ()
float SpellDoneCritChance (Unit const *, SpellInfo const *spellProto, SpellSchoolMask schoolMask, WeaponAttackType attackType, bool skipEffectCheck) const
float SpellTakenCritChance (Unit const *caster, SpellInfo const *spellProto, SpellSchoolMask schoolMask, float doneChance, WeaponAttackType attackType, bool skipEffectCheck) const
void SetLastManaUse (uint32 spellCastTime)
bool IsUnderLastManaUseEffect () const
void SetContestedPvP (Player *attackedPlayer=nullptr, bool lookForNearContestedGuards=true)
uint32 GetCastingTimeForBonus (SpellInfo const *spellProto, DamageEffectType damagetype, uint32 CastingTime) const
float CalculateDefaultCoefficient (SpellInfo const *spellInfo, DamageEffectType damagetype) const
void CastDelayedSpellWithPeriodicAmount (Unit *caster, uint32 spellId, AuraType auraType, int32 addAmount, uint8 effectIndex=0)
void ApplySpellImmune (uint32 spellId, uint32 op, uint32 type, bool apply, SpellImmuneBlockType blockType=SPELL_BLOCK_TYPE_ALL)
void ApplySpellDispelImmunity (SpellInfo const *spellProto, DispelType type, bool apply)
virtual bool IsImmunedToSpell (SpellInfo const *spellInfo, Spell const *spell=nullptr)
bool IsImmunedToDamage (SpellSchoolMask meleeSchoolMask) const
bool IsImmunedToDamage (SpellInfo const *spellInfo) const
bool IsImmunedToDamage (Spell const *spell) const
bool IsImmunedToSchool (SpellSchoolMask meleeSchoolMask) const
bool IsImmunedToSchool (SpellInfo const *spellInfo) const
bool IsImmunedToSchool (Spell const *spell) const
bool IsImmunedToDamageOrSchool (SpellSchoolMask meleeSchoolMask) const
bool IsImmunedToDamageOrSchool (SpellInfo const *spellInfo) const
virtual bool IsImmunedToSpellEffect (SpellInfo const *spellInfo, uint32 index) const
void UpdateSpeed (UnitMoveType mtype, bool forced)
float GetSpeed (UnitMoveType mtype) const
float GetSpeedRate (UnitMoveType mtype) const
void SetSpeed (UnitMoveType mtype, float rate, bool forced=false)
void SetSpeedRate (UnitMoveType mtype, float rate)
float ApplyEffectModifiers (SpellInfo const *spellProto, uint8 effect_index, float value) const
int32 CalculateSpellDamage (Unit const *target, SpellInfo const *spellProto, uint8 effect_index, int32 const *basePoints=nullptr) const
int32 CalcSpellDuration (SpellInfo const *spellProto)
int32 ModSpellDuration (SpellInfo const *spellProto, Unit const *target, int32 duration, bool positive, uint32 effectMask)
void ModSpellCastTime (SpellInfo const *spellProto, int32 &castTime, Spell *spell=nullptr)
float CalculateLevelPenalty (SpellInfo const *spellProto) const
void addFollower (FollowerReference *pRef)
void removeFollower (FollowerReference *)
MotionMasterGetMotionMaster ()
const MotionMasterGetMotionMaster () const
virtual MovementGeneratorType GetDefaultMovementType () const
 -------—End of Pet responses methods-------—
bool IsStopped () const
void StopMoving ()
void StopMovingOnCurrentPos ()
virtual void PauseMovement (uint32 timer=0, uint8 slot=0)
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 (uint16 f)
void RemoveExtraUnitMovementFlag (uint16 f)
uint16 HasExtraUnitMovementFlag (uint16 f) const
uint16 GetExtraUnitMovementFlags () const
void SetExtraUnitMovementFlags (uint16 f)
void SetControlled (bool apply, UnitState state, Unit *source=nullptr, bool isFear=false)
void DisableRotate (bool apply)
void DisableSpline ()
uint8 GetComboPoints (Unit const *who=nullptr) const
 --------—Combo point system----------------—
uint8 GetComboPoints (ObjectGuid const &guid) const
UnitGetComboTarget () const
ObjectGuid const GetComboTargetGUID () const
void AddComboPoints (Unit *target, int8 count)
void AddComboPoints (int8 count)
void ClearComboPoints ()
void SendComboPoints ()
void AddComboPointHolder (Unit *unit)
void RemoveComboPointHolder (Unit *unit)
void ClearComboPointHolders ()
void SendPetActionFeedback (uint8 msg)
 -------—Pet responses methods--------------—
void SendPetTalk (uint32 pettalk)
void SendPetAIReaction (ObjectGuid guid)
void propagateSpeedChange ()
 -------—End of Pet responses methods-------—
void ClearAllReactives ()
void StartReactiveTimer (ReactiveType reactive)
void UpdateReactives (uint32 p_time)
void UpdateAuraForGroup (uint8 slot)
bool CanProc ()
void SetCantProc (bool apply)
void AddPetAura (PetAura const *petSpell)
void RemovePetAura (PetAura const *petSpell)
void CastPetAura (PetAura const *aura)
bool IsPetAura (Aura const *aura)
uint32 GetModelForForm (ShapeshiftForm form, uint32 spellId) const
uint32 GetModelForTotem (PlayerTotemType totemType)
void SetRedirectThreat (ObjectGuid guid, uint32 pct)
void ResetRedirectThreat ()
void ModifyRedirectThreat (int32 amount)
uint32 GetRedirectThreatPercent ()
UnitGetRedirectThreatTarget () const
bool CreateVehicleKit (uint32 id, uint32 creatureEntry)
void RemoveVehicleKit ()
VehicleGetVehicleKit () const
VehicleGetVehicle () const
bool IsOnVehicle (Unit const *vehicle) const
UnitGetVehicleBase () const
CreatureGetVehicleCreatureBase () const
ObjectGuid GetTransGUID () const override
TransportBaseGetDirectTransport () const
 Returns the transport this unit is on directly (if on vehicle and transport, return vehicle)
bool HandleSpellClick (Unit *clicker, int8 seatId=-1)
void EnterVehicle (Unit *base, int8 seatId=-1)
void EnterVehicleUnattackable (Unit *base, int8 seatId=-1)
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)
void BuildMovementPacket (ByteBuffer *data) const
virtual bool CanSwim () const
 this method checks the current flag of a unit
bool IsLevitating () const
bool IsWalking () const
bool isMoving () const
bool isTurning () const
bool IsHovering () const
bool isSwimming () const
virtual bool CanFly () const =0
bool IsFlying () const
bool IsFalling () const
float GetHoverHeight () const
virtual bool CanEnterWater () const =0
void RewardRage (uint32 damage, uint32 weaponSpeedHitFactor, bool attacker)
virtual float GetFollowAngle () const
void OutDebugInfo () const
virtual bool isBeingLoaded () const
bool IsDuringRemoveFromWorld () const
PetToPet ()
TotemToTotem ()
TempSummonToTempSummon ()
const TempSummonToTempSummon () const
void AddPointedBy (SafeUnitPointer *sup)
void RemovePointedBy (SafeUnitPointer *sup)
void ExecuteDelayedUnitRelocationEvent ()
void ExecuteDelayedUnitAINotifyEvent ()
virtual bool HasSpellCooldown (uint32) const
virtual bool HasSpellItemCooldown (uint32, uint32) const
virtual void AddSpellCooldown (uint32, uint32, uint32, bool needSendToClient=false, bool forceSendToSpectator=false)
bool CanApplyResilience () const
void PetSpellFail (SpellInfo const *spellInfo, Unit *target, uint32 result)
int32 CalculateAOEDamageReduction (int32 damage, uint32 schoolMask, Unit *caster) const
ObjectGuid GetTarget () const
virtual void SetTarget (ObjectGuid=ObjectGuid::Empty)=0
void SetInstantCast (bool set)
bool CanInstantCast () const
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 (uint32 textId, WorldObject const *target=nullptr)
virtual void Yell (uint32 textId, WorldObject const *target=nullptr)
virtual void TextEmote (uint32 textId, WorldObject const *target=nullptr, bool isBossEmote=false)
virtual void Whisper (uint32 textId, Player *target, bool isBossWhisper=false)
float GetCollisionHeight () const override
 Return collision height sent to client.
float GetCollisionWidth () const override
 this method gets the diameter of a Unit by DB if any value is defined, otherwise it gets the value by the DBC
float GetCollisionRadius () const override
 this method gets the radius of a Unit by DB if any value is defined, otherwise it gets the value by the DBC
void ProcessPositionDataChanged (PositionFullTerrainStatus const &data) override
virtual void ProcessTerrainStatusUpdate ()
bool CanRestoreMana (SpellInfo const *spellInfo) const
std::string GetDebugInfo () const override
uint32 GetOldFactionId () const
- Public Member Functions inherited from WorldObject
 ~WorldObject () override
virtual void Update (uint32)
void _Create (ObjectGuid::LowType guidlow, HighGuid guidhigh, uint32 phaseMask)
void AddToWorld () override
void RemoveFromWorld () override
void GetNearPoint2D (WorldObject const *searcher, float &x, float &y, float distance, float absAngle, Position const *startPos=nullptr) const
void GetNearPoint2D (float &x, float &y, float distance, float absAngle, Position const *startPos=nullptr) const
void GetNearPoint (WorldObject const *searcher, float &x, float &y, float &z, float searcher_size, float distance2d, float absAngle, float controlZ=0, Position const *startPos=nullptr) const
void GetVoidClosePoint (float &x, float &y, float &z, float size, float distance2d=0, float relAngle=0, float controlZ=0) const
bool GetClosePoint (float &x, float &y, float &z, float size, float distance2d=0, float angle=0, WorldObject const *forWho=nullptr, bool force=false) const
void MovePosition (Position &pos, float dist, float angle)
Position GetNearPosition (float dist, float angle)
void MovePositionToFirstCollision (Position &pos, float dist, float angle)
Position GetFirstCollisionPosition (float startX, float startY, float startZ, float destX, float destY)
Position GetFirstCollisionPosition (float destX, float destY, float destZ)
Position GetFirstCollisionPosition (float dist, float angle)
Position GetRandomNearPosition (float radius)
void GetContactPoint (WorldObject const *obj, float &x, float &y, float &z, float distance2d=CONTACT_DISTANCE) const
void GetChargeContactPoint (WorldObject const *obj, float &x, float &y, float &z, float distance2d=CONTACT_DISTANCE) const
float GetObjectSize () const
virtual float GetCombatReach () const
void UpdateGroundPositionZ (float x, float y, float &z) const
void UpdateAllowedPositionZ (float x, float y, float &z, float *groundZ=nullptr) const
void GetRandomPoint (const Position &srcPos, float distance, float &rand_x, float &rand_y, float &rand_z) const
Position GetRandomPoint (const Position &srcPos, float distance) const
uint32 GetInstanceId () const
virtual void SetPhaseMask (uint32 newPhaseMask, bool update)
uint32 GetPhaseMask () const
bool InSamePhase (WorldObject const *obj) const
bool InSamePhase (uint32 phasemask) const
uint32 GetZoneId () const
uint32 GetAreaId () const
void GetZoneAndAreaId (uint32 &zoneid, uint32 &areaid) const
bool IsOutdoors () const
LiquidData const & GetLiquidData () const
InstanceScriptGetInstanceScript () const
std::string const & GetName () const
void SetName (std::string const &newname)
virtual std::string const & GetNameForLocaleIdx (LocaleConstant) const
float GetDistance (WorldObject const *obj) const
float GetDistance (const Position &pos) const
float GetDistance (float x, float y, float z) const
float GetDistance2d (WorldObject const *obj) const
float GetDistance2d (float x, float y) const
float GetDistanceZ (WorldObject const *obj) const
bool IsSelfOrInSameMap (WorldObject const *obj) const
bool IsInMap (WorldObject const *obj) const
bool IsWithinDist3d (float x, float y, float z, float dist) const
bool IsWithinDist3d (const Position *pos, float dist) const
bool IsWithinDist2d (float x, float y, float dist) const
bool IsWithinDist2d (const Position *pos, float dist) const
bool IsWithinDist (WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
bool IsWithinDistInMap (WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
bool IsWithinLOS (float x, float y, float z, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS) const
bool IsWithinLOSInMap (WorldObject const *obj, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, Optional< float > collisionHeight={ }, Optional< float > combatReach={ }) const
Position GetHitSpherePointFor (Position const &dest, Optional< float > collisionHeight={ }, Optional< float > combatReach={ }) const
void GetHitSpherePointFor (Position const &dest, float &x, float &y, float &z, Optional< float > collisionHeight={ }, Optional< float > combatReach={ }) const
bool GetDistanceOrder (WorldObject const *obj1, WorldObject const *obj2, bool is3D=true) const
bool IsInRange (WorldObject const *obj, float minRange, float maxRange, bool is3D=true) const
bool IsInRange2d (float x, float y, float minRange, float maxRange) const
bool IsInRange3d (float x, float y, float z, float minRange, float maxRange) const
bool isInFront (WorldObject const *target, float arc=M_PI) const
bool isInBack (WorldObject const *target, float arc=M_PI) const
bool IsInBetween (WorldObject const *obj1, WorldObject const *obj2, float size=0) const
virtual void CleanupsBeforeDelete (bool finalCleanup=true)
virtual void SendMessageToSet (WorldPacket const *data, bool self) const
virtual void SendMessageToSetInRange (WorldPacket const *data, float dist, bool, bool includeMargin=false, Player const *skipped_rcvr=nullptr) const
virtual void SendMessageToSet (WorldPacket const *data, Player const *skipped_rcvr) const
virtual uint8 getLevelForTarget (WorldObject const *) const
void PlayDistanceSound (uint32 sound_id, Player *target=nullptr)
void PlayDirectSound (uint32 sound_id, Player *target=nullptr)
void PlayDirectMusic (uint32 music_id, Player *target=nullptr)
void SendObjectDeSpawnAnim (ObjectGuid guid)
virtual void SaveRespawnTime ()
void AddObjectToRemoveList ()
float GetGridActivationRange () const
float GetVisibilityRange () const
virtual float GetSightRange (WorldObject const *target=nullptr) const
bool CanSeeOrDetect (WorldObject const *obj, bool ignoreStealth=false, bool distanceCheck=false, bool checkAlert=false) const
void SendPlayMusic (uint32 Music, bool OnlySelf)
virtual void SetMap (Map *map)
virtual void ResetMap ()
MapGetMap () const
MapFindMap () const
void SetZoneScript ()
void ClearZoneScript ()
ZoneScriptGetZoneScript () const
TempSummonSummonCreature (uint32 id, const Position &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false) const
TempSummonSummonCreature (uint32 id, float x, float y, float z, float ang=0, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false)
GameObjectSummonGameObject (uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime, bool checkTransport=true, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
CreatureSummonTrigger (float x, float y, float z, float ang, uint32 dur, bool setLevel=false, CreatureAI *(*GetAI)(Creature *)=nullptr)
void SummonCreatureGroup (uint8 group, std::list< TempSummon * > *list=nullptr)
CreatureFindNearestCreature (uint32 entry, float range, bool alive=true) const
GameObjectFindNearestGameObject (uint32 entry, float range, bool onlySpawned=false) const
GameObjectFindNearestGameObjectOfType (GameobjectTypes type, float range) const
PlayerSelectNearestPlayer (float distance=0) const
void GetGameObjectListWithEntryInGrid (std::list< GameObject * > &lList, uint32 uiEntry, float fMaxSearchRange) const
void GetCreatureListWithEntryInGrid (std::list< Creature * > &lList, uint32 uiEntry, float fMaxSearchRange) const
void GetDeadCreatureListInGrid (std::list< Creature * > &lList, float maxSearchRange, bool alive=false) const
void DestroyForNearbyPlayers ()
virtual void UpdateObjectVisibility (bool forced=true, bool fromUpdate=false)
void BuildUpdate (UpdateDataMapType &data_map, UpdatePlayerSet &player_set) override
void GetCreaturesWithEntryInRange (std::list< Creature * > &creatureList, float radius, uint32 entry)
void SetPositionDataUpdate ()
void UpdatePositionData ()
void AddToObjectUpdate () override
void RemoveFromObjectUpdate () override
void AddToNotify (uint16 f)
void RemoveFromNotify (uint16 f)
bool isNeedNotify (uint16 f) const
uint16 GetNotifyFlags () const
bool NotifyExecuted (uint16 f) const
void SetNotified (uint16 f)
void ResetAllNotifies ()
bool isActiveObject () const
void setActive (bool isActiveObject)
bool IsFarVisible () const
bool IsVisibilityOverridden () const
void SetVisibilityDistanceOverride (VisibilityDistanceType type)
void SetWorldObject (bool apply)
bool IsPermanentWorldObject () const
bool IsWorldObject () const
bool IsInWintergrasp () const
TransportGetTransport () const
float GetTransOffsetX () const
float GetTransOffsetY () const
float GetTransOffsetZ () const
float GetTransOffsetO () const
uint32 GetTransTime () const
int8 GetTransSeat () const
virtual ObjectGuid GetTransGUID () const
void SetTransport (Transport *t)
virtual float GetStationaryX () const
virtual float GetStationaryY () const
virtual float GetStationaryZ () const
virtual float GetStationaryO () const
float GetMapWaterOrGroundLevel (float x, float y, float z, float *ground=nullptr) const
float GetMapHeight (float x, float y, float z, bool vmap=true, float distanceToSearch=50.0f) const
float GetFloorZ () const
float GetMinHeightInWater () const
 Get the minimum height of a object that should be in water to start floating/swim.
virtual float GetCollisionHeight () const
virtual float GetCollisionWidth () const
virtual float GetCollisionRadius () const
void AddAllowedLooter (ObjectGuid guid)
void ResetAllowedLooters ()
void SetAllowedLooters (GuidUnorderedSet const looters)
bool HasAllowedLooter (ObjectGuid guid) const
GuidUnorderedSet const & GetAllowedLooters () const
std::string GetDebugInfo () const override
- Public Member Functions inherited from Object
virtual ~Object ()
bool IsInWorld () const
virtual void AddToWorld ()
virtual void RemoveFromWorld ()
ObjectGuid GetGUID () const
PackedGuid const & GetPackGUID () const
uint32 GetEntry () const
void SetEntry (uint32 entry)
float GetObjectScale () const
virtual void SetObjectScale (float scale)
virtual uint32 GetDynamicFlags () const
bool HasDynamicFlag (uint32 flag) const
virtual void SetDynamicFlag (uint32 flag)
virtual void RemoveDynamicFlag (uint32 flag)
virtual void ReplaceAllDynamicFlags (uint32 flag)
TypeID GetTypeId () const
bool isType (uint16 mask) const
virtual void BuildCreateUpdateBlockForPlayer (UpdateData *data, Player *target) const
void SendUpdateToPlayer (Player *player)