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 *, WorldPackets::WorldState::InitWorldStates &)
 
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 *, WorldPackets::WorldState::InitWorldStates &)

◆ 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}
DBCStorage< ItemSetEntry > sItemSetStore(ItemSetEntryfmt)
#define MAX_ITEM_SET_SPELLS
Definition DBCStructure.h:1228
std::uint32_t uint32
Definition Define.h:107
#define LOG_ERROR(filterType__,...)
Definition Log.h:157
#define sScriptMgr
Definition ScriptMgr.h:727
#define sSpellMgr
Definition SpellMgr.h:825
ItemTemplate const * GetTemplate() const
Definition Item.cpp:544
uint16 GetSkillValue(uint32 skill) const
Definition Player.cpp:5478
std::vector< ItemSetEffect * > ItemSetEff
Definition Player.h:2248
void ApplyEquipSpell(SpellInfo const *spellInfo, Item *item, bool apply, bool form_change=false)
Definition Player.cpp:7190
Definition SpellInfo.h:316
uint32 Id
Definition SpellInfo.h:320
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
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
Definition ItemTemplate.h:619
uint32 ItemSet
Definition ItemTemplate.h:675
uint32 ItemId
Definition ItemTemplate.h:620

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

◆ 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().