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
 
class  Player
 
struct  Player::ChatFloodThrottle
 
struct  Player::BgBattlegroundQueueID_Rec
 

Macros

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

Typedefs

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

Enumerations

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

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

◆ BankBagSlots

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

◆ BankItemSlots

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

◆ BuyBackSlots

Enumerator
BUYBACK_SLOT_START 
BUYBACK_SLOT_END 
722{
723 // stored in m_items, there is no more m_buybackitems
726};
@ BUYBACK_SLOT_END
Definition: Player.h:725
@ BUYBACK_SLOT_START
Definition: Player.h:724

◆ 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 
952{
953 CHAR_DELETE_REMOVE = 0, // Completely remove from the database
954 CHAR_DELETE_UNLINK = 1 // The character gets unlinked from the account,
955 // the name gets freed up and appears as deleted ingame
956};
@ CHAR_DELETE_REMOVE
Definition: Player.h:953
@ CHAR_DELETE_UNLINK
Definition: Player.h:954

◆ CurrencyItems

Enumerator
ITEM_HONOR_POINTS_ID 
ITEM_ARENA_POINTS_ID 
959{
960 ITEM_HONOR_POINTS_ID = 43308,
962};
@ ITEM_ARENA_POINTS_ID
Definition: Player.h:961
@ ITEM_HONOR_POINTS_ID
Definition: Player.h:960

◆ CurrencyTokenSlots

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

◆ DrunkenState

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

◆ DuelState

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

◆ EmoteBroadcastTextID

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

◆ EnviromentalDamage

Type of environmental damages.

Enumerator
DAMAGE_EXHAUSTED 
DAMAGE_DROWNING 
DAMAGE_FALL 
DAMAGE_LAVA 
DAMAGE_SLIME 
DAMAGE_FIRE 
DAMAGE_FALL_TO_VOID 
833{
835 DAMAGE_DROWNING = 1,
836 DAMAGE_FALL = 2,
837 DAMAGE_LAVA = 3,
838 DAMAGE_SLIME = 4,
839 DAMAGE_FIRE = 5,
840 DAMAGE_FALL_TO_VOID = 6 // custom case for fall without durability loss
841};
@ DAMAGE_SLIME
Definition: Player.h:838
@ DAMAGE_FALL
Definition: Player.h:836
@ DAMAGE_LAVA
Definition: Player.h:837
@ DAMAGE_FALL_TO_VOID
Definition: Player.h:840
@ DAMAGE_DROWNING
Definition: Player.h:835
@ DAMAGE_FIRE
Definition: Player.h:839
@ DAMAGE_EXHAUSTED
Definition: Player.h:834

◆ EquipmentSetUpdateState

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

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

◆ InstanceResetWarningType

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

◆ InstantFlightGossipAction

Enumerator
GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT 
1017{
1019};
@ GOSSIP_ACTION_TOGGLE_INSTANT_FLIGHT
Definition: Player.h:1018

◆ InventoryPackSlots

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

◆ InventorySlots

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

◆ KeyRingSlots

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

◆ MirrorTimerType

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

◆ PlayedTimeIndex

Enumerator
PLAYED_TIME_TOTAL 
PLAYED_TIME_LEVEL 
854{
857};
@ PLAYED_TIME_TOTAL
Definition: Player.h:855
@ PLAYED_TIME_LEVEL
Definition: Player.h:856

◆ 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 
519{
524};
@ PLAYER_BYTES_2_OFFSET_PARTY_TYPE
Definition: Player.h:521
@ PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS
Definition: Player.h:522
@ PLAYER_BYTES_2_OFFSET_REST_STATE
Definition: Player.h:523
@ PLAYER_BYTES_2_OFFSET_FACIAL_STYLE
Definition: Player.h:520

◆ PlayerBytes3Offsets

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

◆ PlayerBytesOffsets

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

