Player Class Reference

#include <Player.h>


struct  BgBattlegroundQueueID_Rec
struct  ChatFloodThrottle
struct  ValuesUpdateForPlayerWithMaskSender

Public Member Functions

 Player (WorldSession *session)
 ~Player ()
PlayerAIAI () const
void CleanupsBeforeDelete (bool finalCleanup=true) override
void AddToWorld () override
void RemoveFromWorld () override
void SetObjectScale (float scale) override
bool TeleportTo (uint32 mapid, float x, float y, float z, float orientation, uint32 options=0, Optional< uint32 > instanceId={})
bool TeleportTo (WorldLocation const &loc, uint32 options=0, Optional< uint32 > instanceId={})
bool TeleportToBGEntryPoint ()
bool HasSummonPending () const
void SendSummonRequestFrom (Unit *summoner)
void SummonIfPossible (bool agree)
bool Create (ObjectGuid::LowType guidlow, WorldPackets::Character::CharacterCreateInfo const *createInfo)
void Update (uint32 time) override
bool IsImmunedToSpellEffect (SpellInfo const *spellInfo, SpellEffectInfo const &spellEffectInfo, WorldObject const *caster) const override
bool IsInAreaTriggerRadius (AreaTriggerEntry const *trigger) const
void SendInitialPacketsBeforeAddToMap ()
void SendInitialPacketsAfterAddToMap ()
void SendSupercededSpell (uint32 oldSpell, uint32 newSpell) const
void SendTransferAborted (uint32 mapid, TransferAbortReason reason, uint8 arg=0, int32 mapDifficultyXConditionID=0) const
void SendInstanceResetWarning (uint32 mapid, Difficulty difficulty, uint32 time, bool welcome) const
bool CanInteractWithQuestGiver (Object *questGiver) const
CreatureGetNPCIfCanInteractWith (ObjectGuid const &guid, NPCFlags npcFlags, NPCFlags2 npcFlags2) const
GameObjectGetGameObjectIfCanInteractWith (ObjectGuid const &guid) const
GameObjectGetGameObjectIfCanInteractWith (ObjectGuid const &guid, GameobjectTypes type) const
void ToggleAFK ()
void ToggleDND ()
bool isAFK () const
bool isDND () const
uint8 GetChatFlags () const
int64 GetBarberShopCost (Trinity::IteratorPair< UF::ChrCustomizationChoice const *> newCustomizations) const
PlayerSocialGetSocial () const
void RemoveSocial ()
void InitTaxiNodesForLevel ()
bool ActivateTaxiPathTo (std::vector< uint32 > const &nodes, Creature *npc=nullptr, uint32 spellid=0, uint32 preferredMountDisplay=0)
bool ActivateTaxiPathTo (uint32 taxi_path_id, uint32 spellid=0)
void FinishTaxiFlight ()
void CleanupAfterTaxiFlight ()
void ContinueTaxiFlight () const
bool IsDeveloper () const
void SetDeveloper (bool on)
bool isAcceptWhispers () const
void SetAcceptWhispers (bool on)
bool IsGameMaster () const
bool IsGameMasterAcceptingWhispers () const
bool CanBeGameMaster () const
void SetGameMaster (bool on)
bool isGMChat () const
void SetGMChat (bool on)
bool isTaxiCheater () const
void SetTaxiCheater (bool on)
bool isGMVisible () const
void SetGMVisible (bool on)
void SetPvPDeath (bool on)
bool HasRaceChanged () const
void SetHasRaceChanged ()
bool HasBeenGrantedLevelsFromRaF () const
void SetBeenGrantedLevelsFromRaF ()
bool HasLevelBoosted () const
void SetHasLevelBoosted ()
uint32 GetXP () const
uint32 GetXPForNextLevel () const
void SetXP (uint32 xp)
void GiveXP (uint32 xp, Unit *victim, float group_rate=1.0f)
void GiveLevel (uint8 level)
bool IsMaxLevel () const
void InitStatsForLevel (bool reapplyMods=false)
bool GetCommandStatus (uint32 command) const
void SetCommandStatusOn (uint32 command)
void SetCommandStatusOff (uint32 command)
uint32 GetTotalPlayedTime () const
uint32 GetLevelPlayedTime () const
Gender GetNativeGender () const override
void SetNativeGender (Gender gender) override
void setDeathState (DeathState s) override
PetStableGetPetStable ()
PetStableGetOrInitPetStable ()
PetStable const * GetPetStable () const
PetGetPet () const
PetSummonPet (uint32 entry, Optional< PetSaveMode > slot, float x, float y, float z, float ang, uint32 despwtime, bool *isNew=nullptr)
void RemovePet (Pet *pet, PetSaveMode mode, bool returnreagent=false)
void SendTameFailure (PetTameResult result)
void AddPetAura (PetAura const *petSpell)
void RemovePetAura (PetAura const *petSpell)
CreatureGetSummonedBattlePet ()
void SetBattlePetData (BattlePets::BattlePet const *pet=nullptr)
void Say (std::string_view text, Language language, WorldObject const *=nullptr) override
 Handles said message in regular chat based on declared language and in config pre-defined Range. More...
void Say (uint32 textId, WorldObject const *target=nullptr) override
void Yell (std::string_view text, Language language, WorldObject const *=nullptr) override
 Handles yelled message in regular chat based on declared language and in config pre-defined Range. More...
void Yell (uint32 textId, WorldObject const *target=nullptr) override
void TextEmote (std::string_view text, WorldObject const *=nullptr, bool=false) override
 Outputs an universal text which is supposed to be an action. More...
void TextEmote (uint32 textId, WorldObject const *target=nullptr, bool isBossEmote=false) override
void Whisper (std::string_view text, Language language, Player *receiver, bool=false) override
 Handles whispers from Addons and players based on sender, receiver's guid and language. More...
void Whisper (uint32 textId, Player *target, bool isBossWhisper=false) override
void WhisperAddon (std::string const &text, std::string const &prefix, bool isLogged, Player *receiver)
bool CanUnderstandLanguage (Language language) const
template<typename T >
bool ForEachItem (ItemSearchLocation location, T callback) const
 Iterate over each item in the player storage. More...
void UpdateAverageItemLevelTotal ()
void UpdateAverageItemLevelEquipped ()
uint8 FindEquipSlot (Item const *item, uint32 slot, bool swap) const
uint32 GetFreeInventorySlotCount (EnumFlag< ItemSearchLocation > location=ItemSearchLocation::Inventory) const
uint32 GetItemCount (uint32 item, bool inBankAlso=false, Item *skipItem=nullptr) const
uint32 GetItemCountWithLimitCategory (uint32 limitCategory, Item *skipItem=nullptr) const
ItemGetItemByGuid (ObjectGuid guid) const
ItemGetItemByEntry (uint32 entry, ItemSearchLocation where=ItemSearchLocation::Default) const
std::vector< Item * > GetItemListByEntry (uint32 entry, bool inBankAlso=false) const
ItemGetItemByPos (uint16 pos) const
ItemGetItemByPos (uint8 bag, uint8 slot) const
ItemGetUseableItemByPos (uint8 bag, uint8 slot) const
BagGetBagByPos (uint8 slot) const
std::vector< Item * > GetCraftingReagentItemsToDeposit ()
uint32 GetFreeInventorySpace () const
ItemGetWeaponForAttack (WeaponAttackType attackType, bool useable=false) const
ItemGetShield (bool useable=false) const
ItemGetChildItemByGuid (ObjectGuid guid) const
std::vector< Item * > & GetItemUpdateQueue ()
bool IsValidPos (uint16 pos, bool explicit_pos) const
bool IsValidPos (uint8 bag, uint8 slot, bool explicit_pos) const
uint8 GetInventorySlotCount () const
void SetInventorySlotCount (uint8 slots)
uint8 GetBankBagSlotCount () const
void SetBankBagSlotCount (uint8 count)
bool HasItemCount (uint32 item, uint32 count=1, bool inBankAlso=false) const
bool HasItemFitToSpellRequirements (SpellInfo const *spellInfo, Item const *ignoreItem=nullptr) const
bool CanNoReagentCast (SpellInfo const *spellInfo) const
void SetNoRegentCostMask (flag128 mask)
bool HasItemOrGemWithIdEquipped (uint32 item, uint32 count, uint8 except_slot=NULL_SLOT) const
bool HasItemWithLimitCategoryEquipped (uint32 limitCategory, uint32 count, uint8 except_slot=NULL_SLOT) const
bool HasGemWithLimitCategoryEquipped (uint32 limitCategory, uint32 count, uint8 except_slot=NULL_SLOT) const
InventoryResult CanTakeMoreSimilarItems (Item *pItem, uint32 *offendingItemId=nullptr) const
InventoryResult CanTakeMoreSimilarItems (uint32 entry, uint32 count, uint32 *offendingItemId=nullptr) const
InventoryResult CanStoreNewItem (uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 item, uint32 count, uint32 *no_space_count=nullptr) const
InventoryResult CanStoreItem (uint8 bag, uint8 slot, ItemPosCountVec &dest, Item *pItem, bool swap=false) const
InventoryResult CanStoreItems (Item **items, int count, uint32 *offendingItemId) const
InventoryResult CanEquipNewItem (uint8 slot, uint16 &dest, uint32 item, bool swap) const
InventoryResult CanEquipItem (uint8 slot, uint16 &dest, Item *pItem, bool swap, bool not_loading=true) const
InventoryResult CanEquipChildItem (Item *parentItem) const
InventoryResult CanEquipUniqueItem (Item *pItem, uint8 except_slot=NULL_SLOT, uint32 limit_count=1) const
InventoryResult CanEquipUniqueItem (ItemTemplate const *itemProto, uint8 except_slot=NULL_SLOT, uint32 limit_count=1) const
InventoryResult CanUnequipItems (uint32 item, uint32 count) const
InventoryResult CanUnequipItem (uint16 src, bool swap) const
InventoryResult CanBankItem (uint8 bag, uint8 slot, ItemPosCountVec &dest, Item *pItem, bool swap, bool not_loading=true, bool reagentBankOnly=false) const
InventoryResult CanUseItem (Item *pItem, bool not_loading=true) const
bool HasItemTotemCategory (uint32 TotemCategory) const
InventoryResult CanUseItem (ItemTemplate const *pItem, bool skipRequiredLevelCheck=false) const
InventoryResult CanRollForItemInLFG (ItemTemplate const *item, WorldObject const *lootedObject) const
ItemStoreNewItem (ItemPosCountVec const &pos, uint32 itemId, bool update, ItemRandomBonusListId randomBonusListId=0, GuidSet const &allowedLooters=GuidSet(), ItemContext context=ItemContext::NONE, std::vector< int32 > const &bonusListIDs=std::vector< int32 >(), bool addToCollection=true)
ItemStoreItem (ItemPosCountVec const &pos, Item *pItem, bool update)
ItemEquipNewItem (uint16 pos, uint32 item, ItemContext context, bool update)
ItemEquipItem (uint16 pos, Item *pItem, bool update)
void AutoUnequipOffhandIfNeed (bool force=false)
void EquipChildItem (uint8 parentBag, uint8 parentSlot, Item *parentItem)
void AutoUnequipChildItem (Item *parentItem)
bool StoreNewItemInBestSlots (uint32 item_id, uint32 item_count)
void AutoStoreLoot (uint8 bag, uint8 slot, uint32 loot_id, LootStore const &store, ItemContext context=ItemContext::NONE, bool broadcast=false, bool createdByPlayer=false)
void AutoStoreLoot (uint32 loot_id, LootStore const &store, ItemContext context=ItemContext::NONE, bool broadcast=false, bool createdByPlayer=false)
void StoreLootItem (uint8 lootSlot, Loot *loot, AELootResult *aeResult=nullptr)
InventoryResult CanTakeMoreSimilarItems (uint32 entry, uint32 count, Item *pItem, uint32 *no_space_count=nullptr, uint32 *offendingItemId=nullptr) const
InventoryResult CanStoreItem (uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 entry, uint32 count, Item *pItem=nullptr, bool swap=false, uint32 *no_space_count=nullptr) const
void AddRefundReference (ObjectGuid it)
void DeleteRefundReference (ObjectGuid it)
void SendNewCurrency (uint32 id) const
 send initialization of new currency for client More...
void SendCurrencies () const
 send full data about all currencies to client More...
void SendPvpRewards () const
 send conquest currency points and their cap week/arena More...
uint32 GetCurrency (uint32 id) const
 return count of currency witch has plr More...
uint32 GetCurrencyOnWeek (uint32 id) const
 return count of currency gaind on current week More...
uint32 GetCurrencyWeekCap (uint32 id) const
 return week cap by currency id More...
uint32 GetTrackedCurrencyCount (uint32 id) const
 return tracked currency count by currency id More...
bool HasCurrency (uint32 id, uint32 count) const
 return presence related currency More...
void SetCreateCurrency (uint32 id, uint32 count, bool printLog=true)
 initialize currency count for custom initialization at create character More...
