AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Player.h File Reference
#include "ArenaTeam.h"
#include "Battleground.h"
#include "CharacterCache.h"
#include "CinematicMgr.h"
#include "DBCStores.h"
#include "DatabaseEnvFwd.h"
#include "EnumFlag.h"
#include "GroupReference.h"
#include "InstanceSaveMgr.h"
#include "Item.h"
#include "KillRewarder.h"
#include "MapReference.h"
#include "ObjectMgr.h"
#include "Optional.h"
#include "PetDefines.h"
#include "PlayerSettings.h"
#include "PlayerTaxi.h"
#include "QuestDef.h"
#include "SpellAuras.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "TradeData.h"
#include "Unit.h"
#include "WorldSession.h"
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  PlayerSpell
 
struct  PlayerTalent
 
struct  SpellModifier
 
struct  SpellCooldown
 
struct  ActionButton
 
struct  PlayerCreateInfoItem
 
struct  PlayerClassLevelInfo
 
struct  PlayerClassInfo
 
struct  PlayerLevelInfo
 
struct  PlayerCreateInfoAction
 
struct  PlayerCreateInfoSkill
 
struct  PlayerInfo
 
struct  PvPInfo
 
struct  DuelInfo
 
struct  Areas
 
struct  RuneInfo
 
struct  Runes
 
struct  EnchantDuration
 
struct  SkillStatusData
 
struct  EquipmentSet
 
struct  ItemPosCount
 
struct  ProgressionRequirement
 
struct  DungeonProgressionRequirements
 
struct  BGData
 
struct  EntryPointData
 
class  Player
 
struct  Player::ChatFloodThrottle
 
struct  Player::BgBattlegroundQueueID_Rec
 

Macros

#define PLAYER_MAX_SKILLS   127
 
#define PLAYER_MAX_DAILY_QUESTS   25
 
#define PLAYER_EXPLORED_ZONES_SIZE   128
 
#define DEATH_EXPIRE_STEP   (5*MINUTE)
 
#define MAX_DEATH_COUNT   3
 
#define PLAYER_SKILL_INDEX(x)   (PLAYER_SKILL_INFO_1_1 + ((x)*3))
 
#define PLAYER_SKILL_VALUE_INDEX(x)   (PLAYER_SKILL_INDEX(x)+1)
 
#define PLAYER_SKILL_BONUS_INDEX(x)   (PLAYER_SKILL_INDEX(x)+2)
 
#define SKILL_VALUE(x)   PAIR32_LOPART(x)
 
#define SKILL_MAX(x)   PAIR32_HIPART(x)
 
#define MAKE_SKILL_VALUE(v, m)   MAKE_PAIR32(v, m)
 
#define SKILL_TEMP_BONUS(x)   int16(PAIR32_LOPART(x))
 
#define SKILL_PERM_BONUS(x)   int16(PAIR32_HIPART(x))
 
#define MAKE_SKILL_BONUS(t, p)   MAKE_PAIR32(t, p)
 
#define SPEC_MASK_ALL   255
 
#define ACTION_BUTTON_ACTION(X)   (uint32(X) & 0x00FFFFFF)
 
#define ACTION_BUTTON_TYPE(X)   ((uint32(X) & 0xFF000000) >> 24)
 
#define MAX_ACTION_BUTTON_ACTION_VALUE   (0x00FFFFFF+1)
 
#define MAX_ACTION_BUTTONS   144
 
#define MAX_RUNES   6
 
#define MAX_DRUNKEN   4
 
#define PLAYER_BYTES_2_OVERRIDE_SPELLS_UINT16_OFFSET   (PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID / 2)
 
#define KNOWN_TITLES_SIZE   3
 
#define MAX_TITLE_INDEX   (KNOWN_TITLES_SIZE*64)
 
#define MAX_TIMERS   3
 
#define DISABLED_MIRROR_TIMER   -1
 
#define MAX_QUEST_OFFSET   5
 
#define INVENTORY_SLOT_BAG_0   255
 
#define MAX_EQUIPMENT_SET_INDEX   10
 
#define MAX_PLAYED_TIME_INDEX   2
 
#define MAX_PLAYER_SUMMON_DELAY   (2*MINUTE)
 
#define MAX_MONEY_AMOUNT   (0x7FFFFFFF-1)
 

Typedefs

typedef std::deque< Mail * > PlayerMails
 
typedef void(* bgZoneRef) (Battleground *, WorldPacket &)
 
typedef std::unordered_map< uint32, PlayerTalent * > PlayerTalentMap
 
typedef std::unordered_map< uint32, PlayerSpell * > PlayerSpellMap
 
typedef std::list< SpellModifier * > SpellModList
 
typedef GuidList WhisperListContainer
 
typedef std::map< uint32, SpellCooldownSpellCooldowns
 
typedef std::unordered_map< uint32, time_t > InstanceTimeMap
 
typedef std::map< uint8, ActionButtonActionButtonList
 
typedef std::list< PlayerCreateInfoItemPlayerCreateInfoItems
 
typedef std::list< uint32PlayerCreateInfoSpells
 
typedef std::list< PlayerCreateInfoActionPlayerCreateInfoActions
 
typedef std::list< PlayerCreateInfoSkillPlayerCreateInfoSkills
 
typedef std::list< EnchantDurationEnchantDurationList
 
typedef std::list< Item * > ItemDurationList
 
typedef std::map< uint32, QuestStatusDataQuestStatusMap
 
typedef std::unordered_set< uint32RewardedQuestSet
 
typedef std::map< uint32, bool > QuestStatusSaveMap
 
typedef std::unordered_map< uint32, SkillStatusDataSkillStatusMap
 
typedef std::map< uint32, EquipmentSetEquipmentSets
 
typedef std::vector< ItemPosCountItemPosCountVec
 

Enumerations

enum  SpellModType {
  SPELLMOD_FLAT = 107 ,
  SPELLMOD_PCT = 108
}
 
enum  PlayerUnderwaterState {
  UNDERWATER_NONE = 0x00 ,
  UNDERWATER_INWATER = 0x01 ,
  UNDERWATER_INLAVA = 0x02 ,
  UNDERWATER_INSLIME = 0x04 ,
  UNDERWATER_INDARKWATER = 0x08 ,
  UNDERWATER_EXIST_TIMERS = 0x10
}
 
enum  BuyBankSlotResult {
  ERR_BANKSLOT_FAILED_TOO_MANY = 0 ,
  ERR_BANKSLOT_INSUFFICIENT_FUNDS = 1 ,
  ERR_BANKSLOT_NOTBANKER = 2 ,
  ERR_BANKSLOT_OK = 3
}
 
enum  PlayerSpellState {
  PLAYERSPELL_UNCHANGED = 0 ,
  PLAYERSPELL_CHANGED = 1 ,
  PLAYERSPELL_NEW = 2 ,
  PLAYERSPELL_REMOVED = 3 ,
  PLAYERSPELL_TEMPORARY = 4
}
 
enum  TalentTree {
  TALENT_TREE_WARRIOR_ARMS = 161 ,
  TALENT_TREE_WARRIOR_FURY = 164 ,
  TALENT_TREE_WARRIOR_PROTECTION = 163 ,
  TALENT_TREE_PALADIN_HOLY = 382 ,
  TALENT_TREE_PALADIN_PROTECTION = 383 ,
  TALENT_TREE_PALADIN_RETRIBUTION = 381 ,
  TALENT_TREE_HUNTER_BEAST_MASTERY = 361 ,
  TALENT_TREE_HUNTER_MARKSMANSHIP = 363 ,
  TALENT_TREE_HUNTER_SURVIVAL = 362 ,
  TALENT_TREE_ROGUE_ASSASSINATION = 182 ,
  TALENT_TREE_ROGUE_COMBAT = 181 ,
  TALENT_TREE_ROGUE_SUBTLETY = 183 ,
  TALENT_TREE_PRIEST_DISCIPLINE = 201 ,
  TALENT_TREE_PRIEST_HOLY = 202 ,
  TALENT_TREE_PRIEST_SHADOW = 203 ,
  TALENT_TREE_DEATH_KNIGHT_BLOOD = 398 ,
  TALENT_TREE_DEATH_KNIGHT_FROST = 399 ,
  TALENT_TREE_DEATH_KNIGHT_UNHOLY = 400 ,
  TALENT_TREE_SHAMAN_ELEMENTAL = 261 ,
  TALENT_TREE_SHAMAN_ENHANCEMENT = 263 ,
  TALENT_TREE_SHAMAN_RESTORATION = 262 ,
  TALENT_TREE_MAGE_ARCANE = 81 ,
  TALENT_TREE_MAGE_FIRE = 41 ,
  TALENT_TREE_MAGE_FROST = 61 ,
  TALENT_TREE_WARLOCK_AFFLICTION = 302 ,
  TALENT_TREE_WARLOCK_DEMONOLOGY = 303 ,
  TALENT_TREE_WARLOCK_DESTRUCTION = 301 ,
  TALENT_TREE_DRUID_BALANCE = 283 ,
  TALENT_TREE_DRUID_FERAL_COMBAT = 281 ,
  TALENT_TREE_DRUID_RESTORATION = 282
}
 
enum  TrainerSpellState {
  TRAINER_SPELL_GREEN = 0 ,
  TRAINER_SPELL_RED = 1 ,
  TRAINER_SPELL_GRAY = 2 ,
  TRAINER_SPELL_GREEN_DISABLED = 10
}
 
enum  ActionButtonUpdateState {
  ACTIONBUTTON_UNCHANGED = 0 ,
  ACTIONBUTTON_CHANGED = 1 ,
  ACTIONBUTTON_NEW = 2 ,
  ACTIONBUTTON_DELETED = 3
}
 
enum  ActionButtonType {
  ACTION_BUTTON_SPELL = 0x00 ,
  ACTION_BUTTON_C = 0x01 ,
  ACTION_BUTTON_EQSET = 0x20 ,
  ACTION_BUTTON_MACRO = 0x40 ,
  ACTION_BUTTON_CMACRO = ACTION_BUTTON_C | ACTION_BUTTON_MACRO ,
  ACTION_BUTTON_ITEM = 0x80
}
 
enum  ReputationSource {
  REPUTATION_SOURCE_KILL ,
  REPUTATION_SOURCE_QUEST ,
  REPUTATION_SOURCE_DAILY_QUEST ,
  REPUTATION_SOURCE_WEEKLY_QUEST ,
  REPUTATION_SOURCE_MONTHLY_QUEST ,
  REPUTATION_SOURCE_REPEATABLE_QUEST ,
  REPUTATION_SOURCE_SPELL
}
 
enum  DuelState {
  DUEL_STATE_CHALLENGED ,
  DUEL_STATE_COUNTDOWN ,
  DUEL_STATE_IN_PROGRESS ,
  DUEL_STATE_COMPLETED
}
 
enum  RuneCooldowns {
  RUNE_BASE_COOLDOWN = 10000 ,
  RUNE_GRACE_PERIOD = 2500 ,
  RUNE_MISS_COOLDOWN = 1500
}
 
enum  RuneType {
  RUNE_BLOOD = 0 ,
  RUNE_UNHOLY = 1 ,
  RUNE_FROST = 2 ,
  RUNE_DEATH = 3 ,
  NUM_RUNE_TYPES = 4
}
 
enum  PlayerMovementType {
  MOVE_ROOT = 1 ,
  MOVE_UNROOT = 2 ,
  MOVE_WATER_WALK = 3 ,
  MOVE_LAND_WALK = 4
}
 
enum  DrunkenState {
  DRUNKEN_SOBER = 0 ,
  DRUNKEN_TIPSY = 1 ,
  DRUNKEN_DRUNK = 2 ,
  DRUNKEN_SMASHED = 3
}
 
enum  PlayerFlags : uint32 {
  PLAYER_FLAGS_GROUP_LEADER = 0x00000001 ,
  PLAYER_FLAGS_AFK = 0x00000002 ,
  PLAYER_FLAGS_DND = 0x00000004 ,
  PLAYER_FLAGS_GM = 0x00000008 ,
  PLAYER_FLAGS_GHOST = 0x00000010 ,
  PLAYER_FLAGS_RESTING = 0x00000020 ,
  PLAYER_FLAGS_UNK6 = 0x00000040 ,
  PLAYER_FLAGS_UNK7 = 0x00000080 ,
  PLAYER_FLAGS_CONTESTED_PVP = 0x00000100 ,
  PLAYER_FLAGS_IN_PVP = 0x00000200 ,
  PLAYER_FLAGS_HIDE_HELM = 0x00000400 ,
  PLAYER_FLAGS_HIDE_CLOAK = 0x00000800 ,
  PLAYER_FLAGS_PLAYED_LONG_TIME = 0x00001000 ,
  PLAYER_FLAGS_PLAYED_TOO_LONG = 0x00002000 ,
  PLAYER_FLAGS_IS_OUT_OF_BOUNDS = 0x00004000 ,
  PLAYER_FLAGS_DEVELOPER = 0x00008000 ,
  PLAYER_FLAGS_UNK16 = 0x00010000 ,
  PLAYER_FLAGS_TAXI_BENCHMARK = 0x00020000 ,
  PLAYER_FLAGS_PVP_TIMER = 0x00040000 ,
  PLAYER_FLAGS_UBER = 0x00080000 ,
  PLAYER_FLAGS_UNK20 = 0x00100000 ,
  PLAYER_FLAGS_UNK21 = 0x00200000 ,
  PLAYER_FLAGS_COMMENTATOR2 = 0x00400000 ,
  PLAYER_ALLOW_ONLY_ABILITY = 0x00800000 ,
  PLAYER_FLAGS_UNK24 = 0x01000000 ,
  PLAYER_FLAGS_NO_XP_GAIN = 0x02000000 ,
  PLAYER_FLAGS_UNK26 = 0x04000000 ,
  PLAYER_FLAGS_UNK27 = 0x08000000 ,
  PLAYER_FLAGS_UNK28 = 0x10000000 ,
  PLAYER_FLAGS_UNK29 = 0x20000000 ,
  PLAYER_FLAGS_UNK30 = 0x40000000 ,
  PLAYER_FLAGS_UNK31 = 0x80000000
}
 
