AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Player.h File Reference
#include "ArenaTeam.h"
#include "Battleground.h"
#include "CharmInfo.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 "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 "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  SavedItem
 
struct  ProgressionRequirement
 
struct  DungeonProgressionRequirements
 
struct  BGData
 
struct  EntryPointData
 
struct  PendingSpellCastRequest
 
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  QuestSound { QUEST_SOUND_FAILURE = 847 }
 
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 ,
  PLAYER_LOGIN_QUERY_LOAD_OFFLINE_ACHIEVEMENTS_UPDATES = 38 ,
  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 
228{
229 ACTION_BUTTON_SPELL = 0x00,
230 ACTION_BUTTON_C = 0x01, // click?
231 ACTION_BUTTON_EQSET = 0x20,
232 ACTION_BUTTON_MACRO = 0x40,
234 ACTION_BUTTON_ITEM = 0x80
235};
@ ACTION_BUTTON_EQSET
Definition: Player.h:231
@ ACTION_BUTTON_C
Definition: Player.h:230
@ ACTION_BUTTON_MACRO
Definition: Player.h:232
@ ACTION_BUTTON_ITEM
Definition: Player.h:234
@ ACTION_BUTTON_CMACRO
Definition: Player.h:233
@ ACTION_BUTTON_SPELL
Definition: Player.h:229

◆ ActionButtonUpdateState

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

◆ AdditionalSaving

Enumerator
ADDITIONAL_SAVING_NONE 
ADDITIONAL_SAVING_INVENTORY_AND_GOLD 
ADDITIONAL_SAVING_QUEST_STATUS 
995{
999};
@ ADDITIONAL_SAVING_INVENTORY_AND_GOLD
Definition: Player.h:997
@ ADDITIONAL_SAVING_NONE
Definition: Player.h:996
@ ADDITIONAL_SAVING_QUEST_STATUS
Definition: Player.h:998

◆ 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 
603{
604 AT_LOGIN_NONE = 0x00,
605 AT_LOGIN_RENAME = 0x01,
608 AT_LOGIN_CUSTOMIZE = 0x08,
610 AT_LOGIN_FIRST = 0x20,
613 AT_LOGIN_RESET_AP = 0x100,
614 AT_LOGIN_RESET_ARENA = 0x200,
616 AT_LOGIN_RESURRECT = 0x800
617};
@ AT_LOGIN_RESET_TALENTS
Definition: Player.h:607
@ AT_LOGIN_RESET_SPELLS
Definition: Player.h:606
@ AT_LOGIN_NONE
Definition: Player.h:604
@ AT_LOGIN_RESET_PET_TALENTS
Definition: Player.h:609
@ AT_LOGIN_RESET_AP
Definition: Player.h:613
@ AT_LOGIN_RESET_ARENA
Definition: Player.h:614
@ AT_LOGIN_FIRST
Definition: Player.h:610
@ AT_LOGIN_RESURRECT
Definition: Player.h:616
@ AT_LOGIN_CUSTOMIZE
Definition: Player.h:608
@ AT_LOGIN_RENAME
Definition: Player.h:605
@ AT_LOGIN_CHANGE_RACE
Definition: Player.h:612
@ AT_LOGIN_CHECK_ACHIEVS
Definition: Player.h:615
@ AT_LOGIN_CHANGE_FACTION
Definition: Player.h:611

◆ BankBagSlots

Enumerator
BANK_SLOT_BAG_START 
BANK_SLOT_BAG_END 
721{
724};
@ BANK_SLOT_BAG_END
Definition: Player.h:723
@ BANK_SLOT_BAG_START
Definition: Player.h:722

◆ BankItemSlots

Enumerator
BANK_SLOT_ITEM_START 
BANK_SLOT_ITEM_END 
715{
718};
@ BANK_SLOT_ITEM_START
Definition: Player.h:716
@ BANK_SLOT_ITEM_END
Definition: Player.h:717

◆ BuyBackSlots

Enumerator
BUYBACK_SLOT_START 
BUYBACK_SLOT_END 
727{
728 // stored in m_items, there is no more m_buybackitems
731};
@ BUYBACK_SLOT_END
Definition: Player.h:730
@ BUYBACK_SLOT_START
Definition: Player.h:729

◆ BuyBankSlotResult

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

◆ CharDeleteMethod

Enumerator
CHAR_DELETE_REMOVE 
CHAR_DELETE_UNLINK 
957{
958 CHAR_DELETE_REMOVE = 0, // Completely remove from the database
959 CHAR_DELETE_UNLINK = 1 // The character gets unlinked from the account,
960 // the name gets freed up and appears as deleted ingame
961};
@ CHAR_DELETE_REMOVE
Definition: Player.h:958
@ CHAR_DELETE_UNLINK
Definition: Player.h:959