void ResetCurrencyWeekCap ()
- Public Member Functions inherited from Unit
virtual ~Unit ()
bool IsAIEnabled () const
void AIUpdateTick (uint32 diff)
UnitAIGetAI () const
void ScheduleAIChange ()
void PushAI (UnitAI *newAI)
bool PopAI ()
void AddToWorld () override
void RemoveFromWorld () override
void CleanupBeforeRemoveFromMap (bool finalCleanup)
void CleanupsBeforeDelete (bool finalCleanup=true) override
virtual bool IsAffectedByDiminishingReturns () const
DiminishingLevels GetDiminishing (DiminishingGroup group) const
void IncrDiminishing (SpellInfo const *auraSpellInfo)
bool ApplyDiminishingToDuration (SpellInfo const *auraSpellInfo, int32 &duration, WorldObject *caster, DiminishingLevels previousLevel) const
void ApplyDiminishingAura (DiminishingGroup group, bool apply)
void ClearDiminishings ()
void setAttackTimer (WeaponAttackType type, uint32 time)
void resetAttackTimer (WeaponAttackType type=BASE_ATTACK)
uint32 getAttackTimer (WeaponAttackType type) const
bool isAttackReady (WeaponAttackType type=BASE_ATTACK) const
bool haveOffhandWeapon () const
bool CanDualWield () const
virtual void SetCanDualWield (bool value)
float GetCombatReach () const override
void SetCombatReach (float combatReach)
float GetBoundingRadius () const
void SetBoundingRadius (float boundingRadius)
bool IsWithinCombatRange (Unit const *obj, float dist2compare) const
bool IsWithinMeleeRange (Unit const *obj) const
bool IsWithinMeleeRangeAt (Position const &pos, Unit const *obj) const
float GetMeleeRange (Unit const *target) const
bool IsWithinBoundaryRadius (const Unit *obj) const
void _addAttacker (Unit *pAttacker)
void _removeAttacker (Unit *pAttacker)
UnitgetAttackerForHelper () const
bool Attack (Unit *victim, bool meleeAttack)
void CastStop (uint32 except_spellid=0)
bool AttackStop ()
void RemoveAllAttackers ()
AttackerSet const & getAttackers () const
bool isAttackingPlayer () const
UnitGetVictim () const
UnitEnsureVictim () const
void ValidateAttackersAndOwnTarget ()
void CombatStop (bool includingCast=false, bool mutualPvP=true)
void CombatStopWithPets (bool includingCast=false)
void StopAttackFaction (uint32 faction_id)
UnitSelectNearbyTarget (Unit *exclude=nullptr, float dist=NOMINAL_MELEE_RANGE) const
void SendMeleeAttackStop (Unit *victim=nullptr)
void SendMeleeAttackStart (Unit *victim)
void AddUnitState (uint32 f)
bool HasUnitState (const uint32 f) const
void ClearUnitState (uint32 f)
bool CanFreeMove () const
uint32 HasUnitTypeMask (uint32 mask) const
void AddUnitTypeMask (uint32 mask)
bool IsSummon () const
bool IsGuardian () const
bool IsPet () const
bool IsHunterPet () const
bool IsTotem () const
bool IsVehicle () const
uint8 GetLevel () const
uint8 GetLevelForTarget (WorldObject const *) const override
void SetLevel (uint8 lvl, bool sendUpdate=true)
uint8 GetRace () const
void SetRace (uint8 race)
uint64 GetRaceMask () const
uint8 GetClass () const
void SetClass (uint8 classId)
uint32 GetClassMask () const
Gender GetGender () const
void SetGender (Gender gender)
float GetStat (Stats stat) const
void SetStat (Stats stat, int32 val)
uint32 GetArmor () const
void SetArmor (int32 val, int32 bonusVal)
int32 GetResistance (SpellSchools school) const
int32 GetBonusResistanceMod (SpellSchools school) const
int32 GetResistance (SpellSchoolMask mask) const
void SetResistance (SpellSchools school, int32 val)
void SetBonusResistanceMod (SpellSchools school, int32 val)
uint64 GetHealth () const
uint64 GetMaxHealth () const
bool IsFullHealth () const
bool HealthBelowPct (int32 pct) const
bool HealthBelowPctDamaged (int32 pct, uint32 damage) const
bool HealthAbovePct (int32 pct) const
bool HealthAbovePctHealed (int32 pct, uint32 heal) const
float GetHealthPct () const
uint64 CountPctFromMaxHealth (int32 pct) const
uint64 CountPctFromCurHealth (int32 pct) const
void SetHealth (uint64 val)
void SetMaxHealth (uint64 val)
void SetFullHealth ()
int64 ModifyHealth (int64 val)
int64 GetHealthGain (int64 dVal)
void TriggerOnHealthChangeAuras (uint64 oldVal, uint64 newVal)
virtual float GetHealthMultiplierForTarget (WorldObject const *) const
virtual float GetDamageMultiplierForTarget (WorldObject const *) const
virtual float GetArmorMultiplierForTarget (WorldObject const *) const
Powers GetPowerType () const
void SetPowerType (Powers power, bool sendUpdate=true)
void SetOverrideDisplayPowerId (uint32 powerDisplayId)
void UpdateDisplayPower ()
int32 GetPower (Powers power) const
int32 GetMinPower (Powers power) const
int32 GetMaxPower (Powers power) const
float GetPowerPct (Powers power) const
int32 CountPctFromMaxPower (Powers power, int32 pct) const
void SetPower (Powers power, int32 val, bool withPowerUpdate=true)
void SetMaxPower (Powers power, int32 val)
void TriggerOnPowerChangeAuras (Powers power, int32 oldVal, int32 newVal)
void SetFullPower (Powers power)
int32 ModifyPower (Powers power, int32 val, bool withPowerUpdate=true)
void ApplyModManaCostMultiplier (float manaCostMultiplier, bool apply)
void ApplyModManaCostModifier (SpellSchools school, int32 mod, bool apply)
uint32 GetBaseAttackTime (WeaponAttackType att) const
void SetBaseAttackTime (WeaponAttackType att, uint32 val)
void UpdateAttackTimeField (WeaponAttackType att)
void ApplyAttackTimePercentMod (WeaponAttackType att, float val, bool apply)
void ApplyCastTimePercentMod (float val, bool apply)
void SetModCastingSpeed (float castingSpeed)
void SetModSpellHaste (float spellHaste)
void SetModHaste (float haste)
void SetModRangedHaste (float rangedHaste)
void SetModHasteRegen (float hasteRegen)
void SetModTimeRate (float timeRate)
bool HasUnitFlag (UnitFlags flags) const
void SetUnitFlag (UnitFlags flags)
void RemoveUnitFlag (UnitFlags flags)
void ReplaceAllUnitFlags (UnitFlags flags)
bool HasUnitFlag2 (UnitFlags2 flags) const
void SetUnitFlag2 (UnitFlags2 flags)
void RemoveUnitFlag2 (UnitFlags2 flags)
void ReplaceAllUnitFlags2 (UnitFlags2 flags)
bool HasUnitFlag3 (UnitFlags3 flags) const
void SetUnitFlag3 (UnitFlags3 flags)
void RemoveUnitFlag3 (UnitFlags3 flags)
void ReplaceAllUnitFlags3 (UnitFlags3 flags)
void SetCreatedBySpell (int32 spellId)
Emote GetEmoteState () const
void SetEmoteState (Emote emote)
SheathState GetSheath () const
void SetSheath (SheathState sheathed)
uint32 GetFaction () const override
void SetFaction (uint32 faction) override
bool IsInPartyWith (Unit const *unit) const
bool IsInRaidWith (Unit const *unit) const
void GetPartyMembers (std::list< Unit *> &units)
bool IsContestedGuard () const
UnitPVPStateFlags GetPvpFlags () const
bool HasPvpFlag (UnitPVPStateFlags flags) const
void SetPvpFlag (UnitPVPStateFlags flags)
void RemovePvpFlag (UnitPVPStateFlags flags)
void ReplaceAllPvpFlags (UnitPVPStateFlags flags)
bool IsInSanctuary () const
bool IsPvP () const
bool IsFFAPvP () const
UnitPetFlag GetPetFlags () const
bool HasPetFlag (UnitPetFlag flags) const
void SetPetFlag (UnitPetFlag flags)
void RemovePetFlag (UnitPetFlag flags)
void ReplaceAllPetFlags (UnitPetFlag flags)
uint32 GetCreatureType () const
uint32 GetCreatureTypeMask () const
UnitStandStateType GetStandState () const
bool IsSitState () const
bool IsStandState () const
void SetStandState (UnitStandStateType state, uint32 animKitID=0)
void SetVisFlag (UnitVisFlags flags)
void RemoveVisFlag (UnitVisFlags flags)
void ReplaceAllVisFlags (UnitVisFlags flags)
AnimTier GetAnimTier () const
void SetAnimTier (AnimTier animTier, bool notifyClient=true)
bool IsMounted () const
uint32 GetMountDisplayId () const
void SetMountDisplayId (uint32 mountDisplayId)
uint32 GetCosmeticMountDisplayId () const
void SetCosmeticMountDisplayId (uint32 mountDisplayId)
void Mount (uint32 mount, uint32 vehicleId=0, uint32 creatureEntry=0)
void Dismount ()
MountCapabilityEntry const * GetMountCapability (uint32 mountType) const
void UpdateMountCapability ()
void SendDurabilityLoss (Player *receiver, uint32 percent)
void PlayOneShotAnimKitId (uint16 animKitId)
void SetAIAnimKitId (uint16 animKitId)
uint16 GetAIAnimKitId () const override
void SetMovementAnimKitId (uint16 animKitId)
uint16 GetMovementAnimKitId () const override
void SetMeleeAnimKitId (uint16 animKitId)
uint16 GetMeleeAnimKitId () const override
uint16 GetMaxSkillValueForLevel (Unit const *target=nullptr) const
void KillSelf (bool durabilityLoss=true, bool skipSettingDeathState=false)
void GetProcAurasTriggeredOnEvent (AuraApplicationProcContainer &aurasTriggeringProc, AuraApplicationList *procAuras, ProcEventInfo &eventInfo)
void TriggerAurasProcOnEvent (AuraApplicationList *myProcAuras, AuraApplicationList *targetProcAuras, Unit *actionTarget, ProcFlagsInit const &typeMaskActor, ProcFlagsInit const &typeMaskActionTarget, ProcFlagsSpellType spellTypeMask, ProcFlagsSpellPhase spellPhaseMask, ProcFlagsHit hitMask, Spell *spell, DamageInfo *damageInfo, HealInfo *healInfo)
void TriggerAurasProcOnEvent (ProcEventInfo &eventInfo, AuraApplicationProcContainer &procAuras)
void HandleEmoteCommand (Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const *> spellVisualKitIds={}, int32 sequenceVariation=0)
void AttackerStateUpdate (Unit *victim, WeaponAttackType attType=BASE_ATTACK, bool extra=false)
void CalculateMeleeDamage (Unit *victim, CalcDamageInfo *damageInfo, WeaponAttackType attackType=BASE_ATTACK)
void DealMeleeDamage (CalcDamageInfo *damageInfo, bool durabilityLoss)
void HandleProcExtraAttackFor (Unit *victim, uint32 count)
void SetLastExtraAttackSpell (uint32 spellId)
uint32 GetLastExtraAttackSpell () const
void AddExtraAttacks (uint32 count)
void SetLastDamagedTargetGuid (ObjectGuid guid)
ObjectGuid GetLastDamagedTargetGuid () const
void CalculateSpellDamageTaken (SpellNonMeleeDamage *damageInfo, int32 damage, SpellInfo const *spellInfo, WeaponAttackType attackType=BASE_ATTACK, bool crit=false, Spell *spell=nullptr)
void DealSpellDamage (SpellNonMeleeDamage const *damageInfo, bool durabilityLoss)
uint32 GetDamageReduction (uint32 damage) const
int32 CalculateAOEAvoidance (int32 damage, uint32 schoolMask, ObjectGuid const &casterGuid) const
float MeleeSpellMissChance (Unit const *victim, WeaponAttackType attType, SpellInfo const *spellInfo) const override
SpellMissInfo MeleeSpellHitResult (Unit *victim, SpellInfo const *spellInfo) const override
float GetUnitDodgeChance (WeaponAttackType attType, Unit const *victim) const
float GetUnitParryChance (WeaponAttackType attType, Unit const *victim) const
float GetUnitBlockChance (WeaponAttackType attType, Unit const *victim) const
float GetUnitMissChance () const
float GetUnitCriticalChanceDone (WeaponAttackType attackType) const
float GetUnitCriticalChanceTaken (Unit const *attacker, WeaponAttackType attackType, float critDone) const
float GetUnitCriticalChanceAgainst (WeaponAttackType attackType, Unit const *victim) const
int32 GetMechanicResistChance (SpellInfo const *spellInfo) const
bool CanUseAttackType (uint8 attacktype) const
float GetWeaponProcChance () const
float GetPPMProcChance (uint32 WeaponSpeed, float PPM, SpellInfo const *spellProto) const
MeleeHitOutcome RollMeleeOutcomeAgainst (Unit const *victim, WeaponAttackType attType) const
NPCFlags GetNpcFlags () const
bool HasNpcFlag (NPCFlags flags) const
void SetNpcFlag (NPCFlags flags)
void RemoveNpcFlag (NPCFlags flags)
void ReplaceAllNpcFlags (NPCFlags flags)
NPCFlags2 GetNpcFlags2 () const
bool HasNpcFlag2 (NPCFlags2 flags) const
void SetNpcFlag2 (NPCFlags2 flags)
void RemoveNpcFlag2 (NPCFlags2 flags)
void ReplaceAllNpcFlags2 (NPCFlags2 flags)
bool IsVendor () const
bool IsTrainer () const
bool IsQuestGiver () const
bool IsGossip () const
bool IsTaxi () const
bool IsGuildMaster () const
bool IsBattleMaster () const
bool IsBanker () const
bool IsInnkeeper () const
bool IsSpiritHealer () const
bool IsSpiritGuide () const
bool IsTabardDesigner () const
bool IsAuctioner () const
bool IsArmorer () const
bool IsWildBattlePet () const
bool IsServiceProvider () const
bool IsSpiritService () const
bool IsCritter () const
bool IsInFlight () const
bool CanHaveThreatList () const
 ====================== THREAT & COMBAT ==================== More...