enum  PlayerBytesOffsets {
  PLAYER_BYTES_OFFSET_SKIN_ID = 0 ,
  PLAYER_BYTES_OFFSET_FACE_ID = 1 ,
  PLAYER_BYTES_OFFSET_HAIR_STYLE_ID = 2 ,
  PLAYER_BYTES_OFFSET_HAIR_COLOR_ID = 3
}
 
enum  PlayerBytes2Offsets {
  PLAYER_BYTES_2_OFFSET_FACIAL_STYLE = 0 ,
  PLAYER_BYTES_2_OFFSET_PARTY_TYPE = 1 ,
  PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS = 2 ,
  PLAYER_BYTES_2_OFFSET_REST_STATE = 3
}
 
enum  PlayerBytes3Offsets {
  PLAYER_BYTES_3_OFFSET_GENDER = 0 ,
  PLAYER_BYTES_3_OFFSET_INEBRIATION = 1 ,
  PLAYER_BYTES_3_OFFSET_PVP_TITLE = 2 ,
  PLAYER_BYTES_3_OFFSET_ARENA_FACTION = 3
}
 
enum  PlayerFieldBytesOffsets {
  PLAYER_FIELD_BYTES_OFFSET_FLAGS = 0 ,
  PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL = 1 ,
  PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES = 2 ,
  PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK = 3
}
 
enum  PlayerFieldBytes2Offsets {
  PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID = 0 ,
  PLAYER_FIELD_BYTES_2_OFFSET_IGNORE_POWER_REGEN_PREDICTION_MASK = 2 ,
  PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION = 3
}
 
enum  PlayerFieldByteFlags {
  PLAYER_FIELD_BYTE_TRACK_STEALTHED = 0x00000002 ,
  PLAYER_FIELD_BYTE_RELEASE_TIMER = 0x00000008 ,
  PLAYER_FIELD_BYTE_NO_RELEASE_WINDOW = 0x00000010
}
 
enum  PlayerFieldByte2Flags {
  PLAYER_FIELD_BYTE2_NONE = 0x00 ,
  PLAYER_FIELD_BYTE2_STEALTH = 0x20 ,
  PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW = 0x40
}
 
enum  MirrorTimerType {
  FATIGUE_TIMER = 0 ,
  BREATH_TIMER = 1 ,
  FIRE_TIMER = 2
}
 
enum  PlayerExtraFlags {
  PLAYER_EXTRA_GM_ON = 0x0001 ,
  PLAYER_EXTRA_ACCEPT_WHISPERS = 0x0004 ,
  PLAYER_EXTRA_TAXICHEAT = 0x0008 ,
  PLAYER_EXTRA_GM_INVISIBLE = 0x0010 ,
  PLAYER_EXTRA_GM_CHAT = 0x0020 ,
  PLAYER_EXTRA_HAS_310_FLYER = 0x0040 ,
  PLAYER_EXTRA_SPECTATOR_ON = 0x0080 ,
  PLAYER_EXTRA_PVP_DEATH = 0x0100 ,
  PLAYER_EXTRA_SHOW_DK_PET = 0x0400
}
 
enum  AtLoginFlags {
  AT_LOGIN_NONE = 0x00 ,
  AT_LOGIN_RENAME = 0x01 ,
  AT_LOGIN_RESET_SPELLS = 0x02 ,
  AT_LOGIN_RESET_TALENTS = 0x04 ,
  AT_LOGIN_CUSTOMIZE = 0x08 ,
  AT_LOGIN_RESET_PET_TALENTS = 0x10 ,
  AT_LOGIN_FIRST = 0x20 ,
  AT_LOGIN_CHANGE_FACTION = 0x40 ,
  AT_LOGIN_CHANGE_RACE = 0x80 ,
  AT_LOGIN_RESET_AP = 0x100 ,
  AT_LOGIN_RESET_ARENA = 0x200 ,
  AT_LOGIN_CHECK_ACHIEVS = 0x400 ,
  AT_LOGIN_RESURRECT = 0x800
}
 
enum  QuestSlotOffsets {
  QUEST_ID_OFFSET = 0 ,
  QUEST_STATE_OFFSET = 1 ,
  QUEST_COUNTS_OFFSET = 2 ,
  QUEST_TIME_OFFSET = 4
}
 
enum  QuestSlotStateMask {
  QUEST_STATE_NONE = 0x0000 ,
  QUEST_STATE_COMPLETE = 0x0001 ,
  QUEST_STATE_FAIL = 0x0002
}
 
enum  SkillUpdateState {
  SKILL_UNCHANGED = 0 ,
  SKILL_CHANGED = 1 ,
  SKILL_NEW = 2 ,
  SKILL_DELETED = 3
}
 
enum  PlayerSlots {
  PLAYER_SLOT_START = 0 ,
  PLAYER_SLOT_END = 150 ,
  PLAYER_SLOTS_COUNT = (PLAYER_SLOT_END - PLAYER_SLOT_START)
}
 
enum  EquipmentSlots {
  EQUIPMENT_SLOT_START = 0 ,
  EQUIPMENT_SLOT_HEAD = 0 ,
  EQUIPMENT_SLOT_NECK = 1 ,
  EQUIPMENT_SLOT_SHOULDERS = 2 ,
  EQUIPMENT_SLOT_BODY = 3 ,
  EQUIPMENT_SLOT_CHEST = 4 ,
  EQUIPMENT_SLOT_WAIST = 5 ,
  EQUIPMENT_SLOT_LEGS = 6 ,
  EQUIPMENT_SLOT_FEET = 7 ,
  EQUIPMENT_SLOT_WRISTS = 8 ,
  EQUIPMENT_SLOT_HANDS = 9 ,
  EQUIPMENT_SLOT_FINGER1 = 10 ,
  EQUIPMENT_SLOT_FINGER2 = 11 ,
  EQUIPMENT_SLOT_TRINKET1 = 12 ,
  EQUIPMENT_SLOT_TRINKET2 = 13 ,
  EQUIPMENT_SLOT_BACK = 14 ,
  EQUIPMENT_SLOT_MAINHAND = 15 ,
  EQUIPMENT_SLOT_OFFHAND = 16 ,
  EQUIPMENT_SLOT_RANGED = 17 ,
  EQUIPMENT_SLOT_TABARD = 18 ,
  EQUIPMENT_SLOT_END = 19
}
 
enum  InventorySlots {
  INVENTORY_SLOT_BAG_START = 19 ,
  INVENTORY_SLOT_BAG_END = 23
}
 
enum  InventoryPackSlots {
  INVENTORY_SLOT_ITEM_START = 23 ,
  INVENTORY_SLOT_ITEM_END = 39
}
 
enum  BankItemSlots {
  BANK_SLOT_ITEM_START = 39 ,
  BANK_SLOT_ITEM_END = 67
}
 
enum  BankBagSlots {
  BANK_SLOT_BAG_START = 67 ,
  BANK_SLOT_BAG_END = 74
}
 
enum  BuyBackSlots {
  BUYBACK_SLOT_START = 74 ,
  BUYBACK_SLOT_END = 86
}
 
enum  KeyRingSlots {
  KEYRING_SLOT_START = 86 ,
  KEYRING_SLOT_END = 118
}
 
enum  CurrencyTokenSlots {
  CURRENCYTOKEN_SLOT_START = 118 ,
  CURRENCYTOKEN_SLOT_END = 150
}
 
enum  EquipmentSetUpdateState {
  EQUIPMENT_SET_UNCHANGED = 0 ,
  EQUIPMENT_SET_CHANGED = 1 ,
  EQUIPMENT_SET_NEW = 2 ,
  EQUIPMENT_SET_DELETED = 3
}
 
enum  TransferAbortReason {
  TRANSFER_ABORT_NONE = 0x00 ,
  TRANSFER_ABORT_ERROR = 0x01 ,
  TRANSFER_ABORT_MAX_PLAYERS = 0x02 ,
  TRANSFER_ABORT_NOT_FOUND = 0x03 ,
  TRANSFER_ABORT_TOO_MANY_INSTANCES = 0x04 ,
  TRANSFER_ABORT_ZONE_IN_COMBAT = 0x06 ,
  TRANSFER_ABORT_INSUF_EXPAN_LVL = 0x07 ,
  TRANSFER_ABORT_DIFFICULTY = 0x08 ,
  TRANSFER_ABORT_UNIQUE_MESSAGE = 0x09 ,
  TRANSFER_ABORT_TOO_MANY_REALM_INSTANCES = 0x0A ,
  TRANSFER_ABORT_NEED_GROUP = 0x0B ,
  TRANSFER_ABORT_NOT_FOUND1 = 0x0C ,
  TRANSFER_ABORT_NOT_FOUND2 = 0x0D ,
  TRANSFER_ABORT_NOT_FOUND3 = 0x0E ,
  TRANSFER_ABORT_REALM_ONLY = 0x0F ,
  TRANSFER_ABORT_MAP_NOT_ALLOWED = 0x10
}
 
enum  InstanceResetWarningType {
  RAID_INSTANCE_WARNING_HOURS = 1 ,
  RAID_INSTANCE_WARNING_MIN = 2 ,
  RAID_INSTANCE_WARNING_MIN_SOON = 3 ,
  RAID_INSTANCE_WELCOME = 4 ,
  RAID_INSTANCE_EXPIRED = 5
}
 
enum  RestFlag {
  REST_FLAG_IN_TAVERN = 0x1 ,
  REST_FLAG_IN_CITY = 0x2 ,
  REST_FLAG_IN_FACTION_AREA = 0x4
}
 
enum  TeleportToOptions {
  TELE_TO_GM_MODE = 0x01 ,
  TELE_TO_NOT_LEAVE_TRANSPORT = 0x02 ,
  TELE_TO_NOT_LEAVE_COMBAT = 0x04 ,
  TELE_TO_NOT_UNSUMMON_PET = 0x08 ,
  TELE_TO_SPELL = 0x10 ,
  TELE_TO_NOT_LEAVE_VEHICLE = 0x20 ,
  TELE_TO_WITH_PET = 0x40 ,
  TELE_TO_NOT_LEAVE_TAXI = 0x80
}
 
enum  EnviromentalDamage {
  DAMAGE_EXHAUSTED = 0 ,
  DAMAGE_DROWNING = 1 ,
  DAMAGE_FALL = 2 ,
  DAMAGE_LAVA = 3 ,
  DAMAGE_SLIME = 4 ,
  DAMAGE_FIRE = 5 ,
  DAMAGE_FALL_TO_VOID = 6
}
 Type of environmental damages. More...
 
enum  PlayerChatTag {
  CHAT_TAG_NONE = 0x00 ,
  CHAT_TAG_AFK = 0x01 ,
  CHAT_TAG_DND = 0x02 ,
  CHAT_TAG_GM = 0x04 ,
  CHAT_TAG_COM = 0x08 ,
  CHAT_TAG_DEV = 0x10
}
 
enum  PlayedTimeIndex {
  PLAYED_TIME_TOTAL = 0 ,
  PLAYED_TIME_LEVEL = 1
}
 
enum  PlayerLoginQueryIndex {
  PLAYER_LOGIN_QUERY_LOAD_FROM = 0 ,
  PLAYER_LOGIN_QUERY_LOAD_AURAS = 3 ,
  PLAYER_LOGIN_QUERY_LOAD_SPELLS = 4 ,
  PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS = 5 ,
  PLAYER_LOGIN_QUERY_LOAD_DAILY_QUEST_STATUS = 6 ,
  PLAYER_LOGIN_QUERY_LOAD_REPUTATION = 7 ,
  PLAYER_LOGIN_QUERY_LOAD_INVENTORY = 8 ,
  PLAYER_LOGIN_QUERY_LOAD_ACTIONS = 9 ,
  PLAYER_LOGIN_QUERY_LOAD_MAILS = 10 ,
  PLAYER_LOGIN_QUERY_LOAD_MAIL_ITEMS = 11 ,
  PLAYER_LOGIN_QUERY_LOAD_SOCIAL_LIST = 13 ,
  PLAYER_LOGIN_QUERY_LOAD_HOME_BIND = 14 ,
  PLAYER_LOGIN_QUERY_LOAD_SPELL_COOLDOWNS = 15 ,
  PLAYER_LOGIN_QUERY_LOAD_DECLINED_NAMES = 16 ,
  PLAYER_LOGIN_QUERY_LOAD_ACHIEVEMENTS = 18 ,
  PLAYER_LOGIN_QUERY_LOAD_CRITERIA_PROGRESS = 19 ,
  PLAYER_LOGIN_QUERY_LOAD_EQUIPMENT_SETS = 20 ,
  PLAYER_LOGIN_QUERY_LOAD_ENTRY_POINT = 21 ,
  PLAYER_LOGIN_QUERY_LOAD_GLYPHS = 22 ,
  PLAYER_LOGIN_QUERY_LOAD_TALENTS = 23 ,
  PLAYER_LOGIN_QUERY_LOAD_ACCOUNT_DATA = 24 ,
  PLAYER_LOGIN_QUERY_LOAD_SKILLS = 25 ,
  PLAYER_LOGIN_QUERY_LOAD_WEEKLY_QUEST_STATUS = 26 ,
  PLAYER_LOGIN_QUERY_LOAD_RANDOM_BG = 27 ,
  PLAYER_LOGIN_QUERY_LOAD_BANNED = 28 ,
  PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS_REW = 29 ,
  PLAYER_LOGIN_QUERY_LOAD_INSTANCE_LOCK_TIMES = 30 ,
  PLAYER_LOGIN_QUERY_LOAD_SEASONAL_QUEST_STATUS = 31 ,
  PLAYER_LOGIN_QUERY_LOAD_MONTHLY_QUEST_STATUS = 32 ,
  PLAYER_LOGIN_QUERY_LOAD_BREW_OF_THE_MONTH = 34 ,
  PLAYER_LOGIN_QUERY_LOAD_CORPSE_LOCATION = 35 ,
  PLAYER_LOGIN_QUERY_LOAD_CHARACTER_SETTINGS = 36 ,
  PLAYER_LOGIN_QUERY_LOAD_PET_SLOTS = 37 ,
  MAX_PLAYER_LOGIN_QUERY
}
 