◆ 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 
914{
926};
@ NUM_CAI_SPELLS
Definition: Player.h:925
@ SPELL_HIGH_DAMAGE1
Definition: Player.h:919
@ SPELL_ROOT_OR_FEAR
Definition: Player.h:916
@ SPELL_HIGH_DAMAGE2
Definition: Player.h:920
@ SPELL_INSTANT_DAMAGE2
Definition: Player.h:918
@ SPELL_INSTANT_DAMAGE
Definition: Player.h:917
@ SPELL_T_CHARGE
Definition: Player.h:922
@ SPELL_DOT_DAMAGE
Definition: Player.h:921
@ SPELL_FAST_RUN
Definition: Player.h:924
@ SPELL_T_STUN
Definition: Player.h:915
@ SPELL_IMMUNITY
Definition: Player.h:923

◆ PlayerChatTag

Enumerator
CHAT_TAG_NONE 
CHAT_TAG_AFK 
CHAT_TAG_DND 
CHAT_TAG_GM 
CHAT_TAG_COM 
CHAT_TAG_DEV 
844{
845 CHAT_TAG_NONE = 0x00,
846 CHAT_TAG_AFK = 0x01,
847 CHAT_TAG_DND = 0x02,
848 CHAT_TAG_GM = 0x04,
849 CHAT_TAG_COM = 0x08, // Commentator tag. Do not exist in clean client
850 CHAT_TAG_DEV = 0x10,
851};
@ CHAT_TAG_COM
Definition: Player.h:849
@ CHAT_TAG_DND
Definition: Player.h:847
@ CHAT_TAG_DEV
Definition: Player.h:850
@ CHAT_TAG_AFK
Definition: Player.h:846
@ CHAT_TAG_GM
Definition: Player.h:848
@ CHAT_TAG_NONE
Definition: Player.h:845

◆ PlayerCommandStates

Enumerator
CHEAT_NONE 
CHEAT_GOD 
CHEAT_CASTTIME 
CHEAT_COOLDOWN 
CHEAT_POWER 
CHEAT_WATERWALK 
997{
998 CHEAT_NONE = 0x00,
999 CHEAT_GOD = 0x01,
1000 CHEAT_CASTTIME = 0x02,
1001 CHEAT_COOLDOWN = 0x04,
1002 CHEAT_POWER = 0x08,
1003 CHEAT_WATERWALK = 0x10
1004};
@ CHEAT_COOLDOWN
Definition: Player.h:1001
@ CHEAT_POWER
Definition: Player.h:1002
@ CHEAT_GOD
Definition: Player.h:999
@ CHEAT_NONE
Definition: Player.h:998
@ CHEAT_WATERWALK
Definition: Player.h:1003
@ CHEAT_CASTTIME
Definition: Player.h:1000

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

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

◆ PlayerFieldByte2Flags

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

◆ PlayerFieldByteFlags

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

◆ 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 
543{
547};
@ PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID
Definition: Player.h:544
@ PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION
Definition: Player.h:546
@ PLAYER_FIELD_BYTES_2_OFFSET_IGNORE_POWER_REGEN_PREDICTION_MASK
Definition: Player.h:545

◆ 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 
535{
540};
@ PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK
Definition: Player.h:539
@ PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES
Definition: Player.h:538
@ PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL
Definition: Player.h:537
@ PLAYER_FIELD_BYTES_OFFSET_FLAGS
Definition: Player.h:536

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

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

◆ PlayerMovementType

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

◆ PlayerRestState

Enumerator
REST_STATE_RESTED 
REST_STATE_NOT_RAF_LINKED 
REST_STATE_RAF_LINKED 
983{
984 REST_STATE_RESTED = 0x01,
987};
@ REST_STATE_RESTED
Definition: Player.h:984
@ REST_STATE_RAF_LINKED
Definition: Player.h:986
@ REST_STATE_NOT_RAF_LINKED
Definition: Player.h:985