virtual bool IsEngaged () const
bool IsEngagedBy (Unit const *who) const
void EngageWithTarget (Unit *who)
CombatManagerGetCombatManager ()
CombatManager const & GetCombatManager () const
void AtTargetAttacked (Unit *target, bool canInitialAggro)
bool IsImmuneToAll () const
void SetImmuneToAll (bool apply, bool keepCombat)
virtual void SetImmuneToAll (bool apply)
bool IsImmuneToPC () const
void SetImmuneToPC (bool apply, bool keepCombat)
virtual void SetImmuneToPC (bool apply)
bool IsImmuneToNPC () const
void SetImmuneToNPC (bool apply, bool keepCombat)
virtual void SetImmuneToNPC (bool apply)
bool IsInCombat () const
bool IsInCombatWith (Unit const *who) const
void SetInCombatWith (Unit *enemy)
void ClearInCombat ()
void UpdatePetCombatState ()
bool IsThreatened () const
bool IsThreatenedBy (Unit const *who) const
ThreatManagerGetThreatManager ()
ThreatManager const & GetThreatManager () const
void SendClearTarget ()
bool HasAuraTypeWithFamilyFlags (AuraType auraType, uint32 familyName, flag128 familyFlags) const
bool HasBreakableByDamageAuraType (AuraType type, uint32 excludeAura=0) const
bool HasBreakableByDamageCrowdControlAura (Unit *excludeCasterChannel=nullptr) const
bool HasStealthAura () const
bool HasInvisibilityAura () const
bool IsFeared () const
bool HasRootAura () const
bool IsPolymorphed () const
bool IsFrozen () const
bool isTargetableForAttack (bool checkFakeDeath=true) const
bool IsInWater () const
bool IsUnderWater () const
bool isInAccessiblePlaceFor (Creature const *c) const
void SendHealSpellLog (HealInfo &healInfo, bool critical=false)
int32 HealBySpell (HealInfo &healInfo, bool critical=false)
void SendEnergizeSpellLog (Unit *victim, uint32 spellId, int32 damage, int32 overEnergize, Powers powerType)
void EnergizeBySpell (Unit *victim, SpellInfo const *spellInfo, int32 damage, Powers powerType)
AuraAddAura (uint32 spellId, Unit *target)
AuraAddAura (SpellInfo const *spellInfo, uint32 effMask, Unit *target)
void SetAuraStack (uint32 spellId, Unit *target, uint32 stack)
void CancelSpellMissiles (uint32 spellId, bool reverseMissile=false)
void DeMorph ()
void SendAttackStateUpdate (CalcDamageInfo *damageInfo)
void SendAttackStateUpdate (uint32 HitInfo, Unit *target, uint8 SwingType, SpellSchoolMask damageSchoolMask, uint32 Damage, uint32 AbsorbDamage, uint32 Resist, VictimState TargetState, uint32 BlockedAmount)
void SendSpellNonMeleeDamageLog (SpellNonMeleeDamage const *log)
void SendPeriodicAuraLog (SpellPeriodicAuraLogInfo *pInfo)
void SendSpellDamageResist (Unit *target, uint32 spellId)
void SendSpellDamageImmune (Unit *target, uint32 spellId, bool isPeriodic)
void NearTeleportTo (Position const &pos, bool casting=false)
void NearTeleportTo (float x, float y, float z, float orientation, bool casting=false)
void SendTeleportPacket (Position const &pos)
void UpdateOrientation (float orientation)
 Only server-side orientation update, does not broadcast to client. More...
void UpdateHeight (float newZ)
 Only server-side height update, does not broadcast to client. More...