enum  PlayerDelayedOperations {
  DELAYED_SAVE_PLAYER = 0x01 ,
  DELAYED_RESURRECT_PLAYER = 0x02 ,
  DELAYED_SPELL_CAST_DESERTER = 0x04 ,
  DELAYED_BG_MOUNT_RESTORE = 0x08 ,
  DELAYED_BG_TAXI_RESTORE = 0x10 ,
  DELAYED_BG_GROUP_RESTORE = 0x20 ,
  DELAYED_VEHICLE_TELEPORT = 0x40 ,
  DELAYED_END
}
 
enum  PlayerCharmedAISpells {
  SPELL_T_STUN ,
  SPELL_ROOT_OR_FEAR ,
  SPELL_INSTANT_DAMAGE ,
  SPELL_INSTANT_DAMAGE2 ,
  SPELL_HIGH_DAMAGE1 ,
  SPELL_HIGH_DAMAGE2 ,
  SPELL_DOT_DAMAGE ,
  SPELL_T_CHARGE ,
  SPELL_IMMUNITY ,
  SPELL_FAST_RUN ,
  NUM_CAI_SPELLS
}
 
enum  CharDeleteMethod {
  CHAR_DELETE_REMOVE = 0 ,
  CHAR_DELETE_UNLINK = 1
}
 
enum  CurrencyItems {
  ITEM_HONOR_POINTS_ID = 43308 ,
  ITEM_ARENA_POINTS_ID = 43307
}
 
enum  ReferAFriendError {
  ERR_REFER_A_FRIEND_NONE = 0x00 ,
  ERR_REFER_A_FRIEND_NOT_REFERRED_BY = 0x01 ,
  ERR_REFER_A_FRIEND_TARGET_TOO_HIGH = 0x02 ,
  ERR_REFER_A_FRIEND_INSUFFICIENT_GRANTABLE_LEVELS = 0x03 ,
  ERR_REFER_A_FRIEND_TOO_FAR = 0x04 ,
  ERR_REFER_A_FRIEND_DIFFERENT_FACTION = 0x05 ,
  ERR_REFER_A_FRIEND_NOT_NOW = 0x06 ,
  ERR_REFER_A_FRIEND_GRANT_LEVEL_MAX_I = 0x07 ,
  ERR_REFER_A_FRIEND_NO_TARGET = 0x08 ,
  ERR_REFER_A_FRIEND_NOT_IN_GROUP = 0x09 ,
  ERR_REFER_A_FRIEND_SUMMON_LEVEL_MAX_I = 0x0A ,
  ERR_REFER_A_FRIEND_SUMMON_COOLDOWN = 0x0B ,
  ERR_REFER_A_FRIEND_INSUF_EXPAN_LVL = 0x0C ,
  ERR_REFER_A_FRIEND_SUMMON_OFFLINE_S = 0x0D
}
 
enum  PlayerRestState {
  REST_STATE_RESTED = 0x01 ,
  REST_STATE_NOT_RAF_LINKED = 0x02 ,
  REST_STATE_RAF_LINKED = 0x06
}
 
enum  AdditionalSaving {
  ADDITIONAL_SAVING_NONE = 0x00 ,
  ADDITIONAL_SAVING_INVENTORY_AND_GOLD = 0x01 ,
  ADDITIONAL_SAVING_QUEST_STATUS = 0x02
}
 
enum  PlayerCommandStates {
  CHEAT_NONE = 0x00 ,
  CHEAT_GOD = 0x01 ,
  CHEAT_CASTTIME = 0x02 ,
  CHEAT_COOLDOWN = 0x04 ,
  CHEAT_POWER = 0x08 ,
  CHEAT_WATERWALK = 0x10
}
 
enum  PlayerXPSource {
  XPSOURCE_KILL = 0 ,
  XPSOURCE_QUEST = 1 ,
  XPSOURCE_QUEST_DF = 2 ,
  XPSOURCE_EXPLORE = 3 ,
  XPSOURCE_BATTLEGROUND = 4
}
 
enum  InstantFlightGossipAction { GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT = 500 }
 
enum  EmoteBroadcastTextID { EMOTE_BROADCAST_TEXT_ID_STRANGE_GESTURES = 91243 }
 

Functions

 DEFINE_ENUM_FLAG (PlayerFlags)
 
std::ostringstream & operator<< (std::ostringstream &ss, PlayerTaxi const &taxi)
 
void AddItemsSetItem (Player *player, Item *item)
 
void RemoveItemsSetItem (Player *player, ItemTemplate const *proto)
 

Macro Definition Documentation

◆ ACTION_BUTTON_ACTION

#define ACTION_BUTTON_ACTION (   X)    (uint32(X) & 0x00FFFFFF)

◆ ACTION_BUTTON_TYPE

#define ACTION_BUTTON_TYPE (   X)    ((uint32(X) & 0xFF000000) >> 24)

◆ DEATH_EXPIRE_STEP

#define DEATH_EXPIRE_STEP   (5*MINUTE)

◆ DISABLED_MIRROR_TIMER

#define DISABLED_MIRROR_TIMER   -1

◆ INVENTORY_SLOT_BAG_0

#define INVENTORY_SLOT_BAG_0   255

◆ KNOWN_TITLES_SIZE

#define KNOWN_TITLES_SIZE   3

◆ MAKE_SKILL_BONUS

#define MAKE_SKILL_BONUS (   t,
 
)    MAKE_PAIR32(t, p)

◆ MAKE_SKILL_VALUE

#define MAKE_SKILL_VALUE (   v,
 
)    MAKE_PAIR32(v, m)

◆ MAX_ACTION_BUTTON_ACTION_VALUE

#define MAX_ACTION_BUTTON_ACTION_VALUE   (0x00FFFFFF+1)

◆ MAX_ACTION_BUTTONS

#define MAX_ACTION_BUTTONS   144

◆ MAX_DEATH_COUNT

#define MAX_DEATH_COUNT   3

◆ MAX_DRUNKEN

#define MAX_DRUNKEN   4

◆ MAX_EQUIPMENT_SET_INDEX

#define MAX_EQUIPMENT_SET_INDEX   10

◆ MAX_MONEY_AMOUNT

#define MAX_MONEY_AMOUNT   (0x7FFFFFFF-1)

◆ MAX_PLAYED_TIME_INDEX

#define MAX_PLAYED_TIME_INDEX   2

◆ MAX_PLAYER_SUMMON_DELAY

#define MAX_PLAYER_SUMMON_DELAY   (2*MINUTE)

◆ MAX_QUEST_OFFSET

#define MAX_QUEST_OFFSET   5

◆ MAX_RUNES

#define MAX_RUNES   6

◆ MAX_TIMERS

#define MAX_TIMERS   3

◆ MAX_TITLE_INDEX

#define MAX_TITLE_INDEX   (KNOWN_TITLES_SIZE*64)

◆ PLAYER_BYTES_2_OVERRIDE_SPELLS_UINT16_OFFSET

#define PLAYER_BYTES_2_OVERRIDE_SPELLS_UINT16_OFFSET   (PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID / 2)

◆ PLAYER_EXPLORED_ZONES_SIZE

#define PLAYER_EXPLORED_ZONES_SIZE   128

◆ PLAYER_MAX_DAILY_QUESTS

#define PLAYER_MAX_DAILY_QUESTS   25

◆ PLAYER_MAX_SKILLS

#define PLAYER_MAX_SKILLS   127

◆ PLAYER_SKILL_BONUS_INDEX

#define PLAYER_SKILL_BONUS_INDEX (   x)    (PLAYER_SKILL_INDEX(x)+2)

◆ PLAYER_SKILL_INDEX

#define PLAYER_SKILL_INDEX (   x)    (PLAYER_SKILL_INFO_1_1 + ((x)*3))

◆ PLAYER_SKILL_VALUE_INDEX

#define PLAYER_SKILL_VALUE_INDEX (   x)    (PLAYER_SKILL_INDEX(x)+1)

◆ SKILL_MAX

#define SKILL_MAX (   x)    PAIR32_HIPART(x)

◆ SKILL_PERM_BONUS

#define SKILL_PERM_BONUS (   x)    int16(PAIR32_HIPART(x))

◆ SKILL_TEMP_BONUS

#define SKILL_TEMP_BONUS (   x)    int16(PAIR32_LOPART(x))

◆ SKILL_VALUE

#define SKILL_VALUE (   x)    PAIR32_LOPART(x)

◆ SPEC_MASK_ALL

#define SPEC_MASK_ALL   255

Typedef Documentation

◆ ActionButtonList

typedef std::map<uint8, ActionButton> ActionButtonList

◆ bgZoneRef

typedef void(* bgZoneRef) (Battleground *, WorldPacket &)

◆ EnchantDurationList

◆ EquipmentSets

typedef std::map<uint32, EquipmentSet> EquipmentSets

◆ InstanceTimeMap

typedef std::unordered_map<uint32 , time_t> InstanceTimeMap

◆ ItemDurationList

typedef std::list<Item*> ItemDurationList

◆ ItemPosCountVec

typedef std::vector<ItemPosCount> ItemPosCountVec

◆ PlayerCreateInfoActions

◆ PlayerCreateInfoItems

◆ PlayerCreateInfoSkills

◆ PlayerCreateInfoSpells

typedef std::list<uint32> PlayerCreateInfoSpells

◆ PlayerMails

typedef std::deque<Mail*> PlayerMails

◆ PlayerSpellMap

typedef std::unordered_map<uint32, PlayerSpell*> PlayerSpellMap

◆ PlayerTalentMap

typedef std::unordered_map<uint32, PlayerTalent*> PlayerTalentMap

◆ QuestStatusMap

◆ QuestStatusSaveMap

typedef std::map<uint32, bool> QuestStatusSaveMap

◆ RewardedQuestSet

typedef std::unordered_set<uint32> RewardedQuestSet

◆ SkillStatusMap

typedef std::unordered_map<uint32, SkillStatusData> SkillStatusMap

◆ SpellCooldowns

typedef std::map<uint32, SpellCooldown> SpellCooldowns

◆ SpellModList

typedef std::list<SpellModifier*> SpellModList

◆ WhisperListContainer

Enumeration Type Documentation

◆ ActionButtonType

Enumerator
ACTION_BUTTON_SPELL 
ACTION_BUTTON_C 
ACTION_BUTTON_EQSET 
ACTION_BUTTON_MACRO 
ACTION_BUTTON_CMACRO 
ACTION_BUTTON_ITEM 
229{
230 ACTION_BUTTON_SPELL = 0x00,
231 ACTION_BUTTON_C = 0x01, // click?
232 ACTION_BUTTON_EQSET = 0x20,
233 ACTION_BUTTON_MACRO = 0x40,
235 ACTION_BUTTON_ITEM = 0x80
236};
@ ACTION_BUTTON_EQSET
Definition: Player.h:232
@ ACTION_BUTTON_C
Definition: Player.h:231
@ ACTION_BUTTON_MACRO
Definition: Player.h:233
@ ACTION_BUTTON_ITEM
Definition: Player.h:235
@ ACTION_BUTTON_CMACRO
Definition: Player.h:234
@ ACTION_BUTTON_SPELL
Definition: Player.h:230

◆ ActionButtonUpdateState

Enumerator
ACTIONBUTTON_UNCHANGED 
ACTIONBUTTON_CHANGED 
ACTIONBUTTON_NEW 
ACTIONBUTTON_DELETED 
221{
226};
@ ACTIONBUTTON_NEW
Definition: Player.h:224
@ ACTIONBUTTON_UNCHANGED
Definition: Player.h:222
@ ACTIONBUTTON_DELETED
Definition: Player.h:225
@ ACTIONBUTTON_CHANGED
Definition: Player.h:223

◆ AdditionalSaving

Enumerator
ADDITIONAL_SAVING_NONE 
ADDITIONAL_SAVING_INVENTORY_AND_GOLD 
ADDITIONAL_SAVING_QUEST_STATUS 
982{
986};
@ ADDITIONAL_SAVING_INVENTORY_AND_GOLD
Definition: Player.h:984
@ ADDITIONAL_SAVING_NONE
Definition: Player.h:983
@ ADDITIONAL_SAVING_QUEST_STATUS
Definition: Player.h:985

◆ AtLoginFlags