◆ PlayerSlots

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

◆ 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 
1008{
1009 XPSOURCE_KILL = 0,
1010 XPSOURCE_QUEST = 1,
1012 XPSOURCE_EXPLORE = 3,
1014};
@ XPSOURCE_BATTLEGROUND
Definition: Player.h:1013
@ XPSOURCE_KILL
Definition: Player.h:1009
@ XPSOURCE_QUEST
Definition: Player.h:1010
@ XPSOURCE_EXPLORE
Definition: Player.h:1012
@ XPSOURCE_QUEST_DF
Definition: Player.h:1011

◆ QuestSlotOffsets

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

◆ QuestSlotStateMask

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

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

◆ 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 
813{
815 REST_FLAG_IN_CITY = 0x2,
816 REST_FLAG_IN_FACTION_AREA = 0x4, // used with AREA_FLAG_REST_ZONE_*
817};
@ REST_FLAG_IN_TAVERN
Definition: Player.h:814
@ REST_FLAG_IN_FACTION_AREA
Definition: Player.h:816
@ REST_FLAG_IN_CITY
Definition: Player.h:815

◆ RuneCooldowns

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

◆ RuneType

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

◆ SkillUpdateState

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

◆ 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 
820{
821 TELE_TO_GM_MODE = 0x01,
825 TELE_TO_SPELL = 0x10,
827 TELE_TO_WITH_PET = 0x40,
829};
@ TELE_TO_WITH_PET
Definition: Player.h:827
@ TELE_TO_NOT_LEAVE_TAXI
Definition: Player.h:828
@ TELE_TO_NOT_LEAVE_VEHICLE
Definition: Player.h:826
@ TELE_TO_SPELL
Definition: Player.h:825
@ TELE_TO_NOT_LEAVE_COMBAT
Definition: Player.h:823
@ TELE_TO_NOT_UNSUMMON_PET
Definition: Player.h:824
@ TELE_TO_GM_MODE
Definition: Player.h:821
@ TELE_TO_NOT_LEAVE_TRANSPORT
Definition: Player.h:822

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

Function Documentation

◆ AddItemsSetItem()