void SendMoveKnockBack (Player *player, float speedXY, float speedZ, float vcos, float vsin)
void KnockbackFrom (Position const &origin, float speedXY, float speedZ, Movement::SpellEffectExtraData const *spellEffectExtraData=nullptr)
void JumpTo (float speedXY, float speedZ, float angle, Optional< Position > dest={})
void JumpTo (WorldObject *obj, float speedZ, bool withOrientation=false)
void MonsterMoveWithSpeed (float x, float y, float z, float speed, bool generatePath=false, bool forceDestination=false)
bool IsPlayingHoverAnim () const
void SetPlayHoverAnim (bool enable)
void SetHoverHeight (float hoverHeight)
bool IsGravityDisabled () const
bool IsWalking () const
bool IsHovering () const
bool SetWalk (bool enable)
bool SetDisableGravity (bool disable, bool updateAnimTier=true)
bool SetFall (bool enable)
bool SetSwim (bool enable)
bool SetCanFly (bool enable)
bool SetWaterWalking (bool enable)
bool SetFeatherFall (bool enable)
bool SetHover (bool enable, bool updateAnimTier=true)
bool SetCollision (bool disable)
bool SetCanTransitionBetweenSwimAndFly (bool enable)
bool SetCanTurnWhileFalling (bool enable)
bool SetCanDoubleJump (bool enable)
bool SetDisableInertia (bool disable)
void SendSetVehicleRecId (uint32 vehicleId)
MovementForces const * GetMovementForces () const
void ApplyMovementForce (ObjectGuid id, Position origin, float magnitude, MovementForceType type, Position direction={}, ObjectGuid transportGuid=ObjectGuid::Empty)
void RemoveMovementForce (ObjectGuid id)
bool SetIgnoreMovementForces (bool ignore)
void UpdateMovementForcesModMagnitude ()
void SetInFront (WorldObject const *target)
void SetFacingTo (float const ori, bool force=true)
void SetFacingToObject (WorldObject const *object, bool force=true)
bool IsAlive () const
bool isDying () const
bool isDead () const
DeathState getDeathState () const
ObjectGuid GetOwnerGUID () const override
void SetOwnerGUID (ObjectGuid owner)
ObjectGuid GetCreatorGUID () const
void SetCreatorGUID (ObjectGuid creator)
ObjectGuid GetMinionGUID () const
void SetMinionGUID (ObjectGuid guid)
ObjectGuid GetPetGUID () const
void SetPetGUID (ObjectGuid guid)
ObjectGuid GetCritterGUID () const
void SetCritterGUID (ObjectGuid guid)
ObjectGuid GetBattlePetCompanionGUID () const
void SetBattlePetCompanionGUID (ObjectGuid guid)
ObjectGuid GetDemonCreatorGUID () const
void SetDemonCreatorGUID (ObjectGuid guid)
ObjectGuid GetCharmerGUID () const
UnitGetCharmer () const
ObjectGuid GetCharmedGUID () const
UnitGetCharmed () const
bool IsControlledByPlayer () const
PlayerGetControllingPlayer () const
ObjectGuid GetCharmerOrOwnerGUID () const override
bool IsCharmedOwnedByPlayerOrPlayer () const
GuardianGetGuardianPet () const
MinionGetFirstMinion () const
UnitGetCharmerOrOwner () const
void SetMinion (Minion *minion, bool apply)
void GetAllMinionsByEntry (std::list< TempSummon *> &Minions, uint32 entry)
void RemoveAllMinionsByEntry (uint32 entry)
void SetCharm (Unit *target, bool apply)
UnitGetNextRandomRaidMemberOrPet (float radius)
bool SetCharmedBy (Unit *charmer, CharmType type, AuraApplication const *aurApp=nullptr)
void RemoveCharmedBy (Unit *charmer)
void RestoreFaction ()
UnitGetFirstControlled () const
void RemoveAllControlled ()
bool IsCharmed () const
bool isPossessed () const
bool isPossessedByPlayer () const
bool isPossessing () const
bool isPossessing (Unit *u) const
CharmInfoGetCharmInfo ()
CharmInfoInitCharmInfo ()
void DeleteCharmInfo ()
void SetPetNumberForClient (uint32 petNumber)
void SetPetNameTimestamp (uint32 timestamp)
void SetMovedUnit (Unit *target)
UnitGetUnitBeingMoved () const
PlayerGetPlayerMovingMe () const
SharedVisionList const & GetSharedVisionList ()
void AddPlayerToVision (Player *player)
void RemovePlayerFromVision (Player *player)
bool HasSharedVision () const
void RemoveBindSightAuras ()
void RemoveCharmAuras ()
PetCreateTamedPetFrom (Creature *creatureTarget, uint32 spell_id=0)
PetCreateTamedPetFrom (uint32 creatureEntry, uint32 spell_id=0)
bool InitTamedPet (Pet *pet, uint8 level, uint32 spell_id)
uint32 GetBattlePetCompanionNameTimestamp () const
void SetBattlePetCompanionNameTimestamp (uint32 timestamp)
uint32 GetBattlePetCompanionExperience () const
void SetBattlePetCompanionExperience (uint32 experience)
uint32 GetWildBattlePetLevel () const
void SetWildBattlePetLevel (uint32 wildBattlePetLevel)
Aura_TryStackingOrRefreshingExistingAura (AuraCreateInfo &createInfo)
void _AddAura (UnitAura *aura, Unit *caster)
AuraApplication_CreateAuraApplication (Aura *aura, uint32 effMask)
void _ApplyAuraEffect (Aura *aura, uint8 effIndex)
void _ApplyAura (AuraApplication *aurApp, uint32 effMask)
void _UnapplyAura (AuraApplicationMap::iterator &i, AuraRemoveMode removeMode)
void _UnapplyAura (AuraApplication *aurApp, AuraRemoveMode removeMode)
void _RemoveNoStackAurasDueToAura (Aura *aura)
void _RegisterAuraEffect (AuraEffect *aurEff, bool apply)
AuraMapGetOwnedAuras ()
AuraMap const & GetOwnedAuras () const
void RemoveOwnedAura (AuraMap::iterator &i, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveOwnedAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveOwnedAura (Aura *aura, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
AuraGetOwnedAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, Aura *except=nullptr) const
AuraApplicationMapGetAppliedAuras ()
AuraApplicationMap const & GetAppliedAuras () const
void RemoveAura (AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void RemoveAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAura (AuraApplication *aurApp, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void RemoveAura (Aura *aur, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void RemoveAppliedAuras (std::function< bool(AuraApplication const *)> const &check)
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 RemoveAurasByType (AuraType auraType, std::function< bool(AuraApplication const *)> const &check)
void RemoveAurasDueToSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAuraFromStack (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT, uint16 num=1)
void RemoveAurasDueToSpellByDispel (uint32 spellId, uint32 dispellerSpellId, ObjectGuid casterGUID, WorldObject *dispeller, uint8 chargesRemoved=1)
void RemoveAurasDueToSpellBySteal (uint32 spellId, ObjectGuid casterGUID, WorldObject *stealer, int32 stolenCharges=1)
void RemoveAurasDueToItemSpell (uint32 spellId, ObjectGuid castItemGuid)
void RemoveAurasByType (AuraType auraType, ObjectGuid casterGUID=ObjectGuid::Empty, Aura *except=nullptr, bool negative=true, bool positive=true)
void RemoveNotOwnSingleTargetAuras (bool onPhaseChange=false)
template<typename InterruptFlags >
void RemoveAurasWithInterruptFlags (InterruptFlags flag, SpellInfo const *source=nullptr)
void RemoveAurasWithAttribute (uint32 flags)
void RemoveAurasWithFamily (SpellFamilyNames family, flag128 const &familyFlag, ObjectGuid casterGUID)
void RemoveAurasWithMechanic (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 RemoveAurasOnEvade ()
void RemoveAllAurasOnDeath ()
void RemoveAllAurasRequiringDeadTarget ()
void RemoveAllAurasExceptType (AuraType type)
void RemoveAllAurasExceptType (AuraType type1, AuraType type2)
void RemoveAllGroupBuffsFromCaster (ObjectGuid casterGUID)
void DelayOwnedAuras (uint32 spellId, ObjectGuid caster, int32 delaytime)
void _RemoveAllAuraStatMods ()
void _ApplyAllAuraStatMods ()
AuraEffectList const & GetAuraEffectsByType (AuraType type) const
AuraEffectListGetAuraEffectsByType (AuraType type)
AuraListGetSingleCastAuras ()
AuraList const & GetSingleCastAuras () const
AuraEffectGetAuraEffect (uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
AuraEffectGetAuraEffectOfRankedSpell (uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
AuraEffectGetAuraEffect (AuraType type, SpellFamilyNames family, flag128 const &familyFlag, ObjectGuid casterGUID=ObjectGuid::Empty) const
AuraApplicationGetAuraApplication (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraApplication *except=nullptr) const
AuraApplicationGetAuraApplication (uint32 spellId, std::function< bool(AuraApplication const *)> const &predicate) const
AuraApplicationGetAuraApplication (uint32 spellId, std::function< bool(Aura const *)> const &predicate) const
AuraApplicationGetAuraApplication (std::function< bool(AuraApplication const *)> const &predicate) const
AuraApplicationGetAuraApplication (std::function< bool(Aura const *)> const &predicate) const
AuraGetAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
AuraGetAura (uint32 spellId, std::function< bool(Aura const *)> const &predicate) const
AuraGetAura (std::function< bool(Aura const *)> const &predicate) const
AuraApplicationGetAuraApplicationOfRankedSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraApplication *except=nullptr) const
AuraGetAuraOfRankedSpell (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void GetDispellableAuraList (WorldObject const *caster, uint32 dispelMask, DispelChargesList &dispelList, bool isReflect=false) const
bool HasAuraEffect (uint32 spellId, uint8 effIndex, ObjectGuid caster=ObjectGuid::Empty) const
uint32 GetAuraCount (uint32 spellId) const
bool HasAura (uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
bool HasAura (std::function< bool(Aura const *)> const &predicate) const
bool HasAuraType (AuraType auraType) const
bool HasAuraTypeWithCaster (AuraType auraType, ObjectGuid caster) const
bool HasAuraTypeWithMiscvalue (AuraType auraType, int32 miscValue) const
bool HasAuraTypeWithAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
bool HasAuraTypeWithValue (AuraType auraType, int32 value) const
bool HasAuraTypeWithTriggerSpell (AuraType auratype, uint32 triggerSpell) const
template<typename InterruptFlags >
bool HasNegativeAuraWithInterruptFlag (InterruptFlags flag, ObjectGuid guid=ObjectGuid::Empty) const
bool HasAuraWithMechanic (uint32 mechanicMask) const
bool HasStrongerAuraWithDR (SpellInfo const *auraSpellInfo, Unit *caster) const
AuraEffectIsScriptOverriden (SpellInfo const *spell, int32 script) const
uint32 GetDiseasesByCaster (ObjectGuid casterGUID, bool remove=false)
uint32 GetDoTsByCaster (ObjectGuid casterGUID) const
int32 GetTotalAuraModifier (AuraType auraType) const
float GetTotalAuraMultiplier (AuraType auraType) const
int32 GetMaxPositiveAuraModifier (AuraType auraType) const
int32 GetMaxNegativeAuraModifier (AuraType auraType) const
int32 GetTotalAuraModifier (AuraType auraType, std::function< bool(AuraEffect const *)> const &predicate) const
float GetTotalAuraMultiplier (AuraType auraType, std::function< bool(AuraEffect const *)> const &predicate) const
int32 GetMaxPositiveAuraModifier (AuraType auraType, std::function< bool(AuraEffect const *)> const &predicate) const
int32 GetMaxNegativeAuraModifier (AuraType auraType, std::function< bool(AuraEffect const *)> const &predicate) const
int32 GetTotalAuraModifierByMiscMask (AuraType auraType, uint32 misc_mask) const
float GetTotalAuraMultiplierByMiscMask (AuraType auraType, uint32 misc_mask) const
int32 GetMaxPositiveAuraModifierByMiscMask (AuraType auraType, uint32 misc_mask, AuraEffect const *except=nullptr) const
int32 GetMaxNegativeAuraModifierByMiscMask (AuraType auraType, uint32 misc_mask) const
int32 GetTotalAuraModifierByMiscValue (AuraType auraType, int32 misc_value) const
float GetTotalAuraMultiplierByMiscValue (AuraType auraType, int32 misc_value) const
int32 GetMaxPositiveAuraModifierByMiscValue (AuraType auraType, int32 misc_value) const
int32 GetMaxNegativeAuraModifierByMiscValue (AuraType auraType, int32 misc_value) const
int32 GetTotalAuraModifierByAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
float GetTotalAuraMultiplierByAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
int32 GetMaxPositiveAuraModifierByAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
int32 GetMaxNegativeAuraModifierByAffectMask (AuraType auraType, SpellInfo const *affectedSpell) const
void InitStatBuffMods ()
void UpdateStatBuffMod (Stats stat)
void UpdateStatBuffModForClient (Stats stat)
void SetCreateStat (Stats stat, float val)
void SetCreateHealth (uint32 val)
uint32 GetCreateHealth () const
void SetCreateMana (uint32 val)
uint32 GetCreateMana () const
int32 GetCreatePowerValue (Powers power) const
float GetPosStat (Stats stat) const
float GetNegStat (Stats stat) const
float GetCreateStat (Stats stat) const
uint32 GetChannelSpellId () const
void SetChannelSpellId (uint32 channelSpellId)
uint32 GetChannelSpellXSpellVisualId () const
uint32 GetChannelScriptVisualId () const
void SetChannelVisual (SpellCastVisual channelVisual)
void AddChannelObject (ObjectGuid guid)
void SetChannelObject (uint32 slot, ObjectGuid guid)
void RemoveChannelObject (ObjectGuid guid)
void ClearChannelObjects ()
void SetCurrentCastSpell (Spell *pSpell)
void InterruptSpell (CurrentSpellTypes spellType, bool withDelayed=true, bool withInstant=true)
void FinishSpell (CurrentSpellTypes spellType, 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)
SpellGetCurrentSpell (CurrentSpellTypes spellType) const
SpellGetCurrentSpell (uint32 spellType) const
SpellFindCurrentSpellBySpellId (uint32 spell_id) const
int32 GetCurrentSpellCastTime (uint32 spell_id) const
uint32 GetCastSpellXSpellVisualId (SpellInfo const *spellInfo) const override
virtual bool HasSpellFocus (Spell const *=nullptr) const
virtual bool IsMovementPreventedByCasting () const
bool CanCastSpellWhileMoving (SpellInfo const *spellInfo) const
SpellHistoryGetSpellHistory ()
SpellHistory const * GetSpellHistory () const
ShapeshiftForm GetShapeshiftForm () const
void SetShapeshiftForm (ShapeshiftForm form)
bool IsInFeralForm () const
bool IsInDisallowedMountForm () const
bool IsDisallowedMountForm (uint32 spellId, ShapeshiftForm form, uint32 displayId) const
void HandleStatFlatModifier (UnitMods unitMod, UnitModifierFlatType modifierType, float amount, bool apply)
void ApplyStatPctModifier (UnitMods unitMod, UnitModifierPctType modifierType, float amount)
void SetStatFlatModifier (UnitMods unitMod, UnitModifierFlatType modifierType, float val)
void SetStatPctModifier (UnitMods unitMod, UnitModifierPctType modifierType, float val)
float GetFlatModifierValue (UnitMods unitMod, UnitModifierFlatType modifierType) const
float GetPctModifierValue (UnitMods unitMod, UnitModifierPctType modifierType) const
void UpdateUnitMod (UnitMods unitMod)
void UpdateAllDamageDoneMods ()
void UpdateDamagePctDoneMods (WeaponAttackType attackType)
void UpdateAllDamagePctDoneMods ()
float GetTotalStatValue (Stats stat) const
float GetTotalAuraModValue (UnitMods unitMod) const
SpellSchools GetSpellSchoolByAuraGroup (UnitMods unitMod) const
Stats GetStatByAuraGroup (UnitMods unitMod) const
bool CanModifyStats () const
void SetCanModifyStats (bool modifyStats)
virtual void UpdateAllResistances ()
void SetAttackPower (int32 attackPower)
void SetAttackPowerModPos (int32 attackPowerMod)
void SetAttackPowerModNeg (int32 attackPowerMod)
void SetAttackPowerMultiplier (float attackPowerMult)
void SetRangedAttackPower (int32 attackPower)
void SetRangedAttackPowerModPos (int32 attackPowerMod)
void SetRangedAttackPowerModNeg (int32 attackPowerMod)
void SetRangedAttackPowerMultiplier (float attackPowerMult)
void SetMainHandWeaponAttackPower (int32 attackPower)
void SetOffHandWeaponAttackPower (int32 attackPower)
void SetRangedWeaponAttackPower (int32 attackPower)
virtual void UpdateDamagePhysical (WeaponAttackType attType)
float GetTotalAttackPowerValue (WeaponAttackType attType, bool includeWeapon=true) const
float GetWeaponDamageRange (WeaponAttackType attType, WeaponDamageRange type) const
void SetBaseWeaponDamage (WeaponAttackType attType, WeaponDamageRange damageRange, float value)
uint32 CalculateDamage (WeaponAttackType attType, bool normalized, bool addTotalPct) const
float GetAPMultiplier (WeaponAttackType attType, bool normalized) const
bool isInFrontInMap (Unit const *target, float distance, float arc=float(M_PI)) const
bool isInBackInMap (Unit const *target, float distance, float arc=float(M_PI)) const
bool IsVisible () const
void SetVisible (bool x)
void UpdateObjectVisibility (bool forced=true) override
VisibleAuraContainer const & GetVisibleAuras () const
bool HasVisibleAura (AuraApplication *aurApp) const
void SetVisibleAura (AuraApplication *aurApp)
void SetVisibleAuraUpdate (AuraApplication *aurApp)
void RemoveVisibleAura (AuraApplication *aurApp)
bool HasInterruptFlag (SpellAuraInterruptFlags flags) const
bool HasInterruptFlag (SpellAuraInterruptFlags2 flags) const
void AddInterruptMask (SpellAuraInterruptFlags flags, SpellAuraInterruptFlags2 flags2)
void UpdateInterruptMask ()
virtual float GetNativeObjectScale () const
virtual void RecalculateObjectScale ()
uint32 GetDisplayId () const
virtual void SetDisplayId (uint32 modelId, float displayScale=1.f)
uint32 GetNativeDisplayId () const
float GetNativeDisplayScale () const
void RestoreDisplayId (bool ignorePositiveAurasPreventingMounting=false)
void SetNativeDisplayId (uint32 displayId, float displayScale=1.f)
void SetTransformSpell (uint32 spellid)
uint32 GetTransformSpell () const
void _RegisterDynObject (DynamicObject *dynObj)
void _UnregisterDynObject (DynamicObject *dynObj)
DynamicObjectGetDynObject (uint32 spellId) const
std::vector< DynamicObject * > GetDynObjects (uint32 spellId) const
void RemoveDynObject (uint32 spellId)
void RemoveAllDynObjects ()
GameObjectGetGameObject (uint32 spellId) const
std::vector< GameObject * > GetGameObjects (uint32 spellId) const
void AddGameObject (GameObject *gameObj)
void RemoveGameObject (GameObject *gameObj, bool del)
void RemoveGameObject (uint32 spellid, bool del)
void RemoveAllGameObjects ()
void _RegisterAreaTrigger (AreaTrigger *areaTrigger)
void _UnregisterAreaTrigger (AreaTrigger *areaTrigger)
AreaTriggerGetAreaTrigger (uint32 spellId) const
std::vector< AreaTrigger * > GetAreaTriggers (uint32 spellId) const
void RemoveAreaTrigger (uint32 spellId)
void RemoveAreaTrigger (AuraEffect const *aurEff)
void RemoveAllAreaTriggers ()
void ModifyAuraState (AuraStateType flag, bool apply)
uint32 BuildAuraStateUpdateForTarget (Unit const *target) const
bool HasAuraState (AuraStateType flag, SpellInfo const *spellProto=nullptr, Unit const *Caster=nullptr) const
void UnsummonAllTotems ()
bool IsMagnet () const
UnitGetMeleeHitRedirectTarget (Unit *victim, SpellInfo const *spellInfo=nullptr)
int32 SpellBaseDamageBonusDone (SpellSchoolMask schoolMask) const
uint32 SpellDamageBonusDone (Unit *victim, SpellInfo const *spellProto, uint32 pdamage, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo, uint32 stack=1) const
float SpellDamagePctDone (Unit *victim, SpellInfo const *spellProto, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo) const
uint32 SpellDamageBonusTaken (Unit *caster, SpellInfo const *spellProto, uint32 pdamage, DamageEffectType damagetype) const
int32 SpellBaseHealingBonusDone (SpellSchoolMask schoolMask) const
uint32 SpellHealingBonusDone (Unit *victim, SpellInfo const *spellProto, uint32 healamount, DamageEffectType damagetype, SpellEffectInfo const &spellEffectInfo, uint32 stack=1) const
float SpellHealingPctDone (Unit *victim, SpellInfo const *spellProto) const
uint32 SpellHealingBonusTaken (Unit *caster, SpellInfo const *spellProto, uint32 healamount, DamageEffectType damagetype) const
uint32 MeleeDamageBonusDone (Unit *pVictim, uint32 damage, WeaponAttackType attType, DamageEffectType damagetype, SpellInfo const *spellProto=nullptr, SpellEffectInfo const *spellEffectInfo=nullptr, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL)
uint32 MeleeDamageBonusTaken (Unit *attacker, uint32 pdamage, WeaponAttackType attType, DamageEffectType damagetype, SpellInfo const *spellProto=nullptr, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL)
bool isSpellBlocked (Unit *victim, SpellInfo const *spellProto, WeaponAttackType attackType=BASE_ATTACK)
bool isBlockCritical ()
float SpellCritChanceDone (Spell *spell, AuraEffect const *aurEff, SpellSchoolMask schoolMask, WeaponAttackType attackType=BASE_ATTACK) const
float SpellCritChanceTaken (Unit const *caster, Spell *spell, AuraEffect const *aurEff, SpellSchoolMask schoolMask, float doneChance, WeaponAttackType attackType=BASE_ATTACK) const
void ApplySpellImmune (uint32 spellId, uint32 op, uint32 type, bool apply)
bool IsImmunedToSpell (SpellInfo const *spellInfo, WorldObject const *caster) const
uint32 GetSchoolImmunityMask () const
uint32 GetDamageImmunityMask () const
uint32 GetMechanicImmunityMask () const
bool IsImmunedToDamage (SpellSchoolMask meleeSchoolMask) const
bool IsImmunedToDamage (SpellInfo const *spellInfo) const
void UpdateSpeed (UnitMoveType mtype)
float GetSpeed (UnitMoveType mtype) const
float GetSpeedRate (UnitMoveType mtype) const
void SetSpeed (UnitMoveType mtype, float newValue)
void SetSpeedRate (UnitMoveType mtype, float rate)
void FollowerAdded (AbstractFollower *f)
void FollowerRemoved (AbstractFollower *f)
void RemoveAllFollowers ()
MotionMasterGetMotionMaster ()
MotionMaster const * GetMotionMaster () const
virtual MovementGeneratorType GetDefaultMovementType () const
bool IsStopped () const
void StopMoving ()
void PauseMovement (uint32 timer=0, uint8 slot=0, bool forced=true)
void ResumeMovement (uint32 timer=0, uint8 slot=0)
void AddUnitMovementFlag (uint32 f)
void RemoveUnitMovementFlag (uint32 f)
bool HasUnitMovementFlag (uint32 f) const
uint32 GetUnitMovementFlags () const
void SetUnitMovementFlags (uint32 f)
void AddExtraUnitMovementFlag (uint32 f)
void RemoveExtraUnitMovementFlag (uint32 f)
bool HasExtraUnitMovementFlag (uint32 f) const
uint32 GetExtraUnitMovementFlags () const
void SetExtraUnitMovementFlags (uint32 f)
void AddExtraUnitMovementFlag2 (uint32 f)
void RemoveExtraUnitMovementFlag2 (uint32 f)
bool HasExtraUnitMovementFlag2 (uint32 f) const
uint32 GetExtraUnitMovementFlags2 () const
void SetExtraUnitMovementFlags2 (uint32 f)
bool IsSplineEnabled () const
void SetControlled (bool apply, UnitState state)
void ApplyControlStatesIfNeeded ()
uint32 GetComboPoints () const
 --------—Combo point system----------------— More...
void AddComboPoints (int8 count, Spell *spell=nullptr)
void GainSpellComboPoints (int8 count)
void ClearComboPoints ()
void SendPetActionFeedback (PetActionFeedback msg, uint32 spellId)
 -------—Pet responses methods--------------— More...
void SendPetTalk (uint32 pettalk)
void SendPetAIReaction (ObjectGuid guid)
void PropagateSpeedChange ()
 -------—End of Pet responses methods-------— More...
void ClearAllReactives ()
void StartReactiveTimer (ReactiveType reactive)
void UpdateReactives (uint32 p_time)
void UpdateAuraForGroup ()
bool CanProc () const
void SetCantProc (bool apply)
uint32 GetModelForForm (ShapeshiftForm form, uint32 spellId) const
bool CreateVehicleKit (uint32 id, uint32 creatureEntry, bool loading=false)
void RemoveVehicleKit (bool onRemoveFromWorld=false)
VehicleGetVehicleKit () const
VehicleGetVehicle () const
void SetVehicle (Vehicle *vehicle)
bool IsOnVehicle (Unit const *vehicle) const
UnitGetVehicleBase () const
UnitGetVehicleRoot () const
CreatureGetVehicleCreatureBase () const
ObjectGuid GetTransGUID () const override
TransportBaseGetDirectTransport () const
 Returns the transport this unit is on directly (if on vehicle and transport, return vehicle) More...
void HandleSpellClick (Unit *clicker, int8 seatId=-1)
void EnterVehicle (Unit *base, int8 seatId=-1)
virtual void ExitVehicle (Position const *exitPosition=nullptr)
void ChangeSeat (int8 seatId, bool next=true)
void _ExitVehicle (Position const *exitPosition=nullptr)
void _EnterVehicle (Vehicle *vehicle, int8 seatId, AuraApplication const *aurApp=nullptr)
bool isMoving () const
bool isTurning () const
bool IsFlying () const
bool IsFalling () const
virtual bool CanSwim () const
float GetHoverOffset () const
void RewardRage (uint32 baseRage)
virtual float GetFollowAngle () const
void OutDebugInfo () const
bool IsDuringRemoveFromWorld () const
PetToPet ()
Pet const * ToPet () const
TotemToTotem ()
Totem const * ToTotem () const
TempSummonToTempSummon ()
TempSummon const * ToTempSummon () const
ObjectGuid GetTarget () const
void SetInstantCast (bool set)
bool CanInstantCast () const
int32 GetHighestExclusiveSameEffectSpellGroupValue (AuraEffect const *aurEff, AuraType auraType, bool checkMiscValue=false, int32 miscValue=0) const
bool IsHighestExclusiveAura (Aura const *aura, bool removeOtherAuraApplications=false)
bool IsHighestExclusiveAuraEffect (SpellInfo const *spellInfo, AuraType auraType, int32 effectAmount, uint32 auraEffectMask, bool removeOtherAuraApplications=false)
virtual void Talk (std::string_view text, ChatMsg msgType, Language language, float textRange, WorldObject const *target)
virtual void Talk (uint32 textId, ChatMsg msgType, float textRange, WorldObject const *target)
float GetCollisionHeight () const override
uint32 GetVirtualItemId (uint32 slot) const
uint16 GetVirtualItemAppearanceMod (uint32 slot) const
void SetVirtualItem (uint32 slot, uint32 itemId, uint16 appearanceModId=0, uint16 itemVisual=0)
bool IsCombatDisallowed () const
void SetIsCombatDisallowed (bool apply)
std::string GetDebugInfo () const override
void BuildValuesUpdateWithFlag (ByteBuffer *data, UF::UpdateFieldFlag flags, Player const *target) const override
void BuildValuesUpdateForPlayerWithMask (UpdateData *data, UF::ObjectData::Mask const &requestedObjectMask, UF::UnitData::Mask const &requestedUnitMask, Player const *target) const
- Public Member Functions inherited from WorldObject
virtual ~WorldObject ()
void GetNearPoint2D (WorldObject const *searcher, float &x, float &y, float distance, float absAngle) const
void GetNearPoint (WorldObject const *searcher, float &x, float &y, float &z, float distance2d, float absAngle) const
void GetClosePoint (float &x, float &y, float &z, float size, float distance2d=0, float relAngle=0) 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 dist, float angle)
Position GetRandomNearPosition (float radius)
void GetContactPoint (WorldObject const *obj, float &x, float &y, float &z, float distance2d=CONTACT_DISTANCE) const
void UpdateGroundPositionZ (float x, float y, float &z) const
void UpdateAllowedPositionZ (float x, float y, float &z, float *groundZ=nullptr) const
void GetRandomPoint (Position const &srcPos, float distance, float &rand_x, float &rand_y, float &rand_z) const
Position GetRandomPoint (Position const &srcPos, float distance) const
uint32 GetInstanceId () const
bool IsInPhase (WorldObject const *obj) const
PhaseShiftGetPhaseShift ()
PhaseShift const & GetPhaseShift () const
PhaseShiftGetSuppressedPhaseShift ()
PhaseShift const & GetSuppressedPhaseShift () const
int32 GetDBPhase () const
void SetDBPhase (int32 p)
uint32 GetZoneId () const
uint32 GetAreaId () const
void GetZoneAndAreaId (uint32 &zoneid, uint32 &areaid) const
bool IsInWorldPvpZone () const
bool IsOutdoors () const
ZLiquidStatus GetLiquidStatus () const
InstanceScriptGetInstanceScript () const
std::string const & GetName () const
void SetName (std::string newname)
std::string GetNameForLocaleIdx (LocaleConstant) const override
float GetDistance (WorldObject const *obj) const
float GetDistance (Position const &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 (Position const *pos, float dist) const
bool IsWithinDist2d (float x, float y, float dist) const
bool IsWithinDist2d (Position const *pos, float dist) const
bool IsWithinDist (WorldObject const *obj, float dist2compare, bool is3D=true) const
bool IsWithinDistInMap (WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
bool IsWithinLOS (float x, float y, float z, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing) const
bool IsWithinLOSInMap (WorldObject const *obj, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing) const
Position GetHitSpherePointFor (Position const &dest) const
void GetHitSpherePointFor (Position const &dest, float &x, float &y, float &z) 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=float(M_PI)) const
bool isInBack (WorldObject const *target, float arc=float(M_PI)) const
bool IsInBetween (Position const &pos1, Position const &pos2, float size=0) const
bool IsInBetween (WorldObject const *obj1, WorldObject const *obj2, float size=0) const
void SendCombatLogMessage (WorldPackets::CombatLog::CombatLogServerPacket *combatLog) const
void PlayDistanceSound (uint32 soundId, Player *target=nullptr)
void PlayDirectSound (uint32 soundId, Player *target=nullptr, uint32 broadcastTextId=0)
void PlayDirectMusic (uint32 musicId, Player *target=nullptr)
void AddObjectToRemoveList ()
float GetGridActivationRange () const
float GetVisibilityRange () const
float GetSightRange (WorldObject const *target=nullptr) const
bool CanSeeOrDetect (WorldObject const *obj, bool ignoreStealth=false, bool distanceCheck=false, bool checkAlert=false) const
MapGetMap () const
MapFindMap () const
void SetZoneScript ()
ZoneScriptFindZoneScript () const
ZoneScriptGetZoneScript () const
ScenarioGetScenario () const
TempSummonSummonCreature (uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
TempSummonSummonCreature (uint32 entry, float x, float y, float z, float o=0, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
TempSummonSummonPersonalClone (Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, Player *privateObjectOwner=nullptr)
GameObjectSummonGameObject (uint32 entry, Position const &pos, QuaternionData const &rot, Seconds respawnTime, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
GameObjectSummonGameObject (uint32 entry, float x, float y, float z, float ang, QuaternionData const &rot, Seconds respawnTime, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
CreatureSummonTrigger (float x, float y, float z, float ang, Milliseconds despawnTime, 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 spawnedOnly=true) const
GameObjectFindNearestUnspawnedGameObject (uint32 entry, float range) const
GameObjectFindNearestGameObjectOfType (GameobjectTypes type, float range) const
PlayerSelectNearestPlayer (float distance) const
ObjectGuid GetCharmerOrOwnerOrOwnGUID () const
UnitGetOwner () const
UnitGetCharmerOrOwner () const
UnitGetCharmerOrOwnerOrSelf () const
PlayerGetCharmerOrOwnerPlayerOrPlayerItself () const
PlayerGetAffectingPlayer () const
PlayerGetSpellModOwner () const
int32 CalculateSpellDamage (Unit const *target, SpellEffectInfo const &spellEffectInfo, int32 const *basePoints=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
float GetSpellMaxRangeForTarget (Unit const *target, SpellInfo const *spellInfo) const
float GetSpellMinRangeForTarget (Unit const *target, SpellInfo const *spellInfo) const
float ApplyEffectModifiers (SpellInfo const *spellInfo, uint8 effIndex, float value) const
int32 CalcSpellDuration (SpellInfo const *spellInfo) const
int32 ModSpellDuration (SpellInfo const *spellInfo, WorldObject const *target, int32 duration, bool positive, uint32 effectMask) const
void ModSpellCastTime (SpellInfo const *spellInfo, int32 &castTime, Spell *spell=nullptr) const
void ModSpellDurationTime (SpellInfo const *spellInfo, int32 &durationTime, Spell *spell=nullptr) const
SpellMissInfo MagicSpellHitResult (Unit *victim, SpellInfo const *spellInfo) const
SpellMissInfo SpellHitResult (Unit *victim, SpellInfo const *spellInfo, bool canReflect=false) const
void SendSpellMiss (Unit *target, uint32 spellID, SpellMissInfo missInfo)
FactionTemplateEntry const * GetFactionTemplateEntry () const
ReputationRank GetReactionTo (WorldObject const *target) const
bool IsHostileTo (WorldObject const *target) const
bool IsHostileToPlayers () const
bool IsFriendlyTo (WorldObject const *target) const
bool IsNeutralToAll () const
SpellCastResult CastSpell (CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void SendPlayOrphanSpellVisual (ObjectGuid const &target, uint32 spellVisualId, float travelSpeed, bool speedAsTime=false, bool withSourceOrientation=false)
void SendPlayOrphanSpellVisual (Position const &targetLocation, uint32 spellVisualId, float travelSpeed, bool speedAsTime=false, bool withSourceOrientation=false)
void SendCancelOrphanSpellVisual (uint32 id)
void SendPlaySpellVisual (WorldObject *target, uint32 spellVisualId, uint16 missReason, uint16 reflectStatus, float travelSpeed, bool speedAsTime=false)
void SendPlaySpellVisual (Position const &targetPosition, float o, uint32 spellVisualId, uint16 missReason, uint16 reflectStatus, float travelSpeed, bool speedAsTime=false)
void SendCancelSpellVisual (uint32 id)
void SendPlaySpellVisualKit (uint32 id, uint32 type, uint32 duration) const
void SendCancelSpellVisualKit (uint32 id)
bool IsValidAttackTarget (WorldObject const *target, SpellInfo const *bySpell=nullptr) const
bool IsValidAssistTarget (WorldObject const *target, SpellInfo const *bySpell=nullptr) const
UnitGetMagicHitRedirectTarget (Unit *victim, SpellInfo const *spellInfo)
template<typename Container >
void GetGameObjectListWithEntryInGrid (Container &gameObjectContainer, uint32 entry, float maxSearchRange=250.0f) const
template<typename Container >
void GetCreatureListWithEntryInGrid (Container &creatureContainer, uint32 entry, float maxSearchRange=250.0f) const
template<typename Container >
void GetPlayerListInGrid (Container &playerContainer, float maxSearchRange, bool alive=true) const
void DestroyForNearbyPlayers ()
virtual void UpdateObjectVisibilityOnCreate ()
virtual void UpdateObjectVisibilityOnDestroy ()
void UpdatePositionData ()
void BuildUpdate (UpdateDataMapType &) override
bool AddToObjectUpdate () override
void RemoveFromObjectUpdate () override
void AddToNotify (uint16 f)
bool isNeedNotify (uint16 f) const
uint16 GetNotifyFlags () const
void ResetAllNotifies ()
bool isActiveObject () const
void setActive (bool isActiveObject)
bool IsFarVisible () const
void SetFarVisible (bool on)
bool IsVisibilityOverridden () const
void SetVisibilityDistanceOverride (VisibilityDistanceType type)
void SetWorldObject (bool apply)
bool IsPermanentWorldObject () const
bool IsWorldObject () const
TransportBaseGetTransport () const
float GetTransOffsetX () const
float GetTransOffsetY () const
float GetTransOffsetZ () const
float GetTransOffsetO () const
Position const & GetTransOffset () const
uint32 GetTransTime () const
int8 GetTransSeat () const
void SetTransport (TransportBase *t)
virtual float GetStationaryX () const
virtual float GetStationaryY () const
virtual float GetStationaryZ () const
virtual float GetStationaryO () const
float GetFloorZ () 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
bool IsPrivateObject () const
ObjectGuid GetPrivateObjectOwner () const
void SetPrivateObjectOwner (ObjectGuid const &owner)
bool CheckPrivateObjectOwnerVisibility (WorldObject const *seer) const
SmoothPhasingGetOrCreateSmoothPhasing ()
SmoothPhasingGetSmoothPhasing ()
SmoothPhasing const * GetSmoothPhasing () const
- Public Member Functions inherited from Object
virtual ~Object ()
bool IsInWorld () const
ObjectGuid const & GetGUID () const
uint32 GetEntry () const
void SetEntry (uint32 entry)
float GetObjectScale () const
uint32 GetDynamicFlags () const
bool HasDynamicFlag (uint32 flag) const
void SetDynamicFlag (uint32 flag)
void RemoveDynamicFlag (uint32 flag)
void ReplaceAllDynamicFlags (uint32 flag)
TypeID GetTypeId () const
bool isType (uint16 mask) const
void SendUpdateToPlayer (Player *player)
void BuildValuesUpdateBlockForPlayer (UpdateData *data, Player const *target) const
void BuildValuesUpdateBlockForPlayerWithFlag (UpdateData *data, UF::UpdateFieldFlag flags, Player const *target) const
void BuildDestroyUpdateBlock (UpdateData *data) const
void BuildOutOfRangeUpdateBlock (UpdateData *data) const
ByteBuffer PrepareValuesUpdateBuffer () const
void SendOutOfRangeForPlayer (Player *target) const
virtual bool hasQuest (uint32) const
virtual bool hasInvolvedQuest (uint32) const
void SetIsNewObject (bool enable)
bool IsDestroyedObject () const
void SetDestroyedObject (bool destroyed)
void BuildFieldsUpdate (Player *, UpdateDataMapType &) const
bool IsPlayer () const
PlayerToPlayer ()
Player const * ToPlayer () const
bool IsCreature () const
CreatureToCreature ()
Creature const * ToCreature () const
bool IsUnit () const
UnitToUnit ()
Unit const * ToUnit () const
bool IsGameObject () const
GameObjectToGameObject ()
GameObject const * ToGameObject () const
bool IsCorpse () const
CorpseToCorpse ()
Corpse const * ToCorpse () const
bool IsDynObject () const
DynamicObjectToDynObject ()
DynamicObject const * ToDynObject () const
bool IsAreaTrigger () const
AreaTriggerToAreaTrigger ()
AreaTrigger const * ToAreaTrigger () const
bool IsSceneObject () const
SceneObjectToSceneObject ()
SceneObject const * ToSceneObject () const
bool IsConversation () const
ConversationToConversation ()
Conversation const * ToConversation () const
template<typename T >
void ForceUpdateFieldChange (UF::UpdateFieldSetter< T > const &)
- Public Member Functions inherited from WorldLocation
 WorldLocation (uint32 mapId=MAPID_INVALID, float x=0.f, float y=0.f, float z=0.f, float o=0.f)
 WorldLocation (uint32 mapId, Position const &position)
void WorldRelocate (WorldLocation const &loc)
void WorldRelocate (WorldLocation const *loc)
void WorldRelocate (uint32 mapId, Position const &pos)
void WorldRelocate (uint32 mapId=MAPID_INVALID, float x=0.f, float y=0.f, float z=0.f, float o=0.f)
WorldLocation GetWorldLocation () const
uint32 GetMapId () const
std::string GetDebugInfo () const
- Public Member Functions inherited from Position
 Position (float x=0, float y=0, float z=0, float o=0)
bool operator== (Position const &a) const
bool operator!= (Position const &a) const
void Relocate (float x, float y)
void Relocate (float x, float y, float z)
void Relocate (float x, float y, float z, float o)
void Relocate (Position const &pos)
void Relocate (Position const *pos)
void RelocateOffset (Position const &offset)
void SetOrientation (float orientation)
float GetPositionX () const
float GetPositionY () const
float GetPositionZ () const
float GetOrientation () const
void GetPosition (float &x, float &y) const
void GetPosition (float &x, float &y, float &z) const
void GetPosition (float &x, float &y, float &z, float &o) const
Position GetPosition () const
Streamer< XY > PositionXYStream ()
ConstStreamer< XY > PositionXYStream () const
Streamer< XYZ > PositionXYZStream ()
ConstStreamer< XYZ > PositionXYZStream () const
Streamer< XYZO > PositionXYZOStream ()
ConstStreamer< XYZO > PositionXYZOStream () const
Streamer< PackedXYZ > PositionPackedXYZStream ()
ConstStreamer< PackedXYZ > PositionPackedXYZStream () const
bool IsPositionValid () const
float GetExactDist2dSq (const float x, const float y) const
float GetExactDist2dSq (Position const &pos) const
float GetExactDist2dSq (Position const *pos) const
float GetExactDist2d (const float x, const float y) const
float GetExactDist2d (Position const &pos) const
float GetExactDist2d (Position const *pos) const
float GetExactDistSq (float x, float y, float z) const
float GetExactDistSq (Position const &pos) const
float GetExactDistSq (Position const *pos) const
float GetExactDist (float x, float y, float z) const
float GetExactDist (Position const &pos) const
float GetExactDist (Position const *pos) const
void GetPositionOffsetTo (Position const &endPos, Position &retOffset) const
Position GetPositionWithOffset (Position const &offset) const
float GetAbsoluteAngle (float x, float y) const
float GetAbsoluteAngle (Position const &pos) const
float GetAbsoluteAngle (Position const *pos) const
float ToAbsoluteAngle (float relAngle) const
float ToRelativeAngle (float absAngle) const
float GetRelativeAngle (float x, float y) const
float GetRelativeAngle (Position const &pos) const
float GetRelativeAngle (Position const *pos) const
bool IsInDist2d (float x, float y, float dist) const
bool IsInDist2d (Position const *pos, float dist) const
bool IsInDist (float x, float y, float z, float dist) const
bool IsInDist (Position const &pos, float dist) const
bool IsInDist (Position const *pos, float dist) const
bool IsWithinBox (Position const &center, float xradius, float yradius, float zradius) const
bool IsWithinDoubleVerticalCylinder (Position const *center, float radius, float height) const
bool HasInArc (float arcangle, Position const *pos, float border=2.0f) const
bool HasInLine (Position const *pos, float objSize, float width) const
std::string ToString () const
- Public Member Functions inherited from GridObject< Player >
virtual ~GridObject ()
bool IsInGrid () const
void AddToGrid (GridRefManager< Player > &m)
void RemoveFromGrid ()

Static Public Member Functions

static WeaponAttackType GetAttackBySlot (uint8 slot, InventoryType inventoryType)
static bool IsInventoryPos (uint16 pos)
static bool IsInventoryPos (uint8 bag, uint8 slot)
static bool IsEquipmentPos (uint16 pos)
static bool IsEquipmentPos (uint8 bag, uint8 slot)
static bool IsBagPos (uint16 pos)
static bool IsBankPos (uint16 pos)
static bool IsBankPos (uint8 bag, uint8 slot)
static bool IsReagentBankPos (uint16 pos)
static bool IsReagentBankPos (uint8 bag, uint8 slot)
static bool IsChildEquipmentPos (uint16 pos)
static bool IsChildEquipmentPos (uint8 bag, uint8 slot)
- Static Public Member Functions inherited from Unit
static float CalculateAverageResistReduction (WorldObject const *caster, SpellSchoolMask schoolMask, Unit const *victim, SpellInfo const *spellInfo=nullptr)
static void DealDamageMods (Unit const *attacker, Unit const *victim, uint32 &damage, uint32 *absorb)
static uint32 DealDamage (Unit *attacker, Unit *victim, uint32 damage, CleanDamage const *cleanDamage=nullptr, DamageEffectType damagetype=DIRECT_DAMAGE, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *spellProto=nullptr, bool durabilityLoss=true)
static void Kill (Unit *attacker, Unit *victim, bool durabilityLoss=true, bool skipSettingDeathState=false)
static void DealHeal (HealInfo &healInfo)
static void ProcSkillsAndAuras (Unit *actor, Unit *actionTarget, ProcFlagsInit const &typeMaskActor, ProcFlagsInit const &typeMaskActionTarget, ProcFlagsSpellType spellTypeMask, ProcFlagsSpellPhase spellPhaseMask, ProcFlagsHit hitMask, Spell *spell, DamageInfo *damageInfo, HealInfo *healInfo)
static void ApplyResilience (Unit const *victim, int32 *damage)
static uint32 SpellCriticalDamageBonus (Unit const *caster, SpellInfo const *spellProto, uint32 damage, Unit *victim)
static uint32 SpellCriticalHealingBonus (Unit const *caster, SpellInfo const *spellProto, uint32 damage, Unit *victim)
static bool IsDamageReducedByArmor (SpellSchoolMask damageSchoolMask, SpellInfo const *spellInfo=nullptr)
static uint32 CalcArmorReducedDamage (Unit const *attacker, Unit *victim, uint32 damage, SpellInfo const *spellInfo, WeaponAttackType attackType=MAX_ATTACK, uint8 attackerLevel=0)
static uint32 CalcSpellResistedDamage (Unit const *attacker, Unit *victim, uint32 damage, SpellSchoolMask schoolMask, SpellInfo const *spellInfo)
static void CalcAbsorbResist (DamageInfo &damageInfo, Spell *spell=nullptr)
static void CalcHealAbsorb (HealInfo &healInfo)
- Static Public Member Functions inherited from WorldObject
static bool InSamePhase (WorldObject const *a, WorldObject const *b)
static ReputationRank GetFactionReactionTo (FactionTemplateEntry const *factionTemplateEntry, WorldObject const *target)
- Static Public Member Functions inherited from Object
static ObjectGuid GetGUID (Object const *o)
static PlayerToPlayer (Object *o)
static Player const * ToPlayer (Object const *o)
static CreatureToCreature (Object *o)
static Creature const * ToCreature (Object const *o)
static UnitToUnit (Object *o)
static Unit const * ToUnit (Object const *o)
static GameObjectToGameObject (Object *o)
static GameObject const * ToGameObject (Object const *o)
static CorpseToCorpse (Object *o)
static Corpse const * ToCorpse (Object const *o)
static DynamicObjectToDynObject (Object *o)
static DynamicObject const * ToDynObject (Object const *o)
static AreaTriggerToAreaTrigger (Object *o)
static AreaTrigger const * ToAreaTrigger (Object const *o)
static SceneObjectToSceneObject (Object *o)
static SceneObject const * ToSceneObject (Object const *o)
static ConversationToConversation (Object *o)
static Conversation const * ToConversation (Object const *o)
- Static Public Member Functions inherited from Position
static float NormalizeOrientation (float o)

Public Attributes

std::string autoReplyMsg
PlayerTaxi m_taxi
time_t m_logintime
time_t m_Last_tick
uint32 m_Played_time [MAX_PLAYED_TIME_INDEX]
std::unordered_set< PetAura const * > m_petAuras
- Public Attributes inherited from Unit
bool m_canDualWield
ControlList m_Controlled
ObjectGuid m_SummonSlot [MAX_SUMMON_SLOT]
ObjectGuid m_ObjectSlot [MAX_GAMEOBJECT_SLOT]
float m_modMeleeHitChance
float m_modRangedHitChance
float m_modSpellHitChance
int32 m_baseSpellCritChance
uint32 m_baseAttackSpeed [MAX_ATTACK]
float m_modAttackSpeedPct [MAX_ATTACK]
uint32 m_attackTimer [MAX_ATTACK]
SpellImmuneContainer m_spellImmune [MAX_SPELL_IMMUNITY]
uint32 m_lastSanctuaryTime
ObjectGuid LastCharmerGUID
UF::UpdateField< UF::UnitData, 0, TYPEID_UNITm_unitData
- Public Attributes inherited from WorldObject
FlaggedValuesArray32< int32, uint32, StealthType, TOTAL_STEALTH_TYPESm_stealth
FlaggedValuesArray32< int32, uint32, StealthType, TOTAL_STEALTH_TYPESm_stealthDetect
FlaggedValuesArray32< int32, uint32, InvisibilityType, TOTAL_INVISIBILITY_TYPESm_invisibility
FlaggedValuesArray32< int32, uint32, InvisibilityType, TOTAL_INVISIBILITY_TYPESm_invisibilityDetect
FlaggedValuesArray32< int32, uint32, ServerSideVisibilityType, TOTAL_SERVERSIDE_VISIBILITY_TYPESm_serverSideVisibility
FlaggedValuesArray32< int32, uint32, ServerSideVisibilityType, TOTAL_SERVERSIDE_VISIBILITY_TYPESm_serverSideVisibilityDetect
uint32 LastUsedScriptID
MovementInfo m_movementInfo
EventProcessor m_Events
- Public Attributes inherited from Object
UF::UpdateFieldHolder m_values
UF::UpdateField< UF::ObjectData, 0, TYPEID_OBJECTm_objectData
- Public Attributes inherited from WorldLocation
uint32 m_mapId
- Public Attributes inherited from Position
float m_positionX
float m_positionY
float m_positionZ


class WorldSession
class CinematicMgr
class RestMgr
void AddItemToUpdateQueueOf (Item *item, Player *player)
void RemoveItemFromUpdateQueueOf (Item *item, Player *player)


Change specific currency and send result to client

idcurrency entry from CurrencyTypes.dbc
countinteger value for adding/removing curent currency
printLogused on SMSG_SET_CURRENCY
ignoregain multipliers
typedef std::unordered_map< ObjectGuid::LowType, Item * > ItemMap
typedef std::list< Channel * > JoinedChannelsList
typedef std::set< uint32DFQuestsDoneList
typedef std::unordered_map< Difficulty, std::unordered_map< uint32, InstancePlayerBind > > BoundInstancesMap
typedef std::set< uint32QuestSet
typedef std::set< uint32SeasonalQuestSet
typedef std::unordered_map< uint32, SeasonalQuestSetSeasonalEventQuestMap
bool m_mailsUpdated
uint8 unReadMails
time_t m_nextMailDelivereTime
ItemMap mMitems
PvPInfo pvpInfo
std::unique_ptr< DuelInfoduel
std::vector< ItemSetEffect * > ItemSetEff
WorldLocation m_homebind
uint16 m_homebindAreaId
GuidUnorderedSet m_clientGUIDs
GuidUnorderedSet m_visibleTransports
uint8 m_forced_speed_changes [MAX_MOVE_TYPE]
uint8 m_movementForceModMagnitudeChanges
DFQuestsDoneList m_DFQuests
uint32 m_HomebindTimer
bool m_InstanceValid
BoundInstancesMap m_boundInstances
bool isDebugAreaTriggers
UF::UpdateField< UF::PlayerData, 0, TYPEID_PLAYERm_playerData
UF::UpdateField< UF::ActivePlayerData, 0, TYPEID_ACTIVE_PLAYERm_activePlayerData
GuidList WhisperList
uint32 m_combatExitTime
uint32 m_regenTimerCount
uint32 m_foodEmoteTimerCount
float m_powerFraction [MAX_POWERS_PER_CLASS]
uint32 m_contestedPvPTimer
BgBattlegroundQueueID_Rec m_bgBattlegroundQueueID [PLAYER_MAX_BATTLEGROUND_QUEUES]
BGData m_bgData
bool m_IsBGRandomWinner
QuestSet m_timedquests
QuestSet m_weeklyquests
QuestSet m_monthlyquests
SeasonalEventQuestMap m_seasonalquests
ObjectGuid m_playerSharingQuest
uint32 m_sharedQuestId
uint32 m_ingametime
time_t m_lastHonorUpdateTime
uint32 m_team
uint32 m_nextSave
bool m_customizationsChanged
std::array< ChatFloodThrottle, ChatFloodThrottle::MAXm_chatFloodData
Difficulty m_dungeonDifficulty
Difficulty m_raidDifficulty
Difficulty m_legacyRaidDifficulty
Difficulty m_prevMapDifficulty
uint32 m_atLoginFlags
uint32 m_currentBuybackSlot
PlayerCurrenciesMap _currencyStorage
void ModifyCurrency (uint32 id, int32 count, bool printLog=true, bool ignoreMultipliers=false)
void SetInvSlot (uint32 slot, ObjectGuid guid)
void ApplyEquipCooldown (Item *pItem)
void QuickEquipItem (uint16 pos, Item *pItem)
void VisualizeItem (uint8 slot, Item *pItem)
void SetVisibleItemSlot (uint8 slot, Item *pItem)
ItemBankItem (ItemPosCountVec const &dest, Item *pItem, bool update)
void RemoveItem (uint8 bag, uint8 slot, bool update)
void MoveItemFromInventory (uint8 bag, uint8 slot, bool update)
void MoveItemToInventory (ItemPosCountVec const &dest, Item *pItem, bool update, bool in_characterInventoryDB=false)
void RemoveItemDependentAurasAndCasts (Item *pItem)
void DestroyItem (uint8 bag, uint8 slot, bool update)
uint32 DestroyItemCount (uint32 item, uint32 count, bool update, bool unequip_check=false)
void DestroyItemCount (Item *item, uint32 &count, bool update)
void DestroyConjuredItems (bool update)
void DestroyZoneLimitedItem (bool update, uint32 new_zone)
void SplitItem (uint16 src, uint16 dst, uint32 count)
void SwapItem (uint16 src, uint16 dst)
void AddItemToBuyBackSlot (Item *pItem)
void SetBuybackPrice (uint32 slot, uint32 price)
void SetBuybackTimestamp (uint32 slot, time_t timestamp)
ItemGetItemFromBuyBackSlot (uint32 slot)
void RemoveItemFromBuyBackSlot (uint32 slot, bool del)
void SendEquipError (InventoryResult msg, Item const *item1=nullptr, Item const *item2=nullptr, uint32 itemId=0) const
void SendBuyError (BuyResult msg, Creature *creature, uint32 item, uint32 param) const
void SendSellError (SellResult msg, Creature *creature, ObjectGuid guid) const
void AddWeaponProficiency (uint32 newflag)
void AddArmorProficiency (uint32 newflag)
uint32 GetWeaponProficiency () const
uint32 GetArmorProficiency () const
bool IsUseEquipedWeapon (bool mainhand) const
bool IsTwoHandUsed () const
bool IsUsingTwoHandedWeaponInOneHand () const
void SendNewItem (Item *item, uint32 quantity, bool received, bool created, bool broadcast=false)
bool BuyItemFromVendorSlot (ObjectGuid vendorguid, uint32 vendorslot, uint32 item, uint8 count, uint8 bag, uint8 slot)
bool BuyCurrencyFromVendorSlot (ObjectGuid vendorGuid, uint32 vendorSlot, uint32 currency, uint32 count)
bool _StoreOrEquipNewItem (uint32 vendorslot, uint32 item, uint8 count, uint8 bag, uint8 slot, int64 price, ItemTemplate const *pProto, Creature *pVendor, VendorItem const *crItem, bool bStore)
float GetReputationPriceDiscount (Creature const *creature) const
float GetReputationPriceDiscount (FactionTemplateEntry const *factionTemplate) const
PlayerGetTrader () const
TradeDataGetTradeData () const
void TradeCancel (bool sendback)
CinematicMgrGetCinematicMgr () const
void UpdateEnchantTime (uint32 time)
void UpdateSoulboundTradeItems ()
void AddTradeableItem (Item *item)
void RemoveTradeableItem (Item *item)
void UpdateItemDuration (uint32 time, bool realtimeonly=false)
void AddEnchantmentDurations (Item *item)
void RemoveEnchantmentDurations (Item *item)
void RemoveEnchantmentDurationsReferences (Item *item)
void RemoveArenaEnchantments (EnchantmentSlot slot)
void AddEnchantmentDuration (Item *item, EnchantmentSlot slot, uint32 duration)
void ApplyEnchantment (Item *item, EnchantmentSlot slot, bool apply, bool apply_dur=true, bool ignore_condition=false)
void ApplyEnchantment (Item *item, bool apply)
void UpdateSkillEnchantments (uint16 skill_id, uint16 curr_value, uint16 new_value)
void SendEnchantmentDurations ()
void AddItemDurations (Item *item)
void RemoveItemDurations (Item *item)
void SendItemDurations ()
void LoadCorpse (PreparedQueryResult result)
bool AddItem (uint32 itemId, uint32 count)
void PrepareGossipMenu (WorldObject *source, uint32 menuId=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)
int32 GetQuestMinLevel (Quest const *quest) const
int32 GetQuestLevel (Quest const *quest) const
void PrepareQuestMenu (ObjectGuid guid)
void SendPreparedQuest (WorldObject *source)
bool IsActiveQuest (uint32 quest_id) const
Quest const * GetNextQuest (ObjectGuid guid, Quest const *quest) const
bool CanSeeStartQuest (Quest const *quest) const
bool CanTakeQuest (Quest const *quest, bool msg) const
bool CanAddQuest (Quest const *quest, bool msg) const
bool CanCompleteQuest (uint32 quest_id, uint32 ignoredQuestObjectiveId=0)
bool CanCompleteRepeatableQuest (Quest const *quest)
bool CanRewardQuest (Quest const *quest, bool msg) const
bool CanRewardQuest (Quest const *quest, LootItemType rewardType, uint32 rewardId, bool msg) const
void AddQuestAndCheckCompletion (Quest const *quest, Object *questGiver)
void AddQuest (Quest const *quest, Object *questGiver)
void AbandonQuest (uint32 quest_id)
void CompleteQuest (uint32 quest_id)
void IncompleteQuest (uint32 quest_id)
uint32 GetQuestMoneyReward (Quest const *quest) const
uint32 GetQuestXPReward (Quest const *quest)
bool CanSelectQuestPackageItem (QuestPackageItemEntry const *questPackageItem) const
void RewardQuestPackage (uint32 questPackageId, uint32 onlyItemId=0)
void RewardQuest (Quest const *quest, LootItemType rewardType, uint32 rewardId, Object *questGiver, bool announce=true)
void SetRewardedQuest (uint32 quest_id)
void FailQuest (uint32 quest_id)
bool SatisfyQuestSkill (Quest const *qInfo, bool msg) const
bool SatisfyQuestLevel (Quest const *qInfo, bool msg) const
bool SatisfyQuestMinLevel (Quest const *qInfo, bool msg) const
bool SatisfyQuestMaxLevel (Quest const *qInfo, bool msg) const
bool SatisfyQuestLog (bool msg) const
bool SatisfyQuestDependentQuests (Quest const *qInfo, bool msg) const
bool SatisfyQuestPreviousQuest (Quest const *qInfo, bool msg) const
bool SatisfyQuestDependentPreviousQuests (Quest const *qInfo, bool msg) const
bool SatisfyQuestBreadcrumbQuest (Quest const *qInfo, bool msg) const
bool SatisfyQuestDependentBreadcrumbQuests (Quest const *qInfo, bool msg) const
bool SatisfyQuestClass (Quest const *qInfo, bool msg) const
bool SatisfyQuestRace (Quest const *qInfo, bool msg) const
bool SatisfyQuestReputation (Quest const *qInfo, bool msg) const
bool SatisfyQuestStatus (Quest const *qInfo, bool msg) const
bool SatisfyQuestConditions (Quest const *qInfo, bool msg) const
bool SatisfyQuestTimed (Quest const *qInfo, bool msg) const
bool SatisfyQuestExclusiveGroup (Quest const *qInfo, bool msg) const
bool SatisfyQuestDay (Quest const *qInfo, bool msg) const
bool SatisfyQuestWeek (Quest const *qInfo, bool msg) const
bool SatisfyQuestMonth (Quest const *qInfo, bool msg) const
bool SatisfyQuestSeasonal (Quest const *qInfo, bool msg) const
bool SatisfyQuestExpansion (Quest const *qInfo, bool msg) const
bool GiveQuestSourceItem (Quest const *quest)
bool TakeQuestSourceItem (uint32 questId, bool msg)
bool GetQuestRewardStatus (uint32 quest_id) const
QuestStatus GetQuestStatus (uint32 quest_id) const
void SetQuestStatus (uint32 questId, QuestStatus status, bool update=true)
void RemoveActiveQuest (uint32 questId, bool update=true)
void RemoveRewardedQuest (uint32 questId, bool update=true)
void SendQuestUpdate (uint32 questId)
QuestGiverStatus GetQuestDialogStatus (Object *questGiver)
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 DailyReset ()
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 GetQuestSlotEndTime (uint16 slot) const
uint32 GetQuestSlotAcceptTime (uint16 slot) const
bool GetQuestSlotObjectiveFlag (uint16 slot, int8 objectiveIndex) const
int32 GetQuestSlotObjectiveData (uint16 slot, QuestObjective const &objective) const
void SetQuestSlot (uint16 slot, uint32 quest_id)
void SetQuestSlotCounter (uint16 slot, uint8 counter, uint16 count)
void SetQuestSlotState (uint16 slot, uint32 state)
void RemoveQuestSlotState (uint16 slot, uint32 state)
void SetQuestSlotEndTime (uint16 slot, time_t endTime)
void SetQuestSlotAcceptTime (uint16 slot, time_t acceptTime)
void SetQuestSlotObjectiveFlag (uint16 slot, int8 objectiveIndex)
void RemoveQuestSlotObjectiveFlag (uint16 slot, int8 objectiveIndex)
void SetQuestCompletedBit (uint32 questBit, bool completed)
uint16 GetReqKillOrCastCurrentCount (uint32 quest_id, int32 entry) const
void AreaExploredOrEventHappens (uint32 questId)
void GroupEventHappens (uint32 questId, WorldObject const *pEventObject)
void ItemAddedQuestCheck (uint32 entry, uint32 count)
void ItemRemovedQuestCheck (uint32 entry, uint32 count)
void KilledMonster (CreatureTemplate const *cInfo, ObjectGuid guid)
void KilledMonsterCredit (uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
void KilledPlayerCredit (ObjectGuid victimGuid)
void KillCreditGO (uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
void TalkedToCreature (uint32 entry, ObjectGuid guid)
void KillCreditCriteriaTreeObjective (QuestObjective const &questObjective)
void MoneyChanged (uint64 value)
void ReputationChanged (FactionEntry const *factionEntry, int32 change)
void CurrencyChanged (uint32 currencyId, int32 change)
void UpdateQuestObjectiveProgress (QuestObjectiveType objectiveType, int32 objectId, int64 addCount, ObjectGuid victimGuid=ObjectGuid::Empty)
bool HasQuestForItem (uint32 itemId) const
bool HasQuestForGO (int32 goId) const
void UpdateVisibleGameobjectsOrSpellClicks ()
bool CanShareQuest (uint32 questId) const
int32 GetQuestObjectiveData (QuestObjective const &objective) const
void SetQuestObjectiveData (QuestObjective const &objective, int32 data)
bool IsQuestObjectiveCompletable (uint16 slot, Quest const *quest, QuestObjective const &objective) const
bool IsQuestObjectiveComplete (uint16 slot, Quest const *quest, QuestObjective const &objective) const
bool IsQuestObjectiveProgressBarComplete (uint16 slot, Quest const *quest) const
void SendQuestComplete (uint32 questId) const
void SendQuestReward (Quest const *quest, Creature const *questGiver, uint32 xp, bool hideChatMessage) const
void SendQuestFailed (uint32 questId, InventoryResult reason=EQUIP_ERR_OK) const
void SendQuestTimerFailed (uint32 questId) const
void SendCanTakeQuestResponse (QuestFailedReason reason, bool sendErrorMessage=true, std::string reasonText="") const
void SendQuestConfirmAccept (Quest const *quest, Player *receiver) const
void SendPushToPartyResponse (Player const *player, QuestPushReason reason, Quest const *quest=nullptr) const
void SendQuestUpdateAddCredit (Quest const *quest, ObjectGuid guid, QuestObjective const &obj, uint16 count) const
void SendQuestUpdateAddCreditSimple (QuestObjective const &obj) const
void SendQuestUpdateAddPlayer (Quest const *quest, uint16 newCount) const
void SendQuestGiverStatusMultiple ()
void SendDisplayToast (uint32 entry, DisplayToastType type, bool isBonusRoll, uint32 quantity, DisplayToastMethod method, uint32 questId=0, Item *item=nullptr) const
uint32 GetSharedQuestID () const
ObjectGuid GetPlayerSharingQuest () const
void SetQuestSharingInfo (ObjectGuid guid, uint32 id)
void ClearQuestSharingInfo ()
uint32 GetInGameTime () const
void SetInGameTime (uint32 time)
void AddTimedQuest (uint32 questId)
void RemoveTimedQuest (uint32 questId)
void SaveCUFProfile (uint8 id, std::nullptr_t)
void SaveCUFProfile (uint8 id, std::unique_ptr< CUFProfile > profile)

Empties a CUF profile at position 0-4

CUFProfileGetCUFProfile (uint8 id) const

Replaces a CUF profile at position 0-4

uint8 GetCUFProfilesCount () const

Retrieves a CUF profile at position 0-4

bool HasPvPForcingQuest () const
bool LoadFromDB (ObjectGuid guid, CharacterDatabaseQueryHolder const &holder)
bool IsLoading () const override
void SaveToDB (bool create=false)
void SaveToDB (LoginDatabaseTransaction loginTransaction, CharacterDatabaseTransaction trans, bool create=false)
void SaveInventoryAndGoldToDB (CharacterDatabaseTransaction trans)
void SaveGoldToDB (CharacterDatabaseTransaction trans) const
void SetBindPoint (ObjectGuid guid) const
void SendRespecWipeConfirm (ObjectGuid const &guid, uint32 cost) const
void RegenerateAll ()
void Regenerate (Powers power)
void RegenerateHealth ()
void setRegenTimerCount (uint32 time)
void setWeaponChangeTimer (uint32 time)
uint64 GetMoney () const
bool ModifyMoney (int64 amount, bool sendError=true)
bool HasEnoughMoney (uint64 amount) const
bool HasEnoughMoney (int64 amount) const
void SetMoney (uint64 value)
RewardedQuestSet const & getRewardedQuests () const
QuestStatusMapgetQuestStatusMap ()
size_t GetRewardedQuestCount () const
bool IsQuestRewarded (uint32 quest_id) const
UnitGetSelectedUnit () const
PlayerGetSelectedPlayer () const
void SetTarget (ObjectGuid const &) override
void SetSelection (ObjectGuid const &guid)
 Used for serverside target changes, does not apply to players. More...
void SendMailResult (uint32 mailId, MailResponseType mailAction, MailResponseResult mailError, uint32 equipError=0, ObjectGuid::LowType item_guid=UI64LIT(0), uint32 item_count=0) const
void SendNewMail () const
void UpdateNextMailTimeAndUnreads ()
void AddNewMailDeliverTime (time_t deliver_time)
void RemoveMail (uint32 id)
void AddMail (Mail *mail)
uint32 GetMailSize () const
MailGetMail (uint32 id)
PlayerMails const & GetMails () const
void SendItemRetrievalMail (uint32 itemEntry, uint32 count, ItemContext context)
ItemGetMItem (ObjectGuid::LowType id)
void AddMItem (Item *it)
bool RemoveMItem (ObjectGuid::LowType id)
void SendOnCancelExpectedVehicleRideAura () const
void PetSpellInitialize ()
void CharmSpellInitialize ()
void PossessSpellInitialize ()
void VehicleSpellInitialize ()
void SendRemoveControlBar () const
bool HasSpell (uint32 spell) const override
bool HasActiveSpell (uint32 spell) const
SpellInfo const * GetCastSpellInfo (SpellInfo const *spellInfo) const override
bool IsSpellFitByClassAndRace (uint32 spell_id) const
bool HandlePassiveSpellLearn (SpellInfo const *spellInfo)
void SendProficiency (ItemClass itemClass, uint32 itemSubclassMask) const
void SendKnownSpells ()
void SendUnlearnSpells ()
bool AddSpell (uint32 spellId, bool active, bool learning, bool dependent, bool disabled, bool loading=false, int32 fromSkill=0)
void LearnSpell (uint32 spell_id, bool dependent, int32 fromSkill=0, bool suppressMessaging=false)
void RemoveSpell (uint32 spell_id, bool disabled=false, bool learn_low_rank=true, bool suppressMessaging=false)
void ResetSpells (bool myClassOnly=false)
void LearnCustomSpells ()
void LearnDefaultSkills ()
void LearnDefaultSkill (SkillRaceClassInfoEntry const *rcInfo)
void LearnQuestRewardedSpells ()
void LearnQuestRewardedSpells (Quest const *quest)
void AddTemporarySpell (uint32 spellId)
void RemoveTemporarySpell (uint32 spellId)
void SetOverrideSpellsId (int32 overrideSpellsId)
void AddOverrideSpell (uint32 overridenSpellId, uint32 newSpellId)
void RemoveOverrideSpell (uint32 overridenSpellId, uint32 newSpellId)
void LearnSpecializationSpells ()
void RemoveSpecializationSpells ()
void SendSpellCategoryCooldowns () const
void AddStoredAuraTeleportLocation (uint32 spellId)
void RemoveStoredAuraTeleportLocation (uint32 spellId)
WorldLocation const * GetStoredAuraTeleportLocation (uint32 spellId) const
void SetReputation (uint32 factionentry, int32 value)
int32 GetReputation (uint32 factionentry) const
std::string GetGuildName () const
void SetLootSpecId (uint32 id)
uint32 GetLootSpecId () const
ZonePVPTypeOverride GetOverrideZonePVPType () const
void SetOverrideZonePVPType (ZonePVPTypeOverride type)
uint32 GetTalentResetCost () const
void SetTalentResetCost (uint32 cost)
time_t GetTalentResetTime () const
void SetTalentResetTime (time_t time_)
uint32 GetPrimarySpecialization () const
void SetPrimarySpecialization (uint32 spec)
uint8 GetActiveTalentGroup () const
void SetActiveTalentGroup (uint8 group)
uint32 GetDefaultSpecId () const
bool ResetTalents (bool noCost=false)
void ResetPvpTalents ()
uint32 GetNextResetTalentsCost () const
void InitTalentForLevel ()
void SendTalentsInfoData ()
TalentLearnResult LearnTalent (uint32 talentId, int32 *spellOnCooldown)
bool AddTalent (TalentEntry const *talent, uint8 spec, bool learning)
bool HasTalent (uint32 spell_id, uint8 spec) const
void RemoveTalent (TalentEntry const *talent)
void ResetTalentSpecialization ()
TalentLearnResult LearnPvpTalent (uint32 talentID, uint8 slot, int32 *spellOnCooldown)
bool AddPvpTalent (PvpTalentEntry const *talent, uint8 activeTalentGroup, uint8 slot)
void RemovePvpTalent (PvpTalentEntry const *talent, uint8 activeTalentGroup)
void TogglePvpTalents (bool enable)
bool HasPvpTalent (uint32 talentID, uint8 activeTalentGroup) const
void EnablePvpRules (bool dueToCombat=false)
void DisablePvpRules ()
bool HasPvpRulesEnabled () const
bool IsInAreaThatActivatesPvpTalents () const
bool IsAreaThatActivatesPvpTalents (uint32 areaID) const
void ActivateTalentGroup (ChrSpecializationEntry const *spec)
PlayerTalentMap const * GetTalentMap (uint8 spec) const
PlayerTalentMapGetTalentMap (uint8 spec)
PlayerPvpTalentMap const & GetPvpTalentMap (uint8 spec) const
PlayerPvpTalentMapGetPvpTalentMap (uint8 spec)
std::vector< uint32 > const & GetGlyphs (uint8 spec) const
std::vector< uint32 > & GetGlyphs (uint8 spec)
ActionButtonList const & GetActionButtons () const
void LoadActions (PreparedQueryResult result)
uint32 GetFreePrimaryProfessionPoints () const
void SetFreePrimaryProfessions (uint16 profs)
void InitPrimaryProfessions ()
PlayerSpellMap const & GetSpellMap () const
PlayerSpellMapGetSpellMap ()
void AddSpellMod (SpellModifier *mod, bool apply)
template<class T >
void GetSpellModValues (SpellInfo const *spellInfo, SpellModOp op, Spell *spell, T base, int32 *flat, float *pct) const
template<class T >
void ApplySpellMod (SpellInfo const *spellInfo, SpellModOp op, T &basevalue, Spell *spell=nullptr) const
void SetSpellModTakingSpell (Spell *spell, bool apply)
void SendSpellModifiers () const
void RemoveArenaSpellCooldowns (bool removeActivePetCooldowns=false)
uint32 GetLastPotionId () const
void SetLastPotionId (uint32 item_id)
void UpdatePotionCooldown (Spell *spell=nullptr)
void UpdateReviveBattlePetCooldown ()
void SetResurrectRequestData (WorldObject const *caster, uint32 health, uint32 mana, uint32 appliedAura)
void ClearResurrectRequestData ()
bool IsResurrectRequestedBy (ObjectGuid const &guid) const
bool IsResurrectRequested () const
void ResurrectUsingRequestData ()
void ResurrectUsingRequestDataImpl ()
PlayerCreateMode GetCreateMode () const
uint8 getCinematic () const
void setCinematic (uint8 cine)
uint32 GetMovie () const
void SetMovie (uint32 movie)
ActionButtonAddActionButton (uint8 button, 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) const
void SetMultiActionBars (uint8 mask)
void InitPvP ()
void UpdatePvPState (bool onlyFFA=false)
void SetPvP (bool state) override
void UpdatePvP (bool state, bool override=false)
void UpdateZone (uint32 newZone, uint32 newArea)
void UpdateArea (uint32 newArea)
void UpdateHostileAreaState (AreaTableEntry const *area)
void UpdateZoneDependentAuras (uint32 zone_id)
void UpdateAreaDependentAuras (uint32 area_id)
void UpdateAfkReport (time_t currTime)
 checks the 15 afk reports per 5 minutes limit More...
void UpdatePvPFlag (time_t currTime)
void SetContestedPvP (Player *attackedPlayer=nullptr)
void UpdateContestedPvP (uint32 currTime)
void SetContestedPvPTimer (uint32 newTime)
void ResetContestedPvP ()
void UpdateDuelFlag (time_t currTime)
void CheckDuelDistance (time_t currTime)
void DuelComplete (DuelCompleteType type)
void SetDuelArbiter (ObjectGuid guid)
void SetDuelTeam (uint32 duelTeam)
bool IsGroupVisibleFor (Player const *p) const
bool IsInSameGroupWith (Player const *p) const
bool IsInSameRaidWith (Player const *p) const
void UninviteFromGroup ()
void RemoveFromGroup (RemoveMethod method=GROUP_REMOVEMETHOD_DEFAULT)
void SendUpdateToOutOfRangeGroupMembers ()
void SetInGuild (ObjectGuid::LowType guildId)
void SetGuildRank (uint8 rankId)
uint8 GetGuildRank () const
void SetGuildLevel (uint32 level)
uint32 GetGuildLevel () const
void SetGuildIdInvited (ObjectGuid::LowType GuildId)
ObjectGuid::LowType GetGuildId () const
GuildGetGuild ()
Guild const * GetGuild () const
ObjectGuid::LowType GetGuildIdInvited () const
void SetInArenaTeam (uint32 ArenaTeamId, uint8 slot, uint8 type)
void SetArenaTeamInfoField (uint8 slot, ArenaTeamInfoType type, uint32 value)
uint32 GetArenaTeamId (uint8) const
uint32 GetArenaPersonalRating (uint8 slot) const
void SetArenaTeamIdInvited (uint32 ArenaTeamId)
uint32 GetArenaTeamIdInvited () const
uint32 GetRBGPersonalRating () const
Difficulty GetDifficultyID (MapEntry const *mapEntry) const
Difficulty GetDungeonDifficultyID () const
Difficulty GetRaidDifficultyID () const
Difficulty GetLegacyRaidDifficultyID () const
void SetDungeonDifficultyID (Difficulty dungeon_difficulty)
void SetRaidDifficultyID (Difficulty raid_difficulty)
void SetLegacyRaidDifficultyID (Difficulty raid_difficulty)
void SendRaidGroupOnlyMessage (RaidGroupReason reason, int32 delay) const
bool UpdateSkillPro (uint16 skillId, int32 chance, uint32 step)
bool UpdateCraftSkill (SpellInfo const *spellInfo)
bool UpdateGatherSkill (uint32 SkillId, uint32 SkillValue, uint32 RedLevel, uint32 Multiplicator=1)
bool UpdateFishingSkill ()
float GetHealthBonusFromStamina () const
Stats GetPrimaryStat () const
bool UpdateStats (Stats stat) override
bool UpdateAllStats () override
void ApplySpellPenetrationBonus (int32 amount, bool apply)
void ApplyModTargetResistance (int32 mod, bool apply)
void ApplyModTargetPhysicalResistance (int32 mod, bool apply)
void UpdateResistances (uint32 school) override
void UpdateArmor () override
void UpdateMaxHealth () override
void UpdateMaxPower (Powers power) override
uint32 GetPowerIndex (Powers power) const override
void UpdateAttackPowerAndDamage (bool ranged=false) override
void ApplySpellPowerBonus (int32 amount, bool apply)
void UpdateSpellDamageAndHealingBonus ()
void ApplyModDamageDonePos (SpellSchools school, int32 mod, bool apply)
void ApplyModDamageDoneNeg (SpellSchools school, int32 mod, bool apply)
void ApplyModDamageDonePercent (SpellSchools school, float pct, bool apply)
void SetModDamageDonePercent (uint8 school, float pct)
void ApplyRatingMod (CombatRating cr, int32 value, bool apply)
void UpdateRating (CombatRating cr)
void UpdateAllRatings ()
void UpdateMastery ()
void UpdateVersatilityDamageDone ()
void UpdateHealingDonePercentMod ()
bool CanUseMastery () const
void CalculateMinMaxDamage (WeaponAttackType attType, bool normalized, bool addTotalPct, float &minDamage, float &maxDamage) const override
void RecalculateRating (CombatRating cr)
void GetDodgeFromAgility (float &diminishing, float &nondiminishing) const
float GetRatingMultiplier (CombatRating cr) const
float GetRatingBonusValue (CombatRating cr) const
float ApplyRatingDiminishing (CombatRating cr, float bonusValue) const
uint32 GetBaseSpellPowerBonus () const
 Returns base spellpower bonus from spellpower stat on items, without spellpower from intellect stat. More...
int32 GetSpellPenetrationItemMod () const
bool CanApplyResilience () const override
float GetExpertiseDodgeOrParryReduction (WeaponAttackType attType) const
void UpdateBlockPercentage ()
void UpdateCritPercentage (WeaponAttackType attType)
void UpdateAllCritPercentages ()
void UpdateParryPercentage ()
void UpdateDodgePercentage ()
void UpdateMeleeHitChances ()
void UpdateRangedHitChances ()