Enumerator
AT_LOGIN_NONE 
AT_LOGIN_RENAME 
AT_LOGIN_RESET_SPELLS 
AT_LOGIN_RESET_TALENTS 
AT_LOGIN_CUSTOMIZE 
AT_LOGIN_RESET_PET_TALENTS 
AT_LOGIN_FIRST 
AT_LOGIN_CHANGE_FACTION 
AT_LOGIN_CHANGE_RACE 
AT_LOGIN_RESET_AP 
AT_LOGIN_RESET_ARENA 
AT_LOGIN_CHECK_ACHIEVS 
AT_LOGIN_RESURRECT 
599{
600 AT_LOGIN_NONE = 0x00,
601 AT_LOGIN_RENAME = 0x01,
604 AT_LOGIN_CUSTOMIZE = 0x08,
606 AT_LOGIN_FIRST = 0x20,
609 AT_LOGIN_RESET_AP = 0x100,
610 AT_LOGIN_RESET_ARENA = 0x200,
612 AT_LOGIN_RESURRECT = 0x800
613};
@ AT_LOGIN_RESET_TALENTS
Definition: Player.h:603
@ AT_LOGIN_RESET_SPELLS
Definition: Player.h:602
@ AT_LOGIN_NONE
Definition: Player.h:600
@ AT_LOGIN_RESET_PET_TALENTS
Definition: Player.h:605
@ AT_LOGIN_RESET_AP
Definition: Player.h:609
@ AT_LOGIN_RESET_ARENA
Definition: Player.h:610
@ AT_LOGIN_FIRST
Definition: Player.h:606
@ AT_LOGIN_RESURRECT
Definition: Player.h:612
@ AT_LOGIN_CUSTOMIZE
Definition: Player.h:604
@ AT_LOGIN_RENAME
Definition: Player.h:601
@ AT_LOGIN_CHANGE_RACE
Definition: Player.h:608
@ AT_LOGIN_CHECK_ACHIEVS
Definition: Player.h:611
@ AT_LOGIN_CHANGE_FACTION
Definition: Player.h:607

◆ BankBagSlots

Enumerator
BANK_SLOT_BAG_START 
BANK_SLOT_BAG_END 
717{
720};
@ BANK_SLOT_BAG_END
Definition: Player.h:719
@ BANK_SLOT_BAG_START
Definition: Player.h:718

◆ BankItemSlots

Enumerator
BANK_SLOT_ITEM_START 
BANK_SLOT_ITEM_END 
711{
714};
@ BANK_SLOT_ITEM_START
Definition: Player.h:712
@ BANK_SLOT_ITEM_END
Definition: Player.h:713

◆ BuyBackSlots

Enumerator
BUYBACK_SLOT_START 
BUYBACK_SLOT_END 
723{
724 // stored in m_buybackitems
727};
@ BUYBACK_SLOT_END
Definition: Player.h:726
@ BUYBACK_SLOT_START
Definition: Player.h:725

◆ BuyBankSlotResult

Enumerator
ERR_BANKSLOT_FAILED_TOO_MANY 
ERR_BANKSLOT_INSUFFICIENT_FUNDS 
ERR_BANKSLOT_NOTBANKER 
ERR_BANKSLOT_OK 
111{
116};
@ ERR_BANKSLOT_NOTBANKER
Definition: Player.h:114
@ ERR_BANKSLOT_FAILED_TOO_MANY
Definition: Player.h:112
@ ERR_BANKSLOT_OK
Definition: Player.h:115
@ ERR_BANKSLOT_INSUFFICIENT_FUNDS
Definition: Player.h:113

◆ CharDeleteMethod

Enumerator
CHAR_DELETE_REMOVE 
CHAR_DELETE_UNLINK 
944{
945 CHAR_DELETE_REMOVE = 0, // Completely remove from the database
946 CHAR_DELETE_UNLINK = 1 // The character gets unlinked from the account,
947 // the name gets freed up and appears as deleted ingame
948};
@ CHAR_DELETE_REMOVE
Definition: Player.h:945
@ CHAR_DELETE_UNLINK
Definition: Player.h:946

◆ CurrencyItems

Enumerator
ITEM_HONOR_POINTS_ID 
ITEM_ARENA_POINTS_ID 
951{
952 ITEM_HONOR_POINTS_ID = 43308,
954};
@ ITEM_ARENA_POINTS_ID
Definition: Player.h:953
@ ITEM_HONOR_POINTS_ID
Definition: Player.h:952

◆ CurrencyTokenSlots

Enumerator
CURRENCYTOKEN_SLOT_START 
CURRENCYTOKEN_SLOT_END 
736{
739};
@ CURRENCYTOKEN_SLOT_END
Definition: Player.h:738
@ CURRENCYTOKEN_SLOT_START
Definition: Player.h:737

◆ DrunkenState

Enumerator
DRUNKEN_SOBER 
DRUNKEN_TIPSY 
DRUNKEN_DRUNK 
DRUNKEN_SMASHED 
464{
465 DRUNKEN_SOBER = 0,
466 DRUNKEN_TIPSY = 1,
467 DRUNKEN_DRUNK = 2,
469};
@ DRUNKEN_TIPSY
Definition: Player.h:466
@ DRUNKEN_DRUNK
Definition: Player.h:467
@ DRUNKEN_SOBER
Definition: Player.h:465
@ DRUNKEN_SMASHED
Definition: Player.h:468

◆ DuelState

enum DuelState
Enumerator
DUEL_STATE_CHALLENGED 
DUEL_STATE_COUNTDOWN 
DUEL_STATE_IN_PROGRESS 
DUEL_STATE_COMPLETED 
370{
375};
@ DUEL_STATE_CHALLENGED
Definition: Player.h:371
@ DUEL_STATE_COUNTDOWN
Definition: Player.h:372
@ DUEL_STATE_COMPLETED
Definition: Player.h:374
@ DUEL_STATE_IN_PROGRESS
Definition: Player.h:373

◆ EmoteBroadcastTextID

Enumerator
EMOTE_BROADCAST_TEXT_ID_STRANGE_GESTURES 
1014{
1016};
@ EMOTE_BROADCAST_TEXT_ID_STRANGE_GESTURES
Definition: Player.h:1015

◆ EnviromentalDamage

Type of environmental damages.

Enumerator
DAMAGE_EXHAUSTED 
DAMAGE_DROWNING 
DAMAGE_FALL 
DAMAGE_LAVA 
DAMAGE_SLIME 
DAMAGE_FIRE 
DAMAGE_FALL_TO_VOID 
826{
828 DAMAGE_DROWNING = 1,
829 DAMAGE_FALL = 2,
830 DAMAGE_LAVA = 3,
831 DAMAGE_SLIME = 4,
832 DAMAGE_FIRE = 5,
833 DAMAGE_FALL_TO_VOID = 6 // custom case for fall without durability loss
834};
@ DAMAGE_SLIME
Definition: Player.h:831
@ DAMAGE_FALL
Definition: Player.h:829
@ DAMAGE_LAVA
Definition: Player.h:830
@ DAMAGE_FALL_TO_VOID
Definition: Player.h:833
@ DAMAGE_DROWNING
Definition: Player.h:828
@ DAMAGE_FIRE
Definition: Player.h:832
@ DAMAGE_EXHAUSTED
Definition: Player.h:827

◆ EquipmentSetUpdateState

Enumerator
EQUIPMENT_SET_UNCHANGED 
EQUIPMENT_SET_CHANGED 
EQUIPMENT_SET_NEW 
EQUIPMENT_SET_DELETED 
742{
747};
@ EQUIPMENT_SET_CHANGED
Definition: Player.h:744
@ EQUIPMENT_SET_UNCHANGED
Definition: Player.h:743
@ EQUIPMENT_SET_DELETED
Definition: Player.h:746
@ EQUIPMENT_SET_NEW
Definition: Player.h:745

◆ EquipmentSlots

Enumerator
EQUIPMENT_SLOT_START 
EQUIPMENT_SLOT_HEAD 
EQUIPMENT_SLOT_NECK 
EQUIPMENT_SLOT_SHOULDERS 
EQUIPMENT_SLOT_BODY 
EQUIPMENT_SLOT_CHEST 
EQUIPMENT_SLOT_WAIST 
EQUIPMENT_SLOT_LEGS 
EQUIPMENT_SLOT_FEET 
EQUIPMENT_SLOT_WRISTS 
EQUIPMENT_SLOT_HANDS 
EQUIPMENT_SLOT_FINGER1 
EQUIPMENT_SLOT_FINGER2 
EQUIPMENT_SLOT_TRINKET1 
EQUIPMENT_SLOT_TRINKET2 
EQUIPMENT_SLOT_BACK 
EQUIPMENT_SLOT_MAINHAND 
EQUIPMENT_SLOT_OFFHAND 
EQUIPMENT_SLOT_RANGED 
EQUIPMENT_SLOT_TABARD 
EQUIPMENT_SLOT_END 
674{
696};
@ EQUIPMENT_SLOT_SHOULDERS
Definition: Player.h:678
@ EQUIPMENT_SLOT_BODY
Definition: Player.h:679
@ EQUIPMENT_SLOT_HANDS
Definition: Player.h:685
@ EQUIPMENT_SLOT_FINGER1
Definition: Player.h:686
@ EQUIPMENT_SLOT_NECK
Definition: Player.h:677
@ EQUIPMENT_SLOT_FINGER2
Definition: Player.h:687
@ EQUIPMENT_SLOT_MAINHAND
Definition: Player.h:691
@ EQUIPMENT_SLOT_TABARD
Definition: Player.h:694
@ EQUIPMENT_SLOT_TRINKET1
Definition: Player.h:688
@ EQUIPMENT_SLOT_END
Definition: Player.h:695
@ EQUIPMENT_SLOT_HEAD
Definition: Player.h:676
@ EQUIPMENT_SLOT_LEGS
Definition: Player.h:682
@ EQUIPMENT_SLOT_BACK
Definition: Player.h:690
@ EQUIPMENT_SLOT_OFFHAND
Definition: Player.h:692
@ EQUIPMENT_SLOT_WAIST
Definition: Player.h:681
@ EQUIPMENT_SLOT_FEET
Definition: Player.h:683
@ EQUIPMENT_SLOT_CHEST
Definition: Player.h:680
@ EQUIPMENT_SLOT_WRISTS
Definition: Player.h:684
@ EQUIPMENT_SLOT_TRINKET2
Definition: Player.h:689
@ EQUIPMENT_SLOT_START
Definition: Player.h:675
@ EQUIPMENT_SLOT_RANGED
Definition: Player.h:693

◆ InstanceResetWarningType

Enumerator
RAID_INSTANCE_WARNING_HOURS 
RAID_INSTANCE_WARNING_MIN 
RAID_INSTANCE_WARNING_MIN_SOON 
RAID_INSTANCE_WELCOME 
RAID_INSTANCE_EXPIRED 
795{
796 RAID_INSTANCE_WARNING_HOURS = 1, // WARNING! %s is scheduled to reset in %d hour(s).
797 RAID_INSTANCE_WARNING_MIN = 2, // WARNING! %s is scheduled to reset in %d minute(s)!
798 RAID_INSTANCE_WARNING_MIN_SOON = 3, // WARNING! %s is scheduled to reset in %d minute(s). Please exit the zone or you will be returned to your bind location!
799 RAID_INSTANCE_WELCOME = 4, // Welcome to %s. This raid instance is scheduled to reset in %s.
801};
@ RAID_INSTANCE_WARNING_MIN
Definition: Player.h:797
@ RAID_INSTANCE_EXPIRED
Definition: Player.h:800
@ RAID_INSTANCE_WARNING_MIN_SOON
Definition: Player.h:798
@ RAID_INSTANCE_WARNING_HOURS
Definition: Player.h:796
@ RAID_INSTANCE_WELCOME
Definition: Player.h:799

◆ InstantFlightGossipAction

Enumerator
GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT 
1009{
1011};
@ GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT
Definition: Player.h:1010

◆ InventoryPackSlots

Enumerator
INVENTORY_SLOT_ITEM_START 
INVENTORY_SLOT_ITEM_END 
705{
708};
@ INVENTORY_SLOT_ITEM_START
Definition: Player.h:706
@ INVENTORY_SLOT_ITEM_END
Definition: Player.h:707

◆ InventorySlots

Enumerator
INVENTORY_SLOT_BAG_START 
INVENTORY_SLOT_BAG_END 
699{
702};
@ INVENTORY_SLOT_BAG_START
Definition: Player.h:700
@ INVENTORY_SLOT_BAG_END
Definition: Player.h:701

◆ KeyRingSlots

Enumerator
KEYRING_SLOT_START 
KEYRING_SLOT_END 
730{
732 KEYRING_SLOT_END = 118
733};
@ KEYRING_SLOT_END
Definition: Player.h:732
@ KEYRING_SLOT_START
Definition: Player.h:731

◆ MirrorTimerType

Enumerator
FATIGUE_TIMER 
BREATH_TIMER 
FIRE_TIMER 
574{
575 FATIGUE_TIMER = 0,
576 BREATH_TIMER = 1,
577 FIRE_TIMER = 2
578};
@ FIRE_TIMER
Definition: Player.h:577
@ FATIGUE_TIMER
Definition: Player.h:575
@ BREATH_TIMER
Definition: Player.h:576

◆ PlayedTimeIndex

Enumerator
PLAYED_TIME_TOTAL 
PLAYED_TIME_LEVEL 
847{
850};
@ PLAYED_TIME_TOTAL
Definition: Player.h:848
@ PLAYED_TIME_LEVEL
Definition: Player.h:849

◆ PlayerBytes2Offsets