◆ CurrencyItems

Enumerator
ITEM_HONOR_POINTS_ID 
ITEM_ARENA_POINTS_ID 
964{
965 ITEM_HONOR_POINTS_ID = 43308,
967};
@ ITEM_ARENA_POINTS_ID
Definition: Player.h:966
@ ITEM_HONOR_POINTS_ID
Definition: Player.h:965

◆ CurrencyTokenSlots

Enumerator
CURRENCYTOKEN_SLOT_START 
CURRENCYTOKEN_SLOT_END 
740{
743};
@ CURRENCYTOKEN_SLOT_END
Definition: Player.h:742
@ CURRENCYTOKEN_SLOT_START
Definition: Player.h:741

◆ DrunkenState

Enumerator
DRUNKEN_SOBER 
DRUNKEN_TIPSY 
DRUNKEN_DRUNK 
DRUNKEN_SMASHED 
468{
469 DRUNKEN_SOBER = 0,
470 DRUNKEN_TIPSY = 1,
471 DRUNKEN_DRUNK = 2,
473};
@ DRUNKEN_TIPSY
Definition: Player.h:470
@ DRUNKEN_DRUNK
Definition: Player.h:471
@ DRUNKEN_SOBER
Definition: Player.h:469
@ DRUNKEN_SMASHED
Definition: Player.h:472

◆ DuelState

enum DuelState
Enumerator
DUEL_STATE_CHALLENGED 
DUEL_STATE_COUNTDOWN 
DUEL_STATE_IN_PROGRESS 
DUEL_STATE_COMPLETED 
374{
379};
@ DUEL_STATE_CHALLENGED
Definition: Player.h:375
@ DUEL_STATE_COUNTDOWN
Definition: Player.h:376
@ DUEL_STATE_COMPLETED
Definition: Player.h:378
@ DUEL_STATE_IN_PROGRESS
Definition: Player.h:377

◆ EmoteBroadcastTextID

Enumerator
EMOTE_BROADCAST_TEXT_ID_STRANGE_GESTURES 
1027{
1029};
@ EMOTE_BROADCAST_TEXT_ID_STRANGE_GESTURES
Definition: Player.h:1028

◆ EnviromentalDamage

Type of environmental damages.

Enumerator
DAMAGE_EXHAUSTED 
DAMAGE_DROWNING 
DAMAGE_FALL 
DAMAGE_LAVA 
DAMAGE_SLIME 
DAMAGE_FIRE 
DAMAGE_FALL_TO_VOID 
838{
840 DAMAGE_DROWNING = 1,
841 DAMAGE_FALL = 2,
842 DAMAGE_LAVA = 3,
843 DAMAGE_SLIME = 4,
844 DAMAGE_FIRE = 5,
845 DAMAGE_FALL_TO_VOID = 6 // custom case for fall without durability loss
846};
@ DAMAGE_SLIME
Definition: Player.h:843
@ DAMAGE_FALL
Definition: Player.h:841
@ DAMAGE_LAVA
Definition: Player.h:842
@ DAMAGE_FALL_TO_VOID
Definition: Player.h:845
@ DAMAGE_DROWNING
Definition: Player.h:840
@ DAMAGE_FIRE
Definition: Player.h:844
@ DAMAGE_EXHAUSTED
Definition: Player.h:839

◆ EquipmentSetUpdateState

Enumerator
EQUIPMENT_SET_UNCHANGED 
EQUIPMENT_SET_CHANGED 
EQUIPMENT_SET_NEW 
EQUIPMENT_SET_DELETED 
746{
751};
@ EQUIPMENT_SET_CHANGED
Definition: Player.h:748
@ EQUIPMENT_SET_UNCHANGED
Definition: Player.h:747
@ EQUIPMENT_SET_DELETED
Definition: Player.h:750
@ EQUIPMENT_SET_NEW
Definition: Player.h:749