void AddItemsSetItem ( Player player,
Item item 
)
34{
35 ItemTemplate const* proto = item->GetTemplate();
36 uint32 setid = proto->ItemSet;
37
38 ItemSetEntry const* set = sItemSetStore.LookupEntry(setid);
39
40 if (!set)
41 {
42 LOG_ERROR("sql.sql", "Item set {} for item (id {}) not found, mods not applied.", setid, proto->ItemId);
43 return;
44 }
45
47 return;
48
49 ItemSetEffect* eff = nullptr;
50
51 for (std::size_t x = 0; x < player->ItemSetEff.size(); ++x)
52 {
53 if (player->ItemSetEff[x] && player->ItemSetEff[x]->setid == setid)
54 {
55 eff = player->ItemSetEff[x];
56 break;
57 }
58 }
59
60 if (!eff)
61 {
62 eff = new ItemSetEffect();
63 eff->setid = setid;
64
65 std::size_t x = 0;
66 for (; x < player->ItemSetEff.size(); ++x)
67 if (!player->ItemSetEff[x])
68 break;
69
70 if (x < player->ItemSetEff.size())
71 player->ItemSetEff[x] = eff;
72 else
73 player->ItemSetEff.push_back(eff);
74 }
75
76 ++eff->item_count;
77
78 for (uint32 x = 0; x < MAX_ITEM_SET_SPELLS; ++x)
79 {
80 if (!set->spells [x])
81 continue;
82 //not enough for spell
83 if (set->items_to_triggerspell[x] > eff->item_count)
84 continue;
85
86 uint32 z = 0;
87 for (; z < MAX_ITEM_SET_SPELLS; ++z)
88 if (eff->spells[z] && eff->spells[z]->Id == set->spells[x])
89 break;
90
91 if (z < MAX_ITEM_SET_SPELLS)
92 continue;
93
94 //new spell
95 for (uint32 y = 0; y < MAX_ITEM_SET_SPELLS; ++y)
96 {
97 if (!eff->spells[y]) // free slot
98 {
99 SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(set->spells[x]);
100 if (!spellInfo)
101 {
102 LOG_ERROR("entities.item", "WORLD: unknown spell id {} in items set {} effects", set->spells[x], setid);
103 break;
104 }
105
106 // spell casted only if fit form requirement, in other case will casted at form change
107 if (sScriptMgr->CanItemApplyEquipSpell(player, item))
108 {
109 player->ApplyEquipSpell(spellInfo, nullptr, true);
110 }
111
112 eff->spells[y] = spellInfo;
113 break;
114 }
115 }
116 }
117}
#define LOG_ERROR(filterType__,...)
Definition: Log.h:156
std::uint32_t uint32
Definition: Define.h:107
DBCStorage< ItemSetEntry > sItemSetStore(ItemSetEntryfmt)
#define sSpellMgr
Definition: SpellMgr.h:825
#define sScriptMgr
Definition: ScriptMgr.h:708
#define MAX_ITEM_SET_SPELLS
Definition: DBCStructure.h:1228
Definition: Item.h:32
uint32 item_count
Definition: Item.h:34
uint32 setid
Definition: Item.h:33
SpellInfo const * spells[8]
Definition: Item.h:35
ItemTemplate const * GetTemplate() const
Definition: Item.cpp:545
Definition: ItemTemplate.h:619
uint32 ItemSet
Definition: ItemTemplate.h:675
uint32 ItemId
Definition: ItemTemplate.h:620
uint16 GetSkillValue(uint32 skill) const
Definition: Player.cpp:5437
std::vector< ItemSetEffect * > ItemSetEff
Definition: Player.h:2222
void ApplyEquipSpell(SpellInfo const *spellInfo, Item *item, bool apply, bool form_change=false)
Definition: Player.cpp:7147
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 
)
120{
121 uint32 setid = proto->ItemSet;
122
123 ItemSetEntry const* set = sItemSetStore.LookupEntry(setid);
124
125 if (!set)
126 {
127 LOG_ERROR("sql.sql", "Item set #{} for item #{} not found, mods not removed.", setid, proto->ItemId);
128 return;
129 }
130
131 ItemSetEffect* eff = nullptr;
132 std::size_t setindex = 0;
133 for (; setindex < player->ItemSetEff.size(); setindex++)
134 {
135 if (player->ItemSetEff[setindex] && player->ItemSetEff[setindex]->setid == setid)
136 {
137 eff = player->ItemSetEff[setindex];
138 break;
139 }
140 }
141
142 // can be in case now enough skill requirement for set appling but set has been appliend when skill requirement not enough
143 if (!eff)
144 return;
145
146 --eff->item_count;
147
148 for (uint32 x = 0; x < MAX_ITEM_SET_SPELLS; x++)
149 {
150 if (!set->spells[x])
151 continue;
152
153 // enough for spell
154 if (set->items_to_triggerspell[x] <= eff->item_count)
155 continue;
156
157 for (uint32 z = 0; z < MAX_ITEM_SET_SPELLS; z++)
158 {
159 if (eff->spells[z] && eff->spells[z]->Id == set->spells[x])
160 {
161 // spell can be not active if not fit form requirement
162 player->ApplyEquipSpell(eff->spells[z], nullptr, false);
163 eff->spells[z] = nullptr;
164 break;
165 }
166 }
167 }
168
169 if (!eff->item_count) //all items of a set were removed
170 {
171 ASSERT(eff == player->ItemSetEff[setindex]);
172 delete eff;
173 player->ItemSetEff[setindex] = nullptr;
174 }
175}
#define ASSERT
Definition: Errors.h:68

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

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