Enumerator
PLAYER_BYTES_2_OFFSET_FACIAL_STYLE 
PLAYER_BYTES_2_OFFSET_PARTY_TYPE 
PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS 
PLAYER_BYTES_2_OFFSET_REST_STATE 
520{
525};
@ PLAYER_BYTES_2_OFFSET_PARTY_TYPE
Definition: Player.h:522
@ PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS
Definition: Player.h:523
@ PLAYER_BYTES_2_OFFSET_REST_STATE
Definition: Player.h:524
@ PLAYER_BYTES_2_OFFSET_FACIAL_STYLE
Definition: Player.h:521

◆ PlayerBytes3Offsets

Enumerator
PLAYER_BYTES_3_OFFSET_GENDER 
PLAYER_BYTES_3_OFFSET_INEBRIATION 
PLAYER_BYTES_3_OFFSET_PVP_TITLE 
PLAYER_BYTES_3_OFFSET_ARENA_FACTION 
528{
533};
@ PLAYER_BYTES_3_OFFSET_PVP_TITLE
Definition: Player.h:531
@ PLAYER_BYTES_3_OFFSET_INEBRIATION
Definition: Player.h:530
@ PLAYER_BYTES_3_OFFSET_GENDER
Definition: Player.h:529
@ PLAYER_BYTES_3_OFFSET_ARENA_FACTION
Definition: Player.h:532

◆ PlayerBytesOffsets

Enumerator
PLAYER_BYTES_OFFSET_SKIN_ID 
PLAYER_BYTES_OFFSET_FACE_ID 
PLAYER_BYTES_OFFSET_HAIR_STYLE_ID 
PLAYER_BYTES_OFFSET_HAIR_COLOR_ID 
512{
517};
@ PLAYER_BYTES_OFFSET_HAIR_COLOR_ID
Definition: Player.h:516
@ PLAYER_BYTES_OFFSET_HAIR_STYLE_ID
Definition: Player.h:515
@ PLAYER_BYTES_OFFSET_SKIN_ID
Definition: Player.h:513
@ PLAYER_BYTES_OFFSET_FACE_ID
Definition: Player.h:514

◆ PlayerCharmedAISpells

Enumerator
SPELL_T_STUN 
SPELL_ROOT_OR_FEAR 
SPELL_INSTANT_DAMAGE 
SPELL_INSTANT_DAMAGE2 
SPELL_HIGH_DAMAGE1 
SPELL_HIGH_DAMAGE2 
SPELL_DOT_DAMAGE 
SPELL_T_CHARGE 
SPELL_IMMUNITY 
SPELL_FAST_RUN 
NUM_CAI_SPELLS 
906{
918};
@ NUM_CAI_SPELLS
Definition: Player.h:917
@ SPELL_HIGH_DAMAGE1
Definition: Player.h:911
@ SPELL_ROOT_OR_FEAR
Definition: Player.h:908
@ SPELL_HIGH_DAMAGE2
Definition: Player.h:912
@ SPELL_INSTANT_DAMAGE2
Definition: Player.h:910
@ SPELL_INSTANT_DAMAGE
Definition: Player.h:909
@ SPELL_T_CHARGE
Definition: Player.h:914
@ SPELL_DOT_DAMAGE
Definition: Player.h:913
@ SPELL_FAST_RUN
Definition: Player.h:916
@ SPELL_T_STUN
Definition: Player.h:907
@ SPELL_IMMUNITY
Definition: Player.h:915

◆ PlayerChatTag

Enumerator
CHAT_TAG_NONE 
CHAT_TAG_AFK 
CHAT_TAG_DND 
CHAT_TAG_GM 
CHAT_TAG_COM 
CHAT_TAG_DEV 
837{
838 CHAT_TAG_NONE = 0x00,
839 CHAT_TAG_AFK = 0x01,
840 CHAT_TAG_DND = 0x02,
841 CHAT_TAG_GM = 0x04,
842 CHAT_TAG_COM = 0x08, // Commentator tag. Do not exist in clean client
843 CHAT_TAG_DEV = 0x10,
844};
@ CHAT_TAG_COM
Definition: Player.h:842
@ CHAT_TAG_DND
Definition: Player.h:840
@ CHAT_TAG_DEV
Definition: Player.h:843
@ CHAT_TAG_AFK
Definition: Player.h:839
@ CHAT_TAG_GM
Definition: Player.h:841
@ CHAT_TAG_NONE
Definition: Player.h:838

◆ PlayerCommandStates

Enumerator
CHEAT_NONE 
CHEAT_GOD 
CHEAT_CASTTIME 
CHEAT_COOLDOWN 
CHEAT_POWER 
CHEAT_WATERWALK 
989{
990 CHEAT_NONE = 0x00,
991 CHEAT_GOD = 0x01,
992 CHEAT_CASTTIME = 0x02,
993 CHEAT_COOLDOWN = 0x04,
994 CHEAT_POWER = 0x08,
995 CHEAT_WATERWALK = 0x10
996};
@ CHEAT_COOLDOWN
Definition: Player.h:993
@ CHEAT_POWER
Definition: Player.h:994
@ CHEAT_GOD
Definition: Player.h:991
@ CHEAT_NONE
Definition: Player.h:990
@ CHEAT_WATERWALK
Definition: Player.h:995
@ CHEAT_CASTTIME
Definition: Player.h:992

◆ PlayerDelayedOperations

Enumerator
DELAYED_SAVE_PLAYER 
DELAYED_RESURRECT_PLAYER 
DELAYED_SPELL_CAST_DESERTER 
DELAYED_BG_MOUNT_RESTORE 

Flag to restore mount state after teleport from BG.

DELAYED_BG_TAXI_RESTORE 

Flag to restore taxi state after teleport from BG.

DELAYED_BG_GROUP_RESTORE 

Flag to restore group state after teleport from BG.

DELAYED_VEHICLE_TELEPORT 
DELAYED_END 
894{
895 DELAYED_SAVE_PLAYER = 0x01,
903};
@ DELAYED_BG_GROUP_RESTORE
Flag to restore group state after teleport from BG.
Definition: Player.h:900
@ DELAYED_END
Definition: Player.h:902
@ DELAYED_SAVE_PLAYER
Definition: Player.h:895
@ DELAYED_BG_MOUNT_RESTORE
Flag to restore mount state after teleport from BG.
Definition: Player.h:898
@ DELAYED_VEHICLE_TELEPORT
Definition: Player.h:901
@ DELAYED_BG_TAXI_RESTORE
Flag to restore taxi state after teleport from BG.
Definition: Player.h:899
@ DELAYED_SPELL_CAST_DESERTER
Definition: Player.h:897
@ DELAYED_RESURRECT_PLAYER
Definition: Player.h:896

◆ PlayerExtraFlags

Enumerator
PLAYER_EXTRA_GM_ON 
PLAYER_EXTRA_ACCEPT_WHISPERS 
PLAYER_EXTRA_TAXICHEAT 
PLAYER_EXTRA_GM_INVISIBLE 
PLAYER_EXTRA_GM_CHAT 
PLAYER_EXTRA_HAS_310_FLYER 
PLAYER_EXTRA_SPECTATOR_ON 
PLAYER_EXTRA_PVP_DEATH 
PLAYER_EXTRA_SHOW_DK_PET 
584{
585 // gm abilities
586 PLAYER_EXTRA_GM_ON = 0x0001,
588 PLAYER_EXTRA_TAXICHEAT = 0x0008,
590 PLAYER_EXTRA_GM_CHAT = 0x0020, // Show GM badge in chat messages
591 PLAYER_EXTRA_HAS_310_FLYER = 0x0040, // Marks if player already has 310% speed flying mount
592 PLAYER_EXTRA_SPECTATOR_ON = 0x0080, // Marks if player is spectactor
593 PLAYER_EXTRA_PVP_DEATH = 0x0100, // store PvP death status until corpse creating.
594 PLAYER_EXTRA_SHOW_DK_PET = 0x0400, // Marks if player should see ghoul on login screen
595};
@ PLAYER_EXTRA_GM_ON
Definition: Player.h:586
@ PLAYER_EXTRA_ACCEPT_WHISPERS
Definition: Player.h:587
@ PLAYER_EXTRA_GM_INVISIBLE
Definition: Player.h:589
@ PLAYER_EXTRA_HAS_310_FLYER
Definition: Player.h:591
@ PLAYER_EXTRA_SHOW_DK_PET
Definition: Player.h:594
@ PLAYER_EXTRA_TAXICHEAT
Definition: Player.h:588
@ PLAYER_EXTRA_SPECTATOR_ON
Definition: Player.h:592
@ PLAYER_EXTRA_PVP_DEATH
Definition: Player.h:593
@ PLAYER_EXTRA_GM_CHAT
Definition: Player.h:590

◆ PlayerFieldByte2Flags

Enumerator
PLAYER_FIELD_BYTE2_NONE 
PLAYER_FIELD_BYTE2_STEALTH 
PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW 
567{
571};
@ PLAYER_FIELD_BYTE2_STEALTH
Definition: Player.h:569
@ PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW
Definition: Player.h:570
@ PLAYER_FIELD_BYTE2_NONE
Definition: Player.h:568

◆ PlayerFieldByteFlags

Enumerator
PLAYER_FIELD_BYTE_TRACK_STEALTHED 
PLAYER_FIELD_BYTE_RELEASE_TIMER 
PLAYER_FIELD_BYTE_NO_RELEASE_WINDOW 
559{
561 PLAYER_FIELD_BYTE_RELEASE_TIMER = 0x00000008, // Display time till auto release spirit
562 PLAYER_FIELD_BYTE_NO_RELEASE_WINDOW = 0x00000010 // Display no "release spirit" window at all
563};
@ PLAYER_FIELD_BYTE_NO_RELEASE_WINDOW
Definition: Player.h:562
@ PLAYER_FIELD_BYTE_TRACK_STEALTHED
Definition: Player.h:560
@ PLAYER_FIELD_BYTE_RELEASE_TIMER
Definition: Player.h:561

◆ PlayerFieldBytes2Offsets

Enumerator
PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID 
PLAYER_FIELD_BYTES_2_OFFSET_IGNORE_POWER_REGEN_PREDICTION_MASK 
PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION 
544{
548};
@ PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID
Definition: Player.h:545
@ PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION
Definition: Player.h:547
@ PLAYER_FIELD_BYTES_2_OFFSET_IGNORE_POWER_REGEN_PREDICTION_MASK
Definition: Player.h:546

◆ PlayerFieldBytesOffsets

Enumerator
PLAYER_FIELD_BYTES_OFFSET_FLAGS 
PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL 
PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES 
PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK 
536{
541};
@ PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK
Definition: Player.h:540
@ PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES
Definition: Player.h:539
@ PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL
Definition: Player.h:538
@ PLAYER_FIELD_BYTES_OFFSET_FLAGS
Definition: Player.h:537

◆ PlayerFlags