◆ 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 
678{
700};
@ EQUIPMENT_SLOT_SHOULDERS
Definition: Player.h:682
@ EQUIPMENT_SLOT_BODY
Definition: Player.h:683
@ EQUIPMENT_SLOT_HANDS
Definition: Player.h:689
@ EQUIPMENT_SLOT_FINGER1
Definition: Player.h:690
@ EQUIPMENT_SLOT_NECK
Definition: Player.h:681
@ EQUIPMENT_SLOT_FINGER2
Definition: Player.h:691
@ EQUIPMENT_SLOT_MAINHAND
Definition: Player.h:695
@ EQUIPMENT_SLOT_TABARD
Definition: Player.h:698
@ EQUIPMENT_SLOT_TRINKET1
Definition: Player.h:692
@ EQUIPMENT_SLOT_END
Definition: Player.h:699
@ EQUIPMENT_SLOT_HEAD
Definition: Player.h:680
@ EQUIPMENT_SLOT_LEGS
Definition: Player.h:686
@ EQUIPMENT_SLOT_BACK
Definition: Player.h:694
@ EQUIPMENT_SLOT_OFFHAND
Definition: Player.h:696
@ EQUIPMENT_SLOT_WAIST
Definition: Player.h:685
@ EQUIPMENT_SLOT_FEET
Definition: Player.h:687
@ EQUIPMENT_SLOT_CHEST
Definition: Player.h:684
@ EQUIPMENT_SLOT_WRISTS
Definition: Player.h:688
@ EQUIPMENT_SLOT_TRINKET2
Definition: Player.h:693
@ EQUIPMENT_SLOT_START
Definition: Player.h:679
@ EQUIPMENT_SLOT_RANGED
Definition: Player.h:697

◆ InstanceResetWarningType

Enumerator
RAID_INSTANCE_WARNING_HOURS 
RAID_INSTANCE_WARNING_MIN 
RAID_INSTANCE_WARNING_MIN_SOON 
RAID_INSTANCE_WELCOME 
RAID_INSTANCE_EXPIRED 
807{
808 RAID_INSTANCE_WARNING_HOURS = 1, // WARNING! %s is scheduled to reset in %d hour(s).
809 RAID_INSTANCE_WARNING_MIN = 2, // WARNING! %s is scheduled to reset in %d minute(s)!
810 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!
811 RAID_INSTANCE_WELCOME = 4, // Welcome to %s. This raid instance is scheduled to reset in %s.
813};
@ RAID_INSTANCE_WARNING_MIN
Definition: Player.h:809
@ RAID_INSTANCE_EXPIRED
Definition: Player.h:812
@ RAID_INSTANCE_WARNING_MIN_SOON
Definition: Player.h:810
@ RAID_INSTANCE_WARNING_HOURS
Definition: Player.h:808
@ RAID_INSTANCE_WELCOME
Definition: Player.h:811

◆ InstantFlightGossipAction

Enumerator
GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT 
1022{
1024};
@ GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT
Definition: Player.h:1023

◆ InventoryPackSlots

Enumerator
INVENTORY_SLOT_ITEM_START 
INVENTORY_SLOT_ITEM_END 
709{
712};
@ INVENTORY_SLOT_ITEM_START
Definition: Player.h:710
@ INVENTORY_SLOT_ITEM_END
Definition: Player.h:711

◆ InventorySlots

Enumerator
INVENTORY_SLOT_BAG_START 
INVENTORY_SLOT_BAG_END 
703{
706};
@ INVENTORY_SLOT_BAG_START
Definition: Player.h:704
@ INVENTORY_SLOT_BAG_END
Definition: Player.h:705

◆ KeyRingSlots

Enumerator
KEYRING_SLOT_START 
KEYRING_SLOT_END 
734{
736 KEYRING_SLOT_END = 118
737};
@ KEYRING_SLOT_END
Definition: Player.h:736
@ KEYRING_SLOT_START
Definition: Player.h:735

◆ MirrorTimerType

Enumerator
FATIGUE_TIMER 
BREATH_TIMER 
FIRE_TIMER 
578{
579 FATIGUE_TIMER = 0,
580 BREATH_TIMER = 1,
581 FIRE_TIMER = 2
582};
@ FIRE_TIMER
Definition: Player.h:581
@ FATIGUE_TIMER
Definition: Player.h:579
@ BREATH_TIMER
Definition: Player.h:580

◆ PlayedTimeIndex

Enumerator
PLAYED_TIME_TOTAL 
PLAYED_TIME_LEVEL 
859{
862};
@ PLAYED_TIME_TOTAL
Definition: Player.h:860
@ PLAYED_TIME_LEVEL
Definition: Player.h:861

◆ 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 
524{
529};
@ PLAYER_BYTES_2_OFFSET_PARTY_TYPE
Definition: Player.h:526
@ PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS
Definition: Player.h:527
@ PLAYER_BYTES_2_OFFSET_REST_STATE
Definition: Player.h:528
@ PLAYER_BYTES_2_OFFSET_FACIAL_STYLE
Definition: Player.h:525

◆ PlayerBytes3Offsets

Enumerator
PLAYER_BYTES_3_OFFSET_GENDER 
PLAYER_BYTES_3_OFFSET_INEBRIATION 
PLAYER_BYTES_3_OFFSET_PVP_TITLE 
PLAYER_BYTES_3_OFFSET_ARENA_FACTION 
532{
537};
@ PLAYER_BYTES_3_OFFSET_PVP_TITLE
Definition: Player.h:535
@ PLAYER_BYTES_3_OFFSET_INEBRIATION
Definition: Player.h:534
@ PLAYER_BYTES_3_OFFSET_GENDER
Definition: Player.h:533
@ PLAYER_BYTES_3_OFFSET_ARENA_FACTION
Definition: Player.h:536