Enumerator
PLAYER_FLAGS_GROUP_LEADER 
PLAYER_FLAGS_AFK 
PLAYER_FLAGS_DND 
PLAYER_FLAGS_GM 
PLAYER_FLAGS_GHOST 
PLAYER_FLAGS_RESTING 
PLAYER_FLAGS_UNK6 
PLAYER_FLAGS_UNK7 
PLAYER_FLAGS_CONTESTED_PVP 
PLAYER_FLAGS_IN_PVP 
PLAYER_FLAGS_HIDE_HELM 
PLAYER_FLAGS_HIDE_CLOAK 
PLAYER_FLAGS_PLAYED_LONG_TIME 
PLAYER_FLAGS_PLAYED_TOO_LONG 
PLAYER_FLAGS_IS_OUT_OF_BOUNDS 
PLAYER_FLAGS_DEVELOPER 
PLAYER_FLAGS_UNK16 
PLAYER_FLAGS_TAXI_BENCHMARK 
PLAYER_FLAGS_PVP_TIMER 
PLAYER_FLAGS_UBER 
PLAYER_FLAGS_UNK20 
PLAYER_FLAGS_UNK21 
PLAYER_FLAGS_COMMENTATOR2 
PLAYER_ALLOW_ONLY_ABILITY 
PLAYER_FLAGS_UNK24 
PLAYER_FLAGS_NO_XP_GAIN 
PLAYER_FLAGS_UNK26 
PLAYER_FLAGS_UNK27 
PLAYER_FLAGS_UNK28 
PLAYER_FLAGS_UNK29 
PLAYER_FLAGS_UNK30 
PLAYER_FLAGS_UNK31 
474{
475 PLAYER_FLAGS_GROUP_LEADER = 0x00000001,
476 PLAYER_FLAGS_AFK = 0x00000002,
477 PLAYER_FLAGS_DND = 0x00000004,
478 PLAYER_FLAGS_GM = 0x00000008,
479 PLAYER_FLAGS_GHOST = 0x00000010,
480 PLAYER_FLAGS_RESTING = 0x00000020,
481 PLAYER_FLAGS_UNK6 = 0x00000040,
482 PLAYER_FLAGS_UNK7 = 0x00000080, // pre-3.0.3 PLAYER_FLAGS_FFA_PVP flag for FFA PVP state
483 PLAYER_FLAGS_CONTESTED_PVP = 0x00000100, // Player has been involved in a PvP combat and will be attacked by contested guards
484 PLAYER_FLAGS_IN_PVP = 0x00000200,
485 PLAYER_FLAGS_HIDE_HELM = 0x00000400,
486 PLAYER_FLAGS_HIDE_CLOAK = 0x00000800,
487 PLAYER_FLAGS_PLAYED_LONG_TIME = 0x00001000, // played long time
488 PLAYER_FLAGS_PLAYED_TOO_LONG = 0x00002000, // played too long time
490 PLAYER_FLAGS_DEVELOPER = 0x00008000, // <Dev> prefix for something?
491 PLAYER_FLAGS_UNK16 = 0x00010000, // pre-3.0.3 PLAYER_FLAGS_SANCTUARY flag for player entered sanctuary
492 PLAYER_FLAGS_TAXI_BENCHMARK = 0x00020000, // taxi benchmark mode (on/off) (2.0.1)
493 PLAYER_FLAGS_PVP_TIMER = 0x00040000, // 3.0.2, pvp timer active (after you disable pvp manually)
494 PLAYER_FLAGS_UBER = 0x00080000,
495 PLAYER_FLAGS_UNK20 = 0x00100000,
496 PLAYER_FLAGS_UNK21 = 0x00200000,
497 PLAYER_FLAGS_COMMENTATOR2 = 0x00400000,
498 PLAYER_ALLOW_ONLY_ABILITY = 0x00800000, // used by bladestorm and killing spree, allowed only spells with SPELL_ATTR0_USES_RANGED_SLOT, SPELL_EFFECT_ATTACK, checked only for active player
499 PLAYER_FLAGS_UNK24 = 0x01000000, // disabled all melee ability on tab include autoattack
500 PLAYER_FLAGS_NO_XP_GAIN = 0x02000000,
501 PLAYER_FLAGS_UNK26 = 0x04000000,
502 PLAYER_FLAGS_UNK27 = 0x08000000,
503 PLAYER_FLAGS_UNK28 = 0x10000000,
504 PLAYER_FLAGS_UNK29 = 0x20000000,
505 PLAYER_FLAGS_UNK30 = 0x40000000,
506 PLAYER_FLAGS_UNK31 = 0x80000000,
507};
@ PLAYER_ALLOW_ONLY_ABILITY
Definition: Player.h:498
@ PLAYER_FLAGS_UNK28
Definition: Player.h:503
@ PLAYER_FLAGS_DND
Definition: Player.h:477
@ PLAYER_FLAGS_IN_PVP
Definition: Player.h:484
@ PLAYER_FLAGS_HIDE_CLOAK
Definition: Player.h:486
@ PLAYER_FLAGS_PLAYED_LONG_TIME
Definition: Player.h:487
@ PLAYER_FLAGS_CONTESTED_PVP
Definition: Player.h:483
@ PLAYER_FLAGS_NO_XP_GAIN
Definition: Player.h:500
@ PLAYER_FLAGS_UNK27
Definition: Player.h:502
@ PLAYER_FLAGS_UNK26
Definition: Player.h:501
@ PLAYER_FLAGS_GROUP_LEADER
Definition: Player.h:475
@ PLAYER_FLAGS_RESTING
Definition: Player.h:480
@ PLAYER_FLAGS_IS_OUT_OF_BOUNDS
Definition: Player.h:489
@ PLAYER_FLAGS_GHOST
Definition: Player.h:479
@ PLAYER_FLAGS_AFK
Definition: Player.h:476
@ PLAYER_FLAGS_UNK16
Definition: Player.h:491
@ PLAYER_FLAGS_UNK20
Definition: Player.h:495
@ PLAYER_FLAGS_GM
Definition: Player.h:478
@ PLAYER_FLAGS_TAXI_BENCHMARK
Definition: Player.h:492
@ PLAYER_FLAGS_HIDE_HELM
Definition: Player.h:485
@ PLAYER_FLAGS_UNK24
Definition: Player.h:499
@ PLAYER_FLAGS_COMMENTATOR2
Definition: Player.h:497
@ PLAYER_FLAGS_UNK6
Definition: Player.h:481
@ PLAYER_FLAGS_UNK31
Definition: Player.h:506
@ PLAYER_FLAGS_UNK21
Definition: Player.h:496
@ PLAYER_FLAGS_UNK29
Definition: Player.h:504
@ PLAYER_FLAGS_UNK7
Definition: Player.h:482
@ PLAYER_FLAGS_DEVELOPER
Definition: Player.h:490
@ PLAYER_FLAGS_PVP_TIMER
Definition: Player.h:493
@ PLAYER_FLAGS_UBER
Definition: Player.h:494
@ PLAYER_FLAGS_UNK30
Definition: Player.h:505
@ PLAYER_FLAGS_PLAYED_TOO_LONG
Definition: Player.h:488

◆ PlayerLoginQueryIndex

Enumerator
PLAYER_LOGIN_QUERY_LOAD_FROM 
PLAYER_LOGIN_QUERY_LOAD_AURAS 
PLAYER_LOGIN_QUERY_LOAD_SPELLS 
PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS 
PLAYER_LOGIN_QUERY_LOAD_DAILY_QUEST_STATUS 
PLAYER_LOGIN_QUERY_LOAD_REPUTATION 
PLAYER_LOGIN_QUERY_LOAD_INVENTORY 
PLAYER_LOGIN_QUERY_LOAD_ACTIONS 
PLAYER_LOGIN_QUERY_LOAD_MAILS 
PLAYER_LOGIN_QUERY_LOAD_MAIL_ITEMS 
PLAYER_LOGIN_QUERY_LOAD_SOCIAL_LIST 
PLAYER_LOGIN_QUERY_LOAD_HOME_BIND 
PLAYER_LOGIN_QUERY_LOAD_SPELL_COOLDOWNS 
PLAYER_LOGIN_QUERY_LOAD_DECLINED_NAMES 
PLAYER_LOGIN_QUERY_LOAD_ACHIEVEMENTS 
PLAYER_LOGIN_QUERY_LOAD_CRITERIA_PROGRESS 
PLAYER_LOGIN_QUERY_LOAD_EQUIPMENT_SETS 
PLAYER_LOGIN_QUERY_LOAD_ENTRY_POINT 
PLAYER_LOGIN_QUERY_LOAD_GLYPHS 
PLAYER_LOGIN_QUERY_LOAD_TALENTS 
PLAYER_LOGIN_QUERY_LOAD_ACCOUNT_DATA 
PLAYER_LOGIN_QUERY_LOAD_SKILLS 
PLAYER_LOGIN_QUERY_LOAD_WEEKLY_QUEST_STATUS 
PLAYER_LOGIN_QUERY_LOAD_RANDOM_BG 
PLAYER_LOGIN_QUERY_LOAD_BANNED 
PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS_REW 
PLAYER_LOGIN_QUERY_LOAD_INSTANCE_LOCK_TIMES 
PLAYER_LOGIN_QUERY_LOAD_SEASONAL_QUEST_STATUS 
PLAYER_LOGIN_QUERY_LOAD_MONTHLY_QUEST_STATUS 
PLAYER_LOGIN_QUERY_LOAD_BREW_OF_THE_MONTH 
PLAYER_LOGIN_QUERY_LOAD_CORPSE_LOCATION 
PLAYER_LOGIN_QUERY_LOAD_CHARACTER_SETTINGS 
PLAYER_LOGIN_QUERY_LOAD_PET_SLOTS 
MAX_PLAYER_LOGIN_QUERY 
856{
891};
@ PLAYER_LOGIN_QUERY_LOAD_SPELL_COOLDOWNS
Definition: Player.h:869
@ PLAYER_LOGIN_QUERY_LOAD_GLYPHS
Definition: Player.h:875
@ PLAYER_LOGIN_QUERY_LOAD_DECLINED_NAMES
Definition: Player.h:870
@ PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS_REW
Definition: Player.h:882
@ MAX_PLAYER_LOGIN_QUERY
Definition: Player.h:890
@ PLAYER_LOGIN_QUERY_LOAD_DAILY_QUEST_STATUS
Definition: Player.h:861
@ PLAYER_LOGIN_QUERY_LOAD_CHARACTER_SETTINGS
Definition: Player.h:888
@ PLAYER_LOGIN_QUERY_LOAD_INSTANCE_LOCK_TIMES
Definition: Player.h:883
@ PLAYER_LOGIN_QUERY_LOAD_SEASONAL_QUEST_STATUS
Definition: Player.h:884
@ PLAYER_LOGIN_QUERY_LOAD_SOCIAL_LIST
Definition: Player.h:867
@ PLAYER_LOGIN_QUERY_LOAD_ACTIONS
Definition: Player.h:864
@ PLAYER_LOGIN_QUERY_LOAD_SKILLS
Definition: Player.h:878
@ PLAYER_LOGIN_QUERY_LOAD_ACCOUNT_DATA
Definition: Player.h:877
@ PLAYER_LOGIN_QUERY_LOAD_MAIL_ITEMS
Definition: Player.h:866
@ PLAYER_LOGIN_QUERY_LOAD_PET_SLOTS
Definition: Player.h:889
@ PLAYER_LOGIN_QUERY_LOAD_INVENTORY
Definition: Player.h:863
@ PLAYER_LOGIN_QUERY_LOAD_REPUTATION
Definition: Player.h:862
@ PLAYER_LOGIN_QUERY_LOAD_BREW_OF_THE_MONTH
Definition: Player.h:886
@ PLAYER_LOGIN_QUERY_LOAD_FROM
Definition: Player.h:857
@ PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS
Definition: Player.h:860
@ PLAYER_LOGIN_QUERY_LOAD_ENTRY_POINT
Definition: Player.h:874
@ PLAYER_LOGIN_QUERY_LOAD_WEEKLY_QUEST_STATUS
Definition: Player.h:879
@ PLAYER_LOGIN_QUERY_LOAD_MONTHLY_QUEST_STATUS
Definition: Player.h:885
@ PLAYER_LOGIN_QUERY_LOAD_EQUIPMENT_SETS
Definition: Player.h:873
@ PLAYER_LOGIN_QUERY_LOAD_MAILS
Definition: Player.h:865
@ PLAYER_LOGIN_QUERY_LOAD_AURAS
Definition: Player.h:858
@ PLAYER_LOGIN_QUERY_LOAD_TALENTS
Definition: Player.h:876
@ PLAYER_LOGIN_QUERY_LOAD_BANNED
Definition: Player.h:881
@ PLAYER_LOGIN_QUERY_LOAD_CRITERIA_PROGRESS
Definition: Player.h:872
@ PLAYER_LOGIN_QUERY_LOAD_HOME_BIND
Definition: Player.h:868
@ PLAYER_LOGIN_QUERY_LOAD_CORPSE_LOCATION
Definition: Player.h:887
@ PLAYER_LOGIN_QUERY_LOAD_SPELLS
Definition: Player.h:859
@ PLAYER_LOGIN_QUERY_LOAD_RANDOM_BG
Definition: Player.h:880
@ PLAYER_LOGIN_QUERY_LOAD_ACHIEVEMENTS
Definition: Player.h:871

◆ PlayerMovementType

Enumerator
MOVE_ROOT 
MOVE_UNROOT 
MOVE_WATER_WALK 
MOVE_LAND_WALK 
456{
457 MOVE_ROOT = 1,
458 MOVE_UNROOT = 2,
459 MOVE_WATER_WALK = 3,
461};
@ MOVE_ROOT
Definition: Player.h:457
@ MOVE_UNROOT
Definition: Player.h:458
@ MOVE_WATER_WALK
Definition: Player.h:459
@ MOVE_LAND_WALK
Definition: Player.h:460

◆ PlayerRestState

Enumerator
REST_STATE_RESTED 
REST_STATE_NOT_RAF_LINKED 
REST_STATE_RAF_LINKED 
975{
976 REST_STATE_RESTED = 0x01,
979};
@ REST_STATE_RESTED
Definition: Player.h:976
@ REST_STATE_RAF_LINKED
Definition: Player.h:978
@ REST_STATE_NOT_RAF_LINKED
Definition: Player.h:977

◆ PlayerSlots

Enumerator
PLAYER_SLOT_START 
PLAYER_SLOT_END 
PLAYER_SLOTS_COUNT 
663{
664 // first slot for item stored (in any way in player m_items data)
666 // last+1 slot for item stored (in any way in player m_items data)
667 PLAYER_SLOT_END = 150,
669};
@ PLAYER_SLOTS_COUNT
Definition: Player.h:668
@ PLAYER_SLOT_START
Definition: Player.h:665
@ PLAYER_SLOT_END
Definition: Player.h:667

◆ PlayerSpellState

Enumerator
PLAYERSPELL_UNCHANGED 
PLAYERSPELL_CHANGED 
PLAYERSPELL_NEW 
PLAYERSPELL_REMOVED 
PLAYERSPELL_TEMPORARY 
119{
122 PLAYERSPELL_NEW = 2,
125};
@ PLAYERSPELL_REMOVED
Definition: Player.h:123
@ PLAYERSPELL_UNCHANGED
Definition: Player.h:120
@ PLAYERSPELL_CHANGED
Definition: Player.h:121
@ PLAYERSPELL_NEW
Definition: Player.h:122
@ PLAYERSPELL_TEMPORARY
Definition: Player.h:124

◆ PlayerUnderwaterState

Enumerator
UNDERWATER_NONE 
UNDERWATER_INWATER 
UNDERWATER_INLAVA 
UNDERWATER_INSLIME 
UNDERWATER_INDARKWATER 
UNDERWATER_EXIST_TIMERS 
100{
101 UNDERWATER_NONE = 0x00,
102 UNDERWATER_INWATER = 0x01, // terrain type is water and player is afflicted by it
103 UNDERWATER_INLAVA = 0x02, // terrain type is lava and player is afflicted by it
104 UNDERWATER_INSLIME = 0x04, // terrain type is lava and player is afflicted by it
105 UNDERWATER_INDARKWATER = 0x08, // terrain type is dark water and player is afflicted by it
106
108};
@ UNDERWATER_INDARKWATER
Definition: Player.h:105
@ UNDERWATER_NONE
Definition: Player.h:101
@ UNDERWATER_INSLIME
Definition: Player.h:104
@ UNDERWATER_EXIST_TIMERS
Definition: Player.h:107
@ UNDERWATER_INWATER
Definition: Player.h:102
@ UNDERWATER_INLAVA
Definition: Player.h:103

◆ PlayerXPSource

Enumerator
XPSOURCE_KILL 
XPSOURCE_QUEST 
XPSOURCE_QUEST_DF 
XPSOURCE_EXPLORE 
XPSOURCE_BATTLEGROUND 
1000{
1001 XPSOURCE_KILL = 0,
1002 XPSOURCE_QUEST = 1,
1004 XPSOURCE_EXPLORE = 3,
1006};
@ XPSOURCE_BATTLEGROUND
Definition: Player.h:1005
@ XPSOURCE_KILL
Definition: Player.h:1001
@ XPSOURCE_QUEST
Definition: Player.h:1002
@ XPSOURCE_EXPLORE
Definition: Player.h:1004
@ XPSOURCE_QUEST_DF
Definition: Player.h:1003

◆ QuestSlotOffsets

Enumerator
QUEST_ID_OFFSET 
QUEST_STATE_OFFSET 
QUEST_COUNTS_OFFSET 
QUEST_TIME_OFFSET 
622{
623 QUEST_ID_OFFSET = 0,
627};
@ QUEST_TIME_OFFSET
Definition: Player.h:626
@ QUEST_ID_OFFSET
Definition: Player.h:623
@ QUEST_COUNTS_OFFSET
Definition: Player.h:625
@ QUEST_STATE_OFFSET
Definition: Player.h:624

◆ QuestSlotStateMask

Enumerator
QUEST_STATE_NONE 
QUEST_STATE_COMPLETE 
QUEST_STATE_FAIL 
632{
633 QUEST_STATE_NONE = 0x0000,
634 QUEST_STATE_COMPLETE = 0x0001,
635 QUEST_STATE_FAIL = 0x0002
636};
@ QUEST_STATE_COMPLETE
Definition: Player.h:634
@ QUEST_STATE_FAIL
Definition: Player.h:635
@ QUEST_STATE_NONE
Definition: Player.h:633

◆ ReferAFriendError

Enumerator
ERR_REFER_A_FRIEND_NONE 
ERR_REFER_A_FRIEND_NOT_REFERRED_BY 
ERR_REFER_A_FRIEND_TARGET_TOO_HIGH 
ERR_REFER_A_FRIEND_INSUFFICIENT_GRANTABLE_LEVELS 
ERR_REFER_A_FRIEND_TOO_FAR 
ERR_REFER_A_FRIEND_DIFFERENT_FACTION 
ERR_REFER_A_FRIEND_NOT_NOW 
ERR_REFER_A_FRIEND_GRANT_LEVEL_MAX_I 
ERR_REFER_A_FRIEND_NO_TARGET 
ERR_REFER_A_FRIEND_NOT_IN_GROUP 
ERR_REFER_A_FRIEND_SUMMON_LEVEL_MAX_I 
ERR_REFER_A_FRIEND_SUMMON_COOLDOWN 
ERR_REFER_A_FRIEND_INSUF_EXPAN_LVL 
ERR_REFER_A_FRIEND_SUMMON_OFFLINE_S 
957{
972};
@ ERR_REFER_A_FRIEND_TARGET_TOO_HIGH
Definition: Player.h:960
@ ERR_REFER_A_FRIEND_SUMMON_OFFLINE_S
Definition: Player.h:971
@ ERR_REFER_A_FRIEND_DIFFERENT_FACTION
Definition: Player.h:963
@ ERR_REFER_A_FRIEND_NONE
Definition: Player.h:958
@ ERR_REFER_A_FRIEND_NO_TARGET
Definition: Player.h:966
@ ERR_REFER_A_FRIEND_NOT_NOW
Definition: Player.h:964
@ ERR_REFER_A_FRIEND_INSUF_EXPAN_LVL
Definition: Player.h:970
@ ERR_REFER_A_FRIEND_INSUFFICIENT_GRANTABLE_LEVELS
Definition: Player.h:961
@ ERR_REFER_A_FRIEND_NOT_REFERRED_BY
Definition: Player.h:959
@ ERR_REFER_A_FRIEND_TOO_FAR
Definition: Player.h:962
@ ERR_REFER_A_FRIEND_SUMMON_LEVEL_MAX_I
Definition: Player.h:968
@ ERR_REFER_A_FRIEND_NOT_IN_GROUP
Definition: Player.h:967
@ ERR_REFER_A_FRIEND_GRANT_LEVEL_MAX_I
Definition: Player.h:965
@ ERR_REFER_A_FRIEND_SUMMON_COOLDOWN
Definition: Player.h:969

◆ ReputationSource

Enumerator
REPUTATION_SOURCE_KILL 
REPUTATION_SOURCE_QUEST 
REPUTATION_SOURCE_DAILY_QUEST 
REPUTATION_SOURCE_WEEKLY_QUEST 
REPUTATION_SOURCE_MONTHLY_QUEST 
REPUTATION_SOURCE_REPEATABLE_QUEST 
REPUTATION_SOURCE_SPELL 
239{
247};
@ REPUTATION_SOURCE_KILL
Definition: Player.h:240
@ REPUTATION_SOURCE_SPELL
Definition: Player.h:246
@ REPUTATION_SOURCE_QUEST
Definition: Player.h:241
@ REPUTATION_SOURCE_MONTHLY_QUEST
Definition: Player.h:244
@ REPUTATION_SOURCE_REPEATABLE_QUEST
Definition: Player.h:245
@ REPUTATION_SOURCE_WEEKLY_QUEST
Definition: Player.h:243
@ REPUTATION_SOURCE_DAILY_QUEST
Definition: Player.h:242

◆ RestFlag

enum RestFlag
Enumerator
REST_FLAG_IN_TAVERN 
REST_FLAG_IN_CITY 
REST_FLAG_IN_FACTION_AREA 
806{
808 REST_FLAG_IN_CITY = 0x2,
809 REST_FLAG_IN_FACTION_AREA = 0x4, // used with AREA_FLAG_REST_ZONE_*
810};
@ REST_FLAG_IN_TAVERN
Definition: Player.h:807
@ REST_FLAG_IN_FACTION_AREA
Definition: Player.h:809
@ REST_FLAG_IN_CITY
Definition: Player.h:808

◆ RuneCooldowns

Enumerator
RUNE_BASE_COOLDOWN 
RUNE_GRACE_PERIOD 
RUNE_MISS_COOLDOWN 
402{
403 RUNE_BASE_COOLDOWN = 10000,
404 RUNE_GRACE_PERIOD = 2500, // xinef: maximum possible grace period
405 RUNE_MISS_COOLDOWN = 1500, // cooldown applied on runes when the spell misses
406};
@ RUNE_MISS_COOLDOWN
Definition: Player.h:405
@ RUNE_GRACE_PERIOD
Definition: Player.h:404
@ RUNE_BASE_COOLDOWN
Definition: Player.h:403

◆ RuneType

enum RuneType
Enumerator
RUNE_BLOOD 
RUNE_UNHOLY 
RUNE_FROST 
RUNE_DEATH 
NUM_RUNE_TYPES 
409{
410 RUNE_BLOOD = 0,
411 RUNE_UNHOLY = 1,
412 RUNE_FROST = 2,
413 RUNE_DEATH = 3,
415};
@ RUNE_UNHOLY
Definition: Player.h:411
@ RUNE_DEATH
Definition: Player.h:413
@ NUM_RUNE_TYPES
Definition: Player.h:414
@ RUNE_FROST
Definition: Player.h:412
@ RUNE_BLOOD
Definition: Player.h:410

◆ SkillUpdateState

Enumerator
SKILL_UNCHANGED 
SKILL_CHANGED 
SKILL_NEW 
SKILL_DELETED 
639{
640 SKILL_UNCHANGED = 0,
641 SKILL_CHANGED = 1,
642 SKILL_NEW = 2,
643 SKILL_DELETED = 3
644};
@ SKILL_DELETED
Definition: Player.h:643
@ SKILL_CHANGED
Definition: Player.h:641
@ SKILL_UNCHANGED
Definition: Player.h:640
@ SKILL_NEW
Definition: Player.h:642

◆ SpellModType

Enumerator
SPELLMOD_FLAT 
SPELLMOD_PCT 
93{
94 SPELLMOD_FLAT = 107, // SPELL_AURA_ADD_FLAT_MODIFIER
95 SPELLMOD_PCT = 108 // SPELL_AURA_ADD_PCT_MODIFIER
96};
@ SPELLMOD_FLAT
Definition: Player.h:94
@ SPELLMOD_PCT
Definition: Player.h:95

◆ TalentTree

enum TalentTree
Enumerator
TALENT_TREE_WARRIOR_ARMS 
TALENT_TREE_WARRIOR_FURY 
TALENT_TREE_WARRIOR_PROTECTION 
TALENT_TREE_PALADIN_HOLY 
TALENT_TREE_PALADIN_PROTECTION 
TALENT_TREE_PALADIN_RETRIBUTION 
TALENT_TREE_HUNTER_BEAST_MASTERY 
TALENT_TREE_HUNTER_MARKSMANSHIP 
TALENT_TREE_HUNTER_SURVIVAL 
TALENT_TREE_ROGUE_ASSASSINATION 
TALENT_TREE_ROGUE_COMBAT 
TALENT_TREE_ROGUE_SUBTLETY 
TALENT_TREE_PRIEST_DISCIPLINE 
TALENT_TREE_PRIEST_HOLY 
TALENT_TREE_PRIEST_SHADOW 
TALENT_TREE_DEATH_KNIGHT_BLOOD 
TALENT_TREE_DEATH_KNIGHT_FROST 
TALENT_TREE_DEATH_KNIGHT_UNHOLY 
TALENT_TREE_SHAMAN_ELEMENTAL 
TALENT_TREE_SHAMAN_ENHANCEMENT 
TALENT_TREE_SHAMAN_RESTORATION 
TALENT_TREE_MAGE_ARCANE 
TALENT_TREE_MAGE_FIRE 
TALENT_TREE_MAGE_FROST 
TALENT_TREE_WARLOCK_AFFLICTION 
TALENT_TREE_WARLOCK_DEMONOLOGY 
TALENT_TREE_WARLOCK_DESTRUCTION 
TALENT_TREE_DRUID_BALANCE 
TALENT_TREE_DRUID_FERAL_COMBAT 
TALENT_TREE_DRUID_RESTORATION 
145{
176};
@ TALENT_TREE_HUNTER_SURVIVAL
Definition: Player.h:154
@ TALENT_TREE_DEATH_KNIGHT_FROST
Definition: Player.h:162
@ TALENT_TREE_MAGE_FIRE
Definition: Player.h:168
@ TALENT_TREE_PRIEST_SHADOW
Definition: Player.h:160
@ TALENT_TREE_DEATH_KNIGHT_BLOOD
Definition: Player.h:161
@ TALENT_TREE_DRUID_RESTORATION
Definition: Player.h:175
@ TALENT_TREE_SHAMAN_ELEMENTAL
Definition: Player.h:164
@ TALENT_TREE_SHAMAN_RESTORATION
Definition: Player.h:166
@ TALENT_TREE_PALADIN_PROTECTION
Definition: Player.h:150
@ TALENT_TREE_HUNTER_BEAST_MASTERY
Definition: Player.h:152
@ TALENT_TREE_DRUID_FERAL_COMBAT
Definition: Player.h:174
@ TALENT_TREE_WARLOCK_DEMONOLOGY
Definition: Player.h:171
@ TALENT_TREE_WARRIOR_FURY
Definition: Player.h:147
@ TALENT_TREE_WARLOCK_DESTRUCTION
Definition: Player.h:172
@ TALENT_TREE_ROGUE_ASSASSINATION
Definition: Player.h:155
@ TALENT_TREE_DEATH_KNIGHT_UNHOLY
Definition: Player.h:163
@ TALENT_TREE_WARLOCK_AFFLICTION
Definition: Player.h:170
@ TALENT_TREE_PRIEST_HOLY
Definition: Player.h:159
@ TALENT_TREE_SHAMAN_ENHANCEMENT
Definition: Player.h:165
@ TALENT_TREE_MAGE_ARCANE
Definition: Player.h:167
@ TALENT_TREE_PALADIN_HOLY
Definition: Player.h:149
@ TALENT_TREE_MAGE_FROST
Definition: Player.h:169
@ TALENT_TREE_WARRIOR_ARMS
Definition: Player.h:146
@ TALENT_TREE_DRUID_BALANCE
Definition: Player.h:173
@ TALENT_TREE_ROGUE_COMBAT
Definition: Player.h:156
@ TALENT_TREE_HUNTER_MARKSMANSHIP
Definition: Player.h:153
@ TALENT_TREE_PALADIN_RETRIBUTION
Definition: Player.h:151
@ TALENT_TREE_ROGUE_SUBTLETY
Definition: Player.h:157
@ TALENT_TREE_WARRIOR_PROTECTION
Definition: Player.h:148
@ TALENT_TREE_PRIEST_DISCIPLINE
Definition: Player.h:158

◆ TeleportToOptions

Enumerator
TELE_TO_GM_MODE 
TELE_TO_NOT_LEAVE_TRANSPORT 
TELE_TO_NOT_LEAVE_COMBAT 
TELE_TO_NOT_UNSUMMON_PET 
TELE_TO_SPELL 
TELE_TO_NOT_LEAVE_VEHICLE 
TELE_TO_WITH_PET 
TELE_TO_NOT_LEAVE_TAXI 
813{
814 TELE_TO_GM_MODE = 0x01,
818 TELE_TO_SPELL = 0x10,
820 TELE_TO_WITH_PET = 0x40,
822};
@ TELE_TO_WITH_PET
Definition: Player.h:820
@ TELE_TO_NOT_LEAVE_TAXI
Definition: Player.h:821
@ TELE_TO_NOT_LEAVE_VEHICLE
Definition: Player.h:819
@ TELE_TO_SPELL
Definition: Player.h:818
@ TELE_TO_NOT_LEAVE_COMBAT
Definition: Player.h:816
@ TELE_TO_NOT_UNSUMMON_PET
Definition: Player.h:817
@ TELE_TO_GM_MODE
Definition: Player.h:814
@ TELE_TO_NOT_LEAVE_TRANSPORT
Definition: Player.h:815

◆ TrainerSpellState

Enumerator
TRAINER_SPELL_GREEN 
TRAINER_SPELL_RED 
TRAINER_SPELL_GRAY 
TRAINER_SPELL_GREEN_DISABLED 
213{
217 TRAINER_SPELL_GREEN_DISABLED = 10 // custom value, not send to client: formally green but learn not allowed
218};
@ TRAINER_SPELL_GREEN
Definition: Player.h:214
@ TRAINER_SPELL_GRAY
Definition: Player.h:216
@ TRAINER_SPELL_GREEN_DISABLED
Definition: Player.h:217
@ TRAINER_SPELL_RED
Definition: Player.h:215

◆ TransferAbortReason

Enumerator
TRANSFER_ABORT_NONE 
TRANSFER_ABORT_ERROR 
TRANSFER_ABORT_MAX_PLAYERS 
TRANSFER_ABORT_NOT_FOUND 
TRANSFER_ABORT_TOO_MANY_INSTANCES 
TRANSFER_ABORT_ZONE_IN_COMBAT 
TRANSFER_ABORT_INSUF_EXPAN_LVL 
TRANSFER_ABORT_DIFFICULTY 
TRANSFER_ABORT_UNIQUE_MESSAGE 
TRANSFER_ABORT_TOO_MANY_REALM_INSTANCES 
TRANSFER_ABORT_NEED_GROUP 
TRANSFER_ABORT_NOT_FOUND1 
TRANSFER_ABORT_NOT_FOUND2 
TRANSFER_ABORT_NOT_FOUND3 
TRANSFER_ABORT_REALM_ONLY 
TRANSFER_ABORT_MAP_NOT_ALLOWED 
775{
776 TRANSFER_ABORT_NONE = 0x00,
778 TRANSFER_ABORT_MAX_PLAYERS = 0x02, // Transfer Aborted: instance is full
779 TRANSFER_ABORT_NOT_FOUND = 0x03, // Transfer Aborted: instance not found
780 TRANSFER_ABORT_TOO_MANY_INSTANCES = 0x04, // You have entered too many instances recently.
781 TRANSFER_ABORT_ZONE_IN_COMBAT = 0x06, // Unable to zone in while an encounter is in progress.
782 TRANSFER_ABORT_INSUF_EXPAN_LVL = 0x07, // You must have <TBC, WotLK> expansion installed to access this area.
783 TRANSFER_ABORT_DIFFICULTY = 0x08, // <Normal, Heroic, Epic> difficulty mode is not available for %s.
784 TRANSFER_ABORT_UNIQUE_MESSAGE = 0x09, // Until you've escaped TLK's grasp, you cannot leave this place!
785 TRANSFER_ABORT_TOO_MANY_REALM_INSTANCES = 0x0A, // Additional instances cannot be launched, please try again later.
786 TRANSFER_ABORT_NEED_GROUP = 0x0B, // 3.1
787 TRANSFER_ABORT_NOT_FOUND1 = 0x0C, // 3.1
788 TRANSFER_ABORT_NOT_FOUND2 = 0x0D, // 3.1
789 TRANSFER_ABORT_NOT_FOUND3 = 0x0E, // 3.2
790 TRANSFER_ABORT_REALM_ONLY = 0x0F, // All players on party must be from the same realm.
791 TRANSFER_ABORT_MAP_NOT_ALLOWED = 0x10, // Map can't be entered at this time.
792};
@ TRANSFER_ABORT_TOO_MANY_INSTANCES
Definition: Player.h:780
@ TRANSFER_ABORT_DIFFICULTY
Definition: Player.h:783
@ TRANSFER_ABORT_UNIQUE_MESSAGE
Definition: Player.h:784
@ TRANSFER_ABORT_MAP_NOT_ALLOWED
Definition: Player.h:791
@ TRANSFER_ABORT_INSUF_EXPAN_LVL
Definition: Player.h:782
@ TRANSFER_ABORT_NOT_FOUND1
Definition: Player.h:787
@ TRANSFER_ABORT_TOO_MANY_REALM_INSTANCES
Definition: Player.h:785
@ TRANSFER_ABORT_MAX_PLAYERS
Definition: Player.h:778
@ TRANSFER_ABORT_NOT_FOUND3
Definition: Player.h:789
@ TRANSFER_ABORT_ZONE_IN_COMBAT
Definition: Player.h:781
@ TRANSFER_ABORT_NONE
Definition: Player.h:776
@ TRANSFER_ABORT_NOT_FOUND
Definition: Player.h:779
@ TRANSFER_ABORT_NEED_GROUP
Definition: Player.h:786
@ TRANSFER_ABORT_NOT_FOUND2
Definition: Player.h:788
@ TRANSFER_ABORT_REALM_ONLY
Definition: Player.h:790
@ TRANSFER_ABORT_ERROR
Definition: Player.h:777

Function Documentation

◆ AddItemsSetItem()

void AddItemsSetItem ( Player player,
Item item 
)
34{
35 ItemTemplate const* proto = item->GetTemplate();
36 uint32 setid = proto->ItemSet;
37
38 ItemSetEntry const* set = sItemSetStore.LookupEntry(setid);
39
40 if (!set)
41 {
42 LOG_ERROR("sql.sql", "Item set {} for item (id {}) not found, mods not applied.", setid, proto->ItemId);
43 return;
44 }
45
47 return;
48
49 ItemSetEffect* eff = nullptr;
50
51 for (size_t x = 0; x < player->ItemSetEff.size(); ++x)
52 {
53 if (player->ItemSetEff[x] && player->ItemSetEff[x]->setid == setid)
54 {
55 eff = player->ItemSetEff[x];
56 break;
57 }
58 }
59
60 if (!eff)
61 {
62 eff = new ItemSetEffect();
63 eff->setid = setid;
64
65 size_t x = 0;
66 for (; x < player->ItemSetEff.size(); ++x)
67 if (!player->ItemSetEff[x])
68 break;
69
70 if (x < player->ItemSetEff.size())
71 player->ItemSetEff[x] = eff;
72 else
73 player->ItemSetEff.push_back(eff);
74 }
75
76 ++eff->item_count;
77
78 for (uint32 x = 0; x < MAX_ITEM_SET_SPELLS; ++x)
79 {
80 if (!set->spells [x])
81 continue;
82 //not enough for spell
83 if (set->items_to_triggerspell[x] > eff->item_count)
84 continue;
85
86 uint32 z = 0;
87 for (; z < MAX_ITEM_SET_SPELLS; ++z)
88 if (eff->spells[z] && eff->spells[z]->Id == set->spells[x])
89 break;
90
91 if (z < MAX_ITEM_SET_SPELLS)
92 continue;
93
94 //new spell
95 for (uint32 y = 0; y < MAX_ITEM_SET_SPELLS; ++y)
96 {
97 if (!eff->spells[y]) // free slot
98 {
99 SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(set->spells[x]);
100 if (!spellInfo)
101 {
102 LOG_ERROR("entities.item", "WORLD: unknown spell id {} in items set {} effects", set->spells[x], setid);
103 break;
104 }
105
106 // spell casted only if fit form requirement, in other case will casted at form change
107 if (sScriptMgr->CanItemApplyEquipSpell(player, item))
108 {
109 player->ApplyEquipSpell(spellInfo, nullptr, true);
110 }
111
112 eff->spells[y] = spellInfo;
113 break;
114 }
115 }
116 }
117}
std::uint32_t uint32
Definition: Define.h:108
#define LOG_ERROR(filterType__,...)
Definition: Log.h:157
DBCStorage< ItemSetEntry > sItemSetStore(ItemSetEntryfmt)
#define sScriptMgr
Definition: ScriptMgr.h:698
#define sSpellMgr
Definition: SpellMgr.h:825
#define MAX_ITEM_SET_SPELLS
Definition: DBCStructure.h:1220
Definition: Item.h:32
uint32 item_count
Definition: Item.h:34
uint32 setid
Definition: Item.h:33
SpellInfo const * spells[8]
Definition: Item.h:35
ItemTemplate const * GetTemplate() const
Definition: Item.cpp:545
Definition: ItemTemplate.h:628
uint32 ItemSet
Definition: ItemTemplate.h:684
uint32 ItemId
Definition: ItemTemplate.h:629
uint16 GetSkillValue(uint32 skill) const
Definition: Player.cpp:5367
std::vector< ItemSetEffect * > ItemSetEff
Definition: Player.h:2202
void ApplyEquipSpell(SpellInfo const *spellInfo, Item *item, bool apply, bool form_change=false)
Definition: Player.cpp:7060
Definition: SpellInfo.h:314
uint32 Id
Definition: SpellInfo.h:318
Definition: DBCStructure.h:1223
uint32 required_skill_value
Definition: DBCStructure.h:1232
uint32 items_to_triggerspell[MAX_ITEM_SET_SPELLS]
Definition: DBCStructure.h:1230
uint32 spells[MAX_ITEM_SET_SPELLS]
Definition: DBCStructure.h:1229
uint32 required_skill_id
Definition: DBCStructure.h:1231

References Player::ApplyEquipSpell(), Player::GetSkillValue(), Item::GetTemplate(), SpellInfo::Id, ItemSetEffect::item_count, ItemTemplate::ItemId, ItemSetEntry::items_to_triggerspell, ItemTemplate::ItemSet, Player::ItemSetEff, LOG_ERROR, MAX_ITEM_SET_SPELLS, ItemSetEntry::required_skill_id, ItemSetEntry::required_skill_value, ItemSetEffect::setid, sItemSetStore, ItemSetEffect::spells, ItemSetEntry::spells, sScriptMgr, and sSpellMgr.

Referenced by Player::_ApplyAllItemMods(), and Player::EquipItem().

◆ DEFINE_ENUM_FLAG()

DEFINE_ENUM_FLAG ( PlayerFlags  )

◆ operator<<()

std::ostringstream & operator<< ( std::ostringstream &  ss,
PlayerTaxi const &  taxi 
)
229{
230 for (uint8 i = 0; i < TaxiMaskSize; ++i)
231 ss << taxi.m_taximask[i] << ' ';
232 return ss;
233}
std::uint8_t uint8
Definition: Define.h:110
static constexpr size_t TaxiMaskSize
Definition: DBCStructure.h:2246

◆ RemoveItemsSetItem()

void RemoveItemsSetItem ( Player player,
ItemTemplate const *  proto 
)
120{
121 uint32 setid = proto->ItemSet;
122
123 ItemSetEntry const* set = sItemSetStore.LookupEntry(setid);
124
125 if (!set)
126 {
127 LOG_ERROR("sql.sql", "Item set #{} for item #{} not found, mods not removed.", setid, proto->ItemId);
128 return;
129 }
130
131 ItemSetEffect* eff = nullptr;
132 size_t setindex = 0;
133 for (; setindex < player->ItemSetEff.size(); setindex++)
134 {
135 if (player->ItemSetEff[setindex] && player->ItemSetEff[setindex]->setid == setid)
136 {
137 eff = player->ItemSetEff[setindex];
138 break;
139 }
140 }
141
142 // can be in case now enough skill requirement for set appling but set has been appliend when skill requirement not enough
143 if (!eff)
144 return;
145
146 --eff->item_count;
147
148 for (uint32 x = 0; x < MAX_ITEM_SET_SPELLS; x++)
149 {
150 if (!set->spells[x])
151 continue;
152
153 // enough for spell
154 if (set->items_to_triggerspell[x] <= eff->item_count)
155 continue;
156
157 for (uint32 z = 0; z < MAX_ITEM_SET_SPELLS; z++)
158 {
159 if (eff->spells[z] && eff->spells[z]->Id == set->spells[x])
160 {
161 // spell can be not active if not fit form requirement
162 player->ApplyEquipSpell(eff->spells[z], nullptr, false);
163 eff->spells[z] = nullptr;
164 break;
165 }
166 }
167 }
168
169 if (!eff->item_count) //all items of a set were removed
170 {
171 ASSERT(eff == player->ItemSetEff[setindex]);
172 delete eff;
173 player->ItemSetEff[setindex] = nullptr;
174 }
175}
#define ASSERT
Definition: Errors.h:68

References Player::ApplyEquipSpell(), ASSERT, SpellInfo::Id, ItemSetEffect::item_count, ItemTemplate::ItemId, ItemSetEntry::items_to_triggerspell, ItemTemplate::ItemSet, Player::ItemSetEff, LOG_ERROR, MAX_ITEM_SET_SPELLS, sItemSetStore, ItemSetEffect::spells, and ItemSetEntry::spells.

Referenced by Player::_RemoveAllItemMods(), Player::DestroyItem(), and Player::RemoveItem().