◆ PlayerBytesOffsets

Enumerator
PLAYER_BYTES_OFFSET_SKIN_ID 
PLAYER_BYTES_OFFSET_FACE_ID 
PLAYER_BYTES_OFFSET_HAIR_STYLE_ID 
PLAYER_BYTES_OFFSET_HAIR_COLOR_ID 
516{
521};
@ PLAYER_BYTES_OFFSET_HAIR_COLOR_ID
Definition: Player.h:520
@ PLAYER_BYTES_OFFSET_HAIR_STYLE_ID
Definition: Player.h:519
@ PLAYER_BYTES_OFFSET_SKIN_ID
Definition: Player.h:517
@ PLAYER_BYTES_OFFSET_FACE_ID
Definition: Player.h:518

◆ 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 
919{
931};
@ NUM_CAI_SPELLS
Definition: Player.h:930
@ SPELL_HIGH_DAMAGE1
Definition: Player.h:924
@ SPELL_ROOT_OR_FEAR
Definition: Player.h:921
@ SPELL_HIGH_DAMAGE2
Definition: Player.h:925
@ SPELL_INSTANT_DAMAGE2
Definition: Player.h:923
@ SPELL_INSTANT_DAMAGE
Definition: Player.h:922
@ SPELL_T_CHARGE
Definition: Player.h:927
@ SPELL_DOT_DAMAGE
Definition: Player.h:926
@ SPELL_FAST_RUN
Definition: Player.h:929
@ SPELL_T_STUN
Definition: Player.h:920
@ SPELL_IMMUNITY
Definition: Player.h:928

◆ PlayerChatTag

Enumerator
CHAT_TAG_NONE 
CHAT_TAG_AFK 
CHAT_TAG_DND 
CHAT_TAG_GM 
CHAT_TAG_COM 
CHAT_TAG_DEV 
849{
850 CHAT_TAG_NONE = 0x00,
851 CHAT_TAG_AFK = 0x01,
852 CHAT_TAG_DND = 0x02,
853 CHAT_TAG_GM = 0x04,
854 CHAT_TAG_COM = 0x08, // Commentator tag. Do not exist in clean client
855 CHAT_TAG_DEV = 0x10,
856};
@ CHAT_TAG_COM
Definition: Player.h:854
@ CHAT_TAG_DND
Definition: Player.h:852
@ CHAT_TAG_DEV
Definition: Player.h:855
@ CHAT_TAG_AFK
Definition: Player.h:851
@ CHAT_TAG_GM
Definition: Player.h:853
@ CHAT_TAG_NONE
Definition: Player.h:850

◆ PlayerCommandStates

Enumerator
CHEAT_NONE 
CHEAT_GOD 
CHEAT_CASTTIME 
CHEAT_COOLDOWN 
CHEAT_POWER 
CHEAT_WATERWALK 
1002{
1003 CHEAT_NONE = 0x00,
1004 CHEAT_GOD = 0x01,
1005 CHEAT_CASTTIME = 0x02,
1006 CHEAT_COOLDOWN = 0x04,
1007 CHEAT_POWER = 0x08,
1008 CHEAT_WATERWALK = 0x10
1009};
@ CHEAT_COOLDOWN
Definition: Player.h:1006
@ CHEAT_POWER
Definition: Player.h:1007
@ CHEAT_GOD
Definition: Player.h:1004
@ CHEAT_NONE
Definition: Player.h:1003
@ CHEAT_WATERWALK
Definition: Player.h:1008
@ CHEAT_CASTTIME
Definition: Player.h:1005

◆ 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 
907{
908 DELAYED_SAVE_PLAYER = 0x01,
916};
@ DELAYED_BG_GROUP_RESTORE
Flag to restore group state after teleport from BG.
Definition: Player.h:913
@ DELAYED_END
Definition: Player.h:915
@ DELAYED_SAVE_PLAYER
Definition: Player.h:908
@ DELAYED_BG_MOUNT_RESTORE
Flag to restore mount state after teleport from BG.
Definition: Player.h:911
@ DELAYED_VEHICLE_TELEPORT
Definition: Player.h:914
@ DELAYED_BG_TAXI_RESTORE
Flag to restore taxi state after teleport from BG.
Definition: Player.h:912
@ DELAYED_SPELL_CAST_DESERTER
Definition: Player.h:910
@ DELAYED_RESURRECT_PLAYER
Definition: Player.h:909

◆ 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 
588{
589 // gm abilities
590 PLAYER_EXTRA_GM_ON = 0x0001,
592 PLAYER_EXTRA_TAXICHEAT = 0x0008,
594 PLAYER_EXTRA_GM_CHAT = 0x0020, // Show GM badge in chat messages
595 PLAYER_EXTRA_HAS_310_FLYER = 0x0040, // Marks if player already has 310% speed flying mount
596 PLAYER_EXTRA_SPECTATOR_ON = 0x0080, // Marks if player is spectactor
597 PLAYER_EXTRA_PVP_DEATH = 0x0100, // store PvP death status until corpse creating.
598 PLAYER_EXTRA_SHOW_DK_PET = 0x0400, // Marks if player should see ghoul on login screen
599};
@ PLAYER_EXTRA_GM_ON
Definition: Player.h:590
@ PLAYER_EXTRA_ACCEPT_WHISPERS
Definition: Player.h:591
@ PLAYER_EXTRA_GM_INVISIBLE
Definition: Player.h:593
@ PLAYER_EXTRA_HAS_310_FLYER
Definition: Player.h:595
@ PLAYER_EXTRA_SHOW_DK_PET
Definition: Player.h:598
@ PLAYER_EXTRA_TAXICHEAT
Definition: Player.h:592
@ PLAYER_EXTRA_SPECTATOR_ON
Definition: Player.h:596
@ PLAYER_EXTRA_PVP_DEATH
Definition: Player.h:597
@ PLAYER_EXTRA_GM_CHAT
Definition: Player.h:594

◆ PlayerFieldByte2Flags

Enumerator
PLAYER_FIELD_BYTE2_NONE 
PLAYER_FIELD_BYTE2_STEALTH 
PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW 
571{
575};
@ PLAYER_FIELD_BYTE2_STEALTH
Definition: Player.h:573
@ PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW
Definition: Player.h:574
@ PLAYER_FIELD_BYTE2_NONE
Definition: Player.h:572

◆ PlayerFieldByteFlags

Enumerator
PLAYER_FIELD_BYTE_TRACK_STEALTHED 
PLAYER_FIELD_BYTE_RELEASE_TIMER 
PLAYER_FIELD_BYTE_NO_RELEASE_WINDOW 
563{
565 PLAYER_FIELD_BYTE_RELEASE_TIMER = 0x00000008, // Display time till auto release spirit
566 PLAYER_FIELD_BYTE_NO_RELEASE_WINDOW = 0x00000010 // Display no "release spirit" window at all
567};
@ PLAYER_FIELD_BYTE_NO_RELEASE_WINDOW
Definition: Player.h:566
@ PLAYER_FIELD_BYTE_TRACK_STEALTHED
Definition: Player.h:564
@ PLAYER_FIELD_BYTE_RELEASE_TIMER
Definition: Player.h:565

◆ 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 
548{
552};
@ PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID
Definition: Player.h:549
@ PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION
Definition: Player.h:551
@ PLAYER_FIELD_BYTES_2_OFFSET_IGNORE_POWER_REGEN_PREDICTION_MASK
Definition: Player.h:550

◆ 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 
540{
545};
@ PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK
Definition: Player.h:544
@ PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES
Definition: Player.h:543
@ PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL
Definition: Player.h:542
@ PLAYER_FIELD_BYTES_OFFSET_FLAGS
Definition: Player.h:541

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

◆ 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 
PLAYER_LOGIN_QUERY_LOAD_OFFLINE_ACHIEVEMENTS_UPDATES 
MAX_PLAYER_LOGIN_QUERY 
868{
904};
@ PLAYER_LOGIN_QUERY_LOAD_SPELL_COOLDOWNS
Definition: Player.h:881
@ PLAYER_LOGIN_QUERY_LOAD_GLYPHS
Definition: Player.h:887
@ PLAYER_LOGIN_QUERY_LOAD_DECLINED_NAMES
Definition: Player.h:882
@ PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS_REW
Definition: Player.h:894
@ MAX_PLAYER_LOGIN_QUERY
Definition: Player.h:903
@ PLAYER_LOGIN_QUERY_LOAD_DAILY_QUEST_STATUS
Definition: Player.h:873
@ PLAYER_LOGIN_QUERY_LOAD_CHARACTER_SETTINGS
Definition: Player.h:900
@ PLAYER_LOGIN_QUERY_LOAD_INSTANCE_LOCK_TIMES
Definition: Player.h:895
@ PLAYER_LOGIN_QUERY_LOAD_SEASONAL_QUEST_STATUS
Definition: Player.h:896
@ PLAYER_LOGIN_QUERY_LOAD_SOCIAL_LIST
Definition: Player.h:879
@ PLAYER_LOGIN_QUERY_LOAD_ACTIONS
Definition: Player.h:876
@ PLAYER_LOGIN_QUERY_LOAD_SKILLS
Definition: Player.h:890
@ PLAYER_LOGIN_QUERY_LOAD_ACCOUNT_DATA
Definition: Player.h:889
@ PLAYER_LOGIN_QUERY_LOAD_MAIL_ITEMS
Definition: Player.h:878
@ PLAYER_LOGIN_QUERY_LOAD_PET_SLOTS
Definition: Player.h:901
@ PLAYER_LOGIN_QUERY_LOAD_INVENTORY
Definition: Player.h:875
@ PLAYER_LOGIN_QUERY_LOAD_REPUTATION
Definition: Player.h:874
@ PLAYER_LOGIN_QUERY_LOAD_BREW_OF_THE_MONTH
Definition: Player.h:898
@ PLAYER_LOGIN_QUERY_LOAD_FROM
Definition: Player.h:869
@ PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS
Definition: Player.h:872
@ PLAYER_LOGIN_QUERY_LOAD_ENTRY_POINT
Definition: Player.h:886
@ PLAYER_LOGIN_QUERY_LOAD_OFFLINE_ACHIEVEMENTS_UPDATES
Definition: Player.h:902
@ PLAYER_LOGIN_QUERY_LOAD_WEEKLY_QUEST_STATUS
Definition: Player.h:891
@ PLAYER_LOGIN_QUERY_LOAD_MONTHLY_QUEST_STATUS
Definition: Player.h:897
@ PLAYER_LOGIN_QUERY_LOAD_EQUIPMENT_SETS
Definition: Player.h:885
@ PLAYER_LOGIN_QUERY_LOAD_MAILS
Definition: Player.h:877
@ PLAYER_LOGIN_QUERY_LOAD_AURAS
Definition: Player.h:870
@ PLAYER_LOGIN_QUERY_LOAD_TALENTS
Definition: Player.h:888
@ PLAYER_LOGIN_QUERY_LOAD_BANNED
Definition: Player.h:893
@ PLAYER_LOGIN_QUERY_LOAD_CRITERIA_PROGRESS
Definition: Player.h:884
@ PLAYER_LOGIN_QUERY_LOAD_HOME_BIND
Definition: Player.h:880
@ PLAYER_LOGIN_QUERY_LOAD_CORPSE_LOCATION
Definition: Player.h:899
@ PLAYER_LOGIN_QUERY_LOAD_SPELLS
Definition: Player.h:871
@ PLAYER_LOGIN_QUERY_LOAD_RANDOM_BG
Definition: Player.h:892
@ PLAYER_LOGIN_QUERY_LOAD_ACHIEVEMENTS
Definition: Player.h:883

◆ PlayerMovementType

Enumerator
MOVE_ROOT 
MOVE_UNROOT 
MOVE_WATER_WALK 
MOVE_LAND_WALK 
460{
461 MOVE_ROOT = 1,
462 MOVE_UNROOT = 2,
463 MOVE_WATER_WALK = 3,
465};
@ MOVE_ROOT
Definition: Player.h:461
@ MOVE_UNROOT
Definition: Player.h:462
@ MOVE_WATER_WALK
Definition: Player.h:463
@ MOVE_LAND_WALK
Definition: Player.h:464

◆ PlayerRestState

Enumerator
REST_STATE_RESTED 
REST_STATE_NOT_RAF_LINKED 
REST_STATE_RAF_LINKED 
988{
989 REST_STATE_RESTED = 0x01,
992};
@ REST_STATE_RESTED
Definition: Player.h:989
@ REST_STATE_RAF_LINKED
Definition: Player.h:991
@ REST_STATE_NOT_RAF_LINKED
Definition: Player.h:990

◆ PlayerSlots

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

◆ PlayerSpellState

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

◆ PlayerUnderwaterState

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

◆ PlayerXPSource

Enumerator
XPSOURCE_KILL 
XPSOURCE_QUEST 
XPSOURCE_QUEST_DF 
XPSOURCE_EXPLORE 
XPSOURCE_BATTLEGROUND 
1013{
1014 XPSOURCE_KILL = 0,
1015 XPSOURCE_QUEST = 1,
1017 XPSOURCE_EXPLORE = 3,
1019};
@ XPSOURCE_BATTLEGROUND
Definition: Player.h:1018
@ XPSOURCE_KILL
Definition: Player.h:1014
@ XPSOURCE_QUEST
Definition: Player.h:1015
@ XPSOURCE_EXPLORE
Definition: Player.h:1017
@ XPSOURCE_QUEST_DF
Definition: Player.h:1016

◆ QuestSlotOffsets

Enumerator
QUEST_ID_OFFSET 
QUEST_STATE_OFFSET 
QUEST_COUNTS_OFFSET 
QUEST_TIME_OFFSET 
626{
627 QUEST_ID_OFFSET = 0,
631};
@ QUEST_TIME_OFFSET
Definition: Player.h:630
@ QUEST_ID_OFFSET
Definition: Player.h:627
@ QUEST_COUNTS_OFFSET
Definition: Player.h:629
@ QUEST_STATE_OFFSET
Definition: Player.h:628

◆ QuestSlotStateMask

Enumerator
QUEST_STATE_NONE 
QUEST_STATE_COMPLETE 
QUEST_STATE_FAIL 
636{
637 QUEST_STATE_NONE = 0x0000,
638 QUEST_STATE_COMPLETE = 0x0001,
639 QUEST_STATE_FAIL = 0x0002
640};
@ QUEST_STATE_COMPLETE
Definition: Player.h:638
@ QUEST_STATE_FAIL
Definition: Player.h:639
@ QUEST_STATE_NONE
Definition: Player.h:637

◆ QuestSound

enum QuestSound
Enumerator
QUEST_SOUND_FAILURE 
249{
251};
@ QUEST_SOUND_FAILURE
Definition: Player.h:250

◆ 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 
970{
985};
@ ERR_REFER_A_FRIEND_TARGET_TOO_HIGH
Definition: Player.h:973
@ ERR_REFER_A_FRIEND_SUMMON_OFFLINE_S
Definition: Player.h:984
@ ERR_REFER_A_FRIEND_DIFFERENT_FACTION
Definition: Player.h:976
@ ERR_REFER_A_FRIEND_NONE
Definition: Player.h:971
@ ERR_REFER_A_FRIEND_NO_TARGET
Definition: Player.h:979
@ ERR_REFER_A_FRIEND_NOT_NOW
Definition: Player.h:977
@ ERR_REFER_A_FRIEND_INSUF_EXPAN_LVL
Definition: Player.h:983
@ ERR_REFER_A_FRIEND_INSUFFICIENT_GRANTABLE_LEVELS
Definition: Player.h:974
@ ERR_REFER_A_FRIEND_NOT_REFERRED_BY
Definition: Player.h:972
@ ERR_REFER_A_FRIEND_TOO_FAR
Definition: Player.h:975
@ ERR_REFER_A_FRIEND_SUMMON_LEVEL_MAX_I
Definition: Player.h:981
@ ERR_REFER_A_FRIEND_NOT_IN_GROUP
Definition: Player.h:980
@ ERR_REFER_A_FRIEND_GRANT_LEVEL_MAX_I
Definition: Player.h:978
@ ERR_REFER_A_FRIEND_SUMMON_COOLDOWN
Definition: Player.h:982

◆ 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 
238{
246};
@ REPUTATION_SOURCE_KILL
Definition: Player.h:239
@ REPUTATION_SOURCE_SPELL
Definition: Player.h:245
@ REPUTATION_SOURCE_QUEST
Definition: Player.h:240
@ REPUTATION_SOURCE_MONTHLY_QUEST
Definition: Player.h:243
@ REPUTATION_SOURCE_REPEATABLE_QUEST
Definition: Player.h:244
@ REPUTATION_SOURCE_WEEKLY_QUEST
Definition: Player.h:242
@ REPUTATION_SOURCE_DAILY_QUEST
Definition: Player.h:241

◆ RestFlag

enum RestFlag
Enumerator
REST_FLAG_IN_TAVERN 
REST_FLAG_IN_CITY 
REST_FLAG_IN_FACTION_AREA 
818{
820 REST_FLAG_IN_CITY = 0x2,
821 REST_FLAG_IN_FACTION_AREA = 0x4, // used with AREA_FLAG_REST_ZONE_*
822};
@ REST_FLAG_IN_TAVERN
Definition: Player.h:819
@ REST_FLAG_IN_FACTION_AREA
Definition: Player.h:821
@ REST_FLAG_IN_CITY
Definition: Player.h:820

◆ RuneCooldowns

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

◆ RuneType

enum RuneType
Enumerator
RUNE_BLOOD 
RUNE_UNHOLY 
RUNE_FROST 
RUNE_DEATH 
NUM_RUNE_TYPES 
413{
414 RUNE_BLOOD = 0,
415 RUNE_UNHOLY = 1,
416 RUNE_FROST = 2,
417 RUNE_DEATH = 3,
419};
@ RUNE_UNHOLY
Definition: Player.h:415
@ RUNE_DEATH
Definition: Player.h:417
@ NUM_RUNE_TYPES
Definition: Player.h:418
@ RUNE_FROST
Definition: Player.h:416
@ RUNE_BLOOD
Definition: Player.h:414

◆ SkillUpdateState

Enumerator
SKILL_UNCHANGED 
SKILL_CHANGED 
SKILL_NEW 
SKILL_DELETED 
643{
644 SKILL_UNCHANGED = 0,
645 SKILL_CHANGED = 1,
646 SKILL_NEW = 2,
647 SKILL_DELETED = 3
648};
@ SKILL_DELETED
Definition: Player.h:647
@ SKILL_CHANGED
Definition: Player.h:645
@ SKILL_UNCHANGED
Definition: Player.h:644
@ SKILL_NEW
Definition: Player.h:646

◆ SpellModType

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

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

◆ 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 
825{
826 TELE_TO_GM_MODE = 0x01,
830 TELE_TO_SPELL = 0x10,
832 TELE_TO_WITH_PET = 0x40,
834};
@ TELE_TO_WITH_PET
Definition: Player.h:832
@ TELE_TO_NOT_LEAVE_TAXI
Definition: Player.h:833
@ TELE_TO_NOT_LEAVE_VEHICLE
Definition: Player.h:831
@ TELE_TO_SPELL
Definition: Player.h:830
@ TELE_TO_NOT_LEAVE_COMBAT
Definition: Player.h:828
@ TELE_TO_NOT_UNSUMMON_PET
Definition: Player.h:829
@ TELE_TO_GM_MODE
Definition: Player.h:826
@ TELE_TO_NOT_LEAVE_TRANSPORT
Definition: Player.h:827

◆ TrainerSpellState

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

◆ 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 
787{
788 TRANSFER_ABORT_NONE = 0x00,
790 TRANSFER_ABORT_MAX_PLAYERS = 0x02, // Transfer Aborted: instance is full
791 TRANSFER_ABORT_NOT_FOUND = 0x03, // Transfer Aborted: instance not found
792 TRANSFER_ABORT_TOO_MANY_INSTANCES = 0x04, // You have entered too many instances recently.
793 TRANSFER_ABORT_ZONE_IN_COMBAT = 0x06, // Unable to zone in while an encounter is in progress.
794 TRANSFER_ABORT_INSUF_EXPAN_LVL = 0x07, // You must have <TBC, WotLK> expansion installed to access this area.
795 TRANSFER_ABORT_DIFFICULTY = 0x08, // <Normal, Heroic, Epic> difficulty mode is not available for %s.
796 TRANSFER_ABORT_UNIQUE_MESSAGE = 0x09, // Until you've escaped TLK's grasp, you cannot leave this place!
797 TRANSFER_ABORT_TOO_MANY_REALM_INSTANCES = 0x0A, // Additional instances cannot be launched, please try again later.
798 TRANSFER_ABORT_NEED_GROUP = 0x0B, // 3.1
799 TRANSFER_ABORT_NOT_FOUND1 = 0x0C, // 3.1
800 TRANSFER_ABORT_NOT_FOUND2 = 0x0D, // 3.1
801 TRANSFER_ABORT_NOT_FOUND3 = 0x0E, // 3.2
802 TRANSFER_ABORT_REALM_ONLY = 0x0F, // All players on party must be from the same realm.
803 TRANSFER_ABORT_MAP_NOT_ALLOWED = 0x10, // Map can't be entered at this time.
804};
@ TRANSFER_ABORT_TOO_MANY_INSTANCES
Definition: Player.h:792
@ TRANSFER_ABORT_DIFFICULTY
Definition: Player.h:795
@ TRANSFER_ABORT_UNIQUE_MESSAGE
Definition: Player.h:796
@ TRANSFER_ABORT_MAP_NOT_ALLOWED
Definition: Player.h:803
@ TRANSFER_ABORT_INSUF_EXPAN_LVL
Definition: Player.h:794
@ TRANSFER_ABORT_NOT_FOUND1
Definition: Player.h:799
@ TRANSFER_ABORT_TOO_MANY_REALM_INSTANCES
Definition: Player.h:797
@ TRANSFER_ABORT_MAX_PLAYERS
Definition: Player.h:790
@ TRANSFER_ABORT_NOT_FOUND3
Definition: Player.h:801
@ TRANSFER_ABORT_ZONE_IN_COMBAT
Definition: Player.h:793
@ TRANSFER_ABORT_NONE
Definition: Player.h:788
@ TRANSFER_ABORT_NOT_FOUND
Definition: Player.h:791
@ TRANSFER_ABORT_NEED_GROUP
Definition: Player.h:798
@ TRANSFER_ABORT_NOT_FOUND2
Definition: Player.h:800
@ TRANSFER_ABORT_REALM_ONLY
Definition: Player.h:802
@ TRANSFER_ABORT_ERROR
Definition: Player.h:789

Function Documentation

◆ AddItemsSetItem()

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

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:109
static constexpr std::size_t TaxiMaskSize
Definition: DBCStructure.h:2247

◆ RemoveItemsSetItem()

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