TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Player.h File Reference
#include "DBCStores.h"
#include "DB2Stores.h"
#include "GroupReference.h"
#include "MapReference.h"
#include "Item.h"
#include "PetDefines.h"
#include "QuestDef.h"
#include "SpellMgr.h"
#include "SpellHistory.h"
#include "Unit.h"
#include "WorldSession.h"
#include "PlayerTaxi.h"
#include "TradeData.h"
+ Include dependency graph for Player.h:

Go to the source code of this file.

Classes

singleton  AchievementMgr< T >
 
struct  PlayerSpell
 
struct  SpellModifier
 
struct  PlayerCurrency
 
struct  CUFProfile
 Represents a CompactUnitFrame profile. More...
 
struct  ActionButton
 
struct  PlayerCreateInfoItem
 
struct  PlayerLevelInfo
 
struct  PlayerCreateInfoAction
 
struct  PlayerInfo
 
struct  PvPInfo
 
struct  DuelInfo
 
struct  Areas
 
struct  RuneInfo
 
struct  Runes
 
struct  EnchantDuration
 

Macros

#define PLAYER_MAX_SKILLS   128
 
#define PLAYER_EXPLORED_ZONES_SIZE   200
 
#define MAX_CUF_PROFILES   5
 Maximum number of CompactUnitFrames profiles. More...
 
#define ACTION_BUTTON_ACTION(X)   (uint64(X) & 0x00000000FFFFFFFF)
 
#define ACTION_BUTTON_TYPE(X)   ((uint64(X) & 0xFFFFFFFF00000000) >> 56)
 
#define MAX_ACTION_BUTTON_ACTION_VALUE   (0xFFFFFFFF)
 
#define MAX_ACTION_BUTTONS   132
 
#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   6
 
#define MAX_TITLE_INDEX   (KNOWN_TITLES_SIZE * 64)
 
#define MAX_TIMERS   3
 
#define DISABLED_MIRROR_TIMER   -1
 
#define QUESTS_COMPLETED_BITS_SIZE   875
 
#define MAX_QUEST_OFFSET   15
 
#define INVENTORY_SLOT_BAG_0   255
 
#define VISIBLE_ITEM_ENTRY_OFFSET   0
 
#define VISIBLE_ITEM_ENCHANTMENT_OFFSET   1
 
#define MAX_EQUIPMENT_SET_INDEX   10
 
#define MAX_PLAYED_TIME_INDEX   2
 
#define MAX_PLAYER_SUMMON_DELAY   (2*MINUTE)
 

Typedefs

typedef std::deque< Mail * > PlayerMails
 
typedef std::unordered_map
< uint32, PlayerSpellState
PlayerTalentMap
 
typedef std::unordered_map
< uint32, PlayerSpell * > 
PlayerSpellMap
 
typedef std::list
< SpellModifier * > 
SpellModList
 
typedef std::unordered_map
< uint32, PlayerCurrency
PlayerCurrenciesMap
 
typedef std::unordered_map
< uint32, time_t > 
InstanceTimeMap
 
typedef std::map< uint8,
ActionButton
ActionButtonList
 
typedef std::list
< PlayerCreateInfoItem
PlayerCreateInfoItems
 
typedef std::list< uint32PlayerCreateInfoSpells
 
typedef std::list
< PlayerCreateInfoAction
PlayerCreateInfoActions
 
typedef std::list
< SkillRaceClassInfoEntry
const * > 
PlayerCreateInfoSkills
 
typedef std::list
< EnchantDuration
EnchantDurationList
 
typedef std::list< Item * > ItemDurationList
 

Enumerations

enum  SkillFieldOffset {
  SKILL_ID_OFFSET = 0, SKILL_STEP_OFFSET = 64, SKILL_RANK_OFFSET = SKILL_STEP_OFFSET + 64, SUBSKILL_START_RANK_OFFSET = SKILL_RANK_OFFSET + 64,
  SKILL_MAX_RANK_OFFSET = SUBSKILL_START_RANK_OFFSET + 64, SKILL_TEMP_BONUS_OFFSET = SKILL_MAX_RANK_OFFSET + 64, SKILL_PERM_BONUS_OFFSET = SKILL_TEMP_BONUS_OFFSET + 64
}
 
enum  SpellModType { SPELLMOD_FLAT = 107, SPELLMOD_PCT = 108 }
 
enum  PlayerUnderwaterState {
  UNDERWATER_NONE = 0x00, UNDERWATER_INWATER = 0x01, UNDERWATER_INLAVA = 0x02, UNDERWATER_INSLIME = 0x04,
  UNDERWARER_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 : uint8 {
  PLAYERSPELL_UNCHANGED = 0, PLAYERSPELL_CHANGED = 1, PLAYERSPELL_NEW = 2, PLAYERSPELL_REMOVED = 3,
  PLAYERSPELL_TEMPORARY = 4
}
 
enum  TalentSpecialization {
  TALENT_SPEC_MAGE_ARCANE = 62, TALENT_SPEC_MAGE_FIRE = 63, TALENT_SPEC_MAGE_FROST = 64, TALENT_SPEC_PALADIN_HOLY = 65,
  TALENT_SPEC_PALADIN_PROTECTION = 66, TALENT_SPEC_PALADIN_RETRIBUTION = 70, TALENT_SPEC_WARRIOR_ARMS = 71, TALENT_SPEC_WARRIOR_FURY = 72,
  TALENT_SPEC_WARRIOR_PROTECTION = 73, TALENT_SPEC_DRUID_BALANCE = 102, TALENT_SPEC_DRUID_CAT = 103, TALENT_SPEC_DRUID_BEAR = 104,
  TALENT_SPEC_DRUID_RESTORATION = 105, TALENT_SPEC_DEATHKNIGHT_BLOOD = 250, TALENT_SPEC_DEATHKNIGHT_FROST = 251, TALENT_SPEC_DEATHKNIGHT_UNHOLY = 252,
  TALENT_SPEC_HUNTER_BEASTMASTER = 253, TALENT_SPEC_HUNTER_MARKSMAN = 254, TALENT_SPEC_HUNTER_SURVIVAL = 255, TALENT_SPEC_PRIEST_DISCIPLINE = 256,
  TALENT_SPEC_PRIEST_HOLY = 257, TALENT_SPEC_PRIEST_SHADOW = 258, TALENT_SPEC_ROGUE_ASSASSINATION = 259, TALENT_SPEC_ROGUE_COMBAT = 260,
  TALENT_SPEC_ROGUE_SUBTLETY = 261, TALENT_SPEC_SHAMAN_ELEMENTAL = 262, TALENT_SPEC_SHAMAN_ENHANCEMENT = 263, TALENT_SPEC_SHAMAN_RESTORATION = 264,
  TALENT_SPEC_WARLOCK_AFFLICTION = 265, TALENT_SPEC_WARLOCK_DEMONOLOGY = 266, TALENT_SPEC_WARLOCK_DESTRUCTION = 267, TALENT_SPEC_MONK_BREWMASTER = 268,
  TALENT_SPEC_MONK_BATTLEDANCER = 269, TALENT_SPEC_MONK_MISTWEAVER = 270
}
 
enum  SpecResetType { SPEC_RESET_TALENTS = 0, SPEC_RESET_SPECIALIZATION = 1, SPEC_RESET_GLYPHS = 2, SPEC_RESET_PET_TALENTS = 3 }
 
enum  PlayerCurrencyState { PLAYERCURRENCY_UNCHANGED = 0, PLAYERCURRENCY_CHANGED = 1, PLAYERCURRENCY_NEW = 2, PLAYERCURRENCY_REMOVED = 3 }
 
enum  CUFBoolOptions {
  CUF_KEEP_GROUPS_TOGETHER, CUF_DISPLAY_PETS, CUF_DISPLAY_MAIN_TANK_AND_ASSIST, CUF_DISPLAY_HEAL_PREDICTION,
  CUF_DISPLAY_AGGRO_HIGHLIGHT, CUF_DISPLAY_ONLY_DISPELLABLE_DEBUFFS, CUF_DISPLAY_POWER_BAR, CUF_DISPLAY_BORDER,
  CUF_USE_CLASS_COLORS, CUF_DISPLAY_HORIZONTAL_GROUPS, CUF_DISPLAY_NON_BOSS_DEBUFFS, CUF_DYNAMIC_POSITION,
  CUF_LOCKED, CUF_SHOWN, CUF_AUTO_ACTIVATE_2_PLAYERS, CUF_AUTO_ACTIVATE_3_PLAYERS,
  CUF_AUTO_ACTIVATE_5_PLAYERS, CUF_AUTO_ACTIVATE_10_PLAYERS, CUF_AUTO_ACTIVATE_15_PLAYERS, CUF_AUTO_ACTIVATE_25_PLAYERS,
  CUF_AUTO_ACTIVATE_40_PLAYERS, CUF_AUTO_ACTIVATE_SPEC_1, CUF_AUTO_ACTIVATE_SPEC_2, CUF_AUTO_ACTIVATE_PVP,
  CUF_AUTO_ACTIVATE_PVE, CUF_BOOL_OPTIONS_COUNT
}
 Bit index used in the many bool options of CompactUnitFrames. More...
 
enum  TrainerSpellState { TRAINER_SPELL_GRAY = 0, TRAINER_SPELL_GREEN = 1, TRAINER_SPELL_RED = 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_DROPDOWN = 0x30,
  ACTION_BUTTON_MACRO = 0x40, ACTION_BUTTON_CMACRO = ACTION_BUTTON_C | ACTION_BUTTON_MACRO, ACTION_BUTTON_MOUNT = 0x60, 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  RuneCooldowns { RUNE_BASE_COOLDOWN = 10000, RUNE_MISS_COOLDOWN = 1500 }
 
enum  RuneType {
  RUNE_BLOOD = 0, RUNE_UNHOLY = 1, RUNE_FROST = 2, RUNE_DEATH = 3,
  NUM_RUNE_TYPES = 4
}
 
enum  DrunkenState { DRUNKEN_SOBER = 0, DRUNKEN_TIPSY = 1, DRUNKEN_DRUNK = 2, DRUNKEN_SMASHED = 3 }
 
enum  PlayerFlags {
  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_PET_BATTLES_UNLOCKED = 0x01000000, PLAYER_FLAGS_NO_XP_GAIN = 0x02000000, PLAYER_FLAGS_UNK26 = 0x04000000, PLAYER_FLAGS_AUTO_DECLINE_GUILD = 0x08000000,
  PLAYER_FLAGS_GUILD_LEVEL_ENABLED = 0x10000000, PLAYER_FLAGS_VOID_UNLOCKED = 0x20000000, PLAYER_FLAGS_UNK30 = 0x40000000, PLAYER_FLAGS_UNK31 = 0x80000000
}
 
enum  PlayerFlagsEx { PLAYER_FLAGS_EX_REAGENT_BANK_UNLOCKED = 0x0001, PLAYER_FLAGS_EX_MERCENARY_MODE = 0x0002 }
 
enum  PlayerLocalFlags {
  PLAYER_LOCAL_FLAG_TRACK_STEALTHED = 0x00000002, PLAYER_LOCAL_FLAG_RELEASE_TIMER = 0x00000008, PLAYER_LOCAL_FLAG_NO_RELEASE_WINDOW = 0x00000010, PLAYER_LOCAL_FLAG_NO_PET_BAR = 0x00000020,
  PLAYER_LOCAL_FLAG_OVERRIDE_CAMERA_MIN_HEIGHT = 0x00000040, PLAYER_LOCAL_FLAG_USING_PARTY_GARRISON = 0x00000100, PLAYER_LOCAL_FLAG_CAN_USE_OBJECTS_MOUNTED = 0x00000200, PLAYER_LOCAL_FLAG_CAN_VISIT_PARTY_GARRISON = 0x00000400
}
 
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_RAF_GRANTABLE_LEVEL = 0, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES = 1, PLAYER_FIELD_BYTES_OFFSET_PVP_RANK = 2, PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK = 3 }
 
enum  PlayerFieldBytes2Offsets { PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION = 1, PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID = 2 }
 

Variables

TC_GAME_API uint32 const MasterySpells [MAX_CLASSES]
 

Macro Definition Documentation

#define ACTION_BUTTON_ACTION (   X)    (uint64(X) & 0x00000000FFFFFFFF)
#define ACTION_BUTTON_TYPE (   X)    ((uint64(X) & 0xFFFFFFFF00000000) >> 56)
#define DISABLED_MIRROR_TIMER   -1
#define INVENTORY_SLOT_BAG_0   255
#define KNOWN_TITLES_SIZE   6
#define MAX_ACTION_BUTTON_ACTION_VALUE   (0xFFFFFFFF)
#define MAX_ACTION_BUTTONS   132
#define MAX_CUF_PROFILES   5

Maximum number of CompactUnitFrames profiles.

#define MAX_DRUNKEN   4
#define MAX_EQUIPMENT_SET_INDEX   10
#define MAX_PLAYED_TIME_INDEX   2
#define MAX_PLAYER_SUMMON_DELAY   (2*MINUTE)
#define MAX_QUEST_OFFSET   15
#define MAX_RUNES   6
#define MAX_TIMERS   3
#define MAX_TITLE_INDEX   (KNOWN_TITLES_SIZE * 64)
#define PLAYER_BYTES_2_OVERRIDE_SPELLS_UINT16_OFFSET   (PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID / 2)
#define PLAYER_EXPLORED_ZONES_SIZE   200
#define PLAYER_MAX_SKILLS   128
#define QUESTS_COMPLETED_BITS_SIZE   875
#define VISIBLE_ITEM_ENCHANTMENT_OFFSET   1
#define VISIBLE_ITEM_ENTRY_OFFSET   0

Typedef Documentation

typedef std::map<uint8, ActionButton> ActionButtonList
typedef std::unordered_map<uint32 , time_t> InstanceTimeMap
typedef std::list<Item*> ItemDurationList
typedef std::list<uint32> PlayerCreateInfoSpells
typedef std::unordered_map<uint32, PlayerCurrency> PlayerCurrenciesMap
typedef std::deque<Mail*> PlayerMails
typedef std::unordered_map<uint32, PlayerSpell*> PlayerSpellMap
typedef std::unordered_map<uint32, PlayerSpellState> PlayerTalentMap
typedef std::list<SpellModifier*> SpellModList

Enumeration Type Documentation

Enumerator
ACTION_BUTTON_SPELL 
ACTION_BUTTON_C 
ACTION_BUTTON_EQSET 
ACTION_BUTTON_DROPDOWN 
ACTION_BUTTON_MACRO 
ACTION_BUTTON_CMACRO 
ACTION_BUTTON_MOUNT 
ACTION_BUTTON_ITEM 
311 {
312  ACTION_BUTTON_SPELL = 0x00,
313  ACTION_BUTTON_C = 0x01, // click?
314  ACTION_BUTTON_EQSET = 0x20,
315  ACTION_BUTTON_DROPDOWN = 0x30,
316  ACTION_BUTTON_MACRO = 0x40,
318  ACTION_BUTTON_MOUNT = 0x60,
319  ACTION_BUTTON_ITEM = 0x80
320 };
Definition: Player.h:316
Definition: Player.h:312
Definition: Player.h:315
Definition: Player.h:318
Definition: Player.h:313
Definition: Player.h:317
Definition: Player.h:319
Definition: Player.h:314
Enumerator
ACTIONBUTTON_UNCHANGED 
ACTIONBUTTON_CHANGED 
ACTIONBUTTON_NEW 
ACTIONBUTTON_DELETED 
303 {
306  ACTIONBUTTON_NEW = 2,
308 };
Definition: Player.h:304
Definition: Player.h:305
Definition: Player.h:307
Definition: Player.h:306
Enumerator
ERR_BANKSLOT_FAILED_TOO_MANY 
ERR_BANKSLOT_INSUFFICIENT_FUNDS 
ERR_BANKSLOT_NOTBANKER 
ERR_BANKSLOT_OK 
94 {
98  ERR_BANKSLOT_OK = 3
99 };
Definition: Player.h:96
Definition: Player.h:97
Definition: Player.h:95
Definition: Player.h:98

Bit index used in the many bool options of CompactUnitFrames.

Enumerator
CUF_KEEP_GROUPS_TOGETHER 
CUF_DISPLAY_PETS 
CUF_DISPLAY_MAIN_TANK_AND_ASSIST 
CUF_DISPLAY_HEAL_PREDICTION 
CUF_DISPLAY_AGGRO_HIGHLIGHT 
CUF_DISPLAY_ONLY_DISPELLABLE_DEBUFFS 
CUF_DISPLAY_POWER_BAR 
CUF_DISPLAY_BORDER 
CUF_USE_CLASS_COLORS 
CUF_DISPLAY_HORIZONTAL_GROUPS 
CUF_DISPLAY_NON_BOSS_DEBUFFS 
CUF_DYNAMIC_POSITION 
CUF_LOCKED 
CUF_SHOWN 
CUF_AUTO_ACTIVATE_2_PLAYERS 
CUF_AUTO_ACTIVATE_3_PLAYERS 
CUF_AUTO_ACTIVATE_5_PLAYERS 
CUF_AUTO_ACTIVATE_10_PLAYERS 
CUF_AUTO_ACTIVATE_15_PLAYERS 
CUF_AUTO_ACTIVATE_25_PLAYERS 
CUF_AUTO_ACTIVATE_40_PLAYERS 
CUF_AUTO_ACTIVATE_SPEC_1 
CUF_AUTO_ACTIVATE_SPEC_2 
CUF_AUTO_ACTIVATE_PVP 
CUF_AUTO_ACTIVATE_PVE 
CUF_BOOL_OPTIONS_COUNT 
206 {
219  CUF_LOCKED,
220  CUF_SHOWN,
232 
233  // The unks is _LOCKED and _SHOWN and _DYNAMIC, unknown order
234 
236 };
Definition: Player.h:230
Definition: Player.h:229
Definition: Player.h:220
Definition: Player.h:209
Definition: Player.h:215
Definition: Player.h:226
Definition: Player.h:223
Definition: Player.h:212
Definition: Player.h:208
Definition: Player.h:235
Definition: Player.h:214
Definition: Player.h:216
Definition: Player.h:228
Definition: Player.h:217
Definition: Player.h:219
Definition: Player.h:231
Definition: Player.h:224
Definition: Player.h:207
Definition: Player.h:225
Definition: Player.h:218
Definition: Player.h:213
Definition: Player.h:227
Definition: Player.h:211
Definition: Player.h:221
Definition: Player.h:222
Definition: Player.h:210
Enumerator
DRUNKEN_SOBER 
DRUNKEN_TIPSY 
DRUNKEN_DRUNK 
DRUNKEN_SMASHED 
506 {
507  DRUNKEN_SOBER = 0,
508  DRUNKEN_TIPSY = 1,
509  DRUNKEN_DRUNK = 2,
510  DRUNKEN_SMASHED = 3
511 };
Definition: Player.h:507
Definition: Player.h:510
Definition: Player.h:508
Definition: Player.h:509
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 
Enumerator
PLAYER_BYTES_3_OFFSET_GENDER 
PLAYER_BYTES_3_OFFSET_INEBRIATION 
PLAYER_BYTES_3_OFFSET_PVP_TITLE 
PLAYER_BYTES_3_OFFSET_ARENA_FACTION 
Enumerator
PLAYER_BYTES_OFFSET_SKIN_ID 
PLAYER_BYTES_OFFSET_FACE_ID 
PLAYER_BYTES_OFFSET_HAIR_STYLE_ID 
PLAYER_BYTES_OFFSET_HAIR_COLOR_ID 
570 {
575 };
Definition: Player.h:572
Definition: Player.h:573
Definition: Player.h:571
Definition: Player.h:574
Enumerator
PLAYERCURRENCY_UNCHANGED 
PLAYERCURRENCY_CHANGED 
PLAYERCURRENCY_NEW 
PLAYERCURRENCY_REMOVED 
180 {
183  PLAYERCURRENCY_NEW = 2,
184  PLAYERCURRENCY_REMOVED = 3 //not removed just set count == 0
185 };
Definition: Player.h:182
Definition: Player.h:184
Definition: Player.h:181
Definition: Player.h:183
Enumerator
PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION 
PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID 
Enumerator
PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL 
PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES 
PLAYER_FIELD_BYTES_OFFSET_PVP_RANK 
PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK 
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_PET_BATTLES_UNLOCKED 
PLAYER_FLAGS_NO_XP_GAIN 
PLAYER_FLAGS_UNK26 
PLAYER_FLAGS_AUTO_DECLINE_GUILD 
PLAYER_FLAGS_GUILD_LEVEL_ENABLED 
PLAYER_FLAGS_VOID_UNLOCKED 
PLAYER_FLAGS_UNK30 
PLAYER_FLAGS_UNK31 
516 {
517  PLAYER_FLAGS_GROUP_LEADER = 0x00000001,
518  PLAYER_FLAGS_AFK = 0x00000002,
519  PLAYER_FLAGS_DND = 0x00000004,
520  PLAYER_FLAGS_GM = 0x00000008,
521  PLAYER_FLAGS_GHOST = 0x00000010,
522  PLAYER_FLAGS_RESTING = 0x00000020,
523  PLAYER_FLAGS_UNK6 = 0x00000040,
524  PLAYER_FLAGS_UNK7 = 0x00000080, // pre-3.0.3 PLAYER_FLAGS_FFA_PVP flag for FFA PVP state
525  PLAYER_FLAGS_CONTESTED_PVP = 0x00000100, // Player has been involved in a PvP combat and will be attacked by contested guards
526  PLAYER_FLAGS_IN_PVP = 0x00000200,
527  PLAYER_FLAGS_HIDE_HELM = 0x00000400,
528  PLAYER_FLAGS_HIDE_CLOAK = 0x00000800,
529  PLAYER_FLAGS_PLAYED_LONG_TIME = 0x00001000, // played long time
530  PLAYER_FLAGS_PLAYED_TOO_LONG = 0x00002000, // played too long time
531  PLAYER_FLAGS_IS_OUT_OF_BOUNDS = 0x00004000,
532  PLAYER_FLAGS_DEVELOPER = 0x00008000, // <Dev> prefix for something?
533  PLAYER_FLAGS_UNK16 = 0x00010000, // pre-3.0.3 PLAYER_FLAGS_SANCTUARY flag for player entered sanctuary
534  PLAYER_FLAGS_TAXI_BENCHMARK = 0x00020000, // taxi benchmark mode (on/off) (2.0.1)
535  PLAYER_FLAGS_PVP_TIMER = 0x00040000, // 3.0.2, pvp timer active (after you disable pvp manually)
536  PLAYER_FLAGS_UBER = 0x00080000,
537  PLAYER_FLAGS_UNK20 = 0x00100000,
538  PLAYER_FLAGS_UNK21 = 0x00200000,
539  PLAYER_FLAGS_COMMENTATOR2 = 0x00400000,
540  PLAYER_ALLOW_ONLY_ABILITY = 0x00800000, // used by bladestorm and killing spree, allowed only spells with SPELL_ATTR0_REQ_AMMO, SPELL_EFFECT_ATTACK, checked only for active player
541  PLAYER_FLAGS_PET_BATTLES_UNLOCKED = 0x01000000, // enables pet battles
542  PLAYER_FLAGS_NO_XP_GAIN = 0x02000000,
543  PLAYER_FLAGS_UNK26 = 0x04000000,
544  PLAYER_FLAGS_AUTO_DECLINE_GUILD = 0x08000000, // Automatically declines guild invites
545  PLAYER_FLAGS_GUILD_LEVEL_ENABLED = 0x10000000, // Lua_GetGuildLevelEnabled() - enables guild leveling related UI
546  PLAYER_FLAGS_VOID_UNLOCKED = 0x20000000, // void storage
547  PLAYER_FLAGS_UNK30 = 0x40000000,
548  PLAYER_FLAGS_UNK31 = 0x80000000
549 };
Definition: Player.h:523
Definition: Player.h:525
Definition: Player.h:518
Definition: Player.h:526
Definition: Player.h:521
Definition: Player.h:524
Definition: Player.h:537
Definition: Player.h:535
Definition: Player.h:543
Definition: Player.h:527
Definition: Player.h:540
Definition: Player.h:528
Definition: Player.h:544
Definition: Player.h:541
Definition: Player.h:517
Definition: Player.h:545
Definition: Player.h:532
Definition: Player.h:529
Definition: Player.h:547
Definition: Player.h:539
Definition: Player.h:519
Definition: Player.h:542
Definition: Player.h:548
Definition: Player.h:533
Definition: Player.h:520
Definition: Player.h:536
Definition: Player.h:534
Definition: Player.h:538
Definition: Player.h:546
Definition: Player.h:530
Definition: Player.h:522
Definition: Player.h:531
Enumerator
PLAYER_FLAGS_EX_REAGENT_BANK_UNLOCKED 
PLAYER_FLAGS_EX_MERCENARY_MODE 
552 {
555 };
Definition: Player.h:554
Enumerator
PLAYER_LOCAL_FLAG_TRACK_STEALTHED 
PLAYER_LOCAL_FLAG_RELEASE_TIMER 
PLAYER_LOCAL_FLAG_NO_RELEASE_WINDOW 
PLAYER_LOCAL_FLAG_NO_PET_BAR 
PLAYER_LOCAL_FLAG_OVERRIDE_CAMERA_MIN_HEIGHT 
PLAYER_LOCAL_FLAG_USING_PARTY_GARRISON 
PLAYER_LOCAL_FLAG_CAN_USE_OBJECTS_MOUNTED 
PLAYER_LOCAL_FLAG_CAN_VISIT_PARTY_GARRISON 
558 {
560  PLAYER_LOCAL_FLAG_RELEASE_TIMER = 0x00000008, // Display time till auto release spirit
561  PLAYER_LOCAL_FLAG_NO_RELEASE_WINDOW = 0x00000010, // Display no "release spirit" window at all
562  PLAYER_LOCAL_FLAG_NO_PET_BAR = 0x00000020, // CGPetInfo::IsPetBarUsed
567 };
Definition: Player.h:559
Definition: Player.h:561
Definition: Player.h:562
Definition: Player.h:560
Enumerator
PLAYERSPELL_UNCHANGED 
PLAYERSPELL_CHANGED 
PLAYERSPELL_NEW 
PLAYERSPELL_REMOVED 
PLAYERSPELL_TEMPORARY 
101  : uint8
102 {
105  PLAYERSPELL_NEW = 2,
108 };
Definition: Player.h:106
Definition: Player.h:104
Definition: Player.h:105
Definition: Player.h:103
uint8_t uint8
Definition: Define.h:152
Definition: Player.h:107
Enumerator
UNDERWATER_NONE 
UNDERWATER_INWATER 
UNDERWATER_INLAVA 
UNDERWATER_INSLIME 
UNDERWARER_INDARKWATER 
UNDERWATER_EXIST_TIMERS 
83 {
84  UNDERWATER_NONE = 0x00,
85  UNDERWATER_INWATER = 0x01, // terrain type is water and player is afflicted by it
86  UNDERWATER_INLAVA = 0x02, // terrain type is lava and player is afflicted by it
87  UNDERWATER_INSLIME = 0x04, // terrain type is lava and player is afflicted by it
88  UNDERWARER_INDARKWATER = 0x08, // terrain type is dark water and player is afflicted by it
89 
91 };
Definition: Player.h:86
Definition: Player.h:88
Definition: Player.h:90
Definition: Player.h:87
Definition: Player.h:85
Definition: Player.h:84
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 
Enumerator
RUNE_BASE_COOLDOWN 
RUNE_MISS_COOLDOWN 
454 {
455  RUNE_BASE_COOLDOWN = 10000,
456  RUNE_MISS_COOLDOWN = 1500 // cooldown applied on runes when the spell misses
457 };
Definition: Player.h:455
Definition: Player.h:456
enum RuneType
Enumerator
RUNE_BLOOD 
RUNE_UNHOLY 
RUNE_FROST 
RUNE_DEATH 
NUM_RUNE_TYPES 
460 {
461  RUNE_BLOOD = 0,
462  RUNE_UNHOLY = 1,
463  RUNE_FROST = 2,
464  RUNE_DEATH = 3,
465  NUM_RUNE_TYPES = 4
466 };
Definition: Player.h:462
Definition: Player.h:464
Definition: Player.h:465
Definition: Player.h:463
Definition: Player.h:461
Enumerator
SKILL_ID_OFFSET 
SKILL_STEP_OFFSET 
SKILL_RANK_OFFSET 
SUBSKILL_START_RANK_OFFSET 
SKILL_MAX_RANK_OFFSET 
SKILL_TEMP_BONUS_OFFSET 
SKILL_PERM_BONUS_OFFSET 
62 {
63  SKILL_ID_OFFSET = 0,
64  SKILL_STEP_OFFSET = 64,
67  SKILL_MAX_RANK_OFFSET = SUBSKILL_START_RANK_OFFSET + 64,
68  SKILL_TEMP_BONUS_OFFSET = SKILL_MAX_RANK_OFFSET + 64,
69  SKILL_PERM_BONUS_OFFSET = SKILL_TEMP_BONUS_OFFSET + 64
70 };
Definition: Player.h:66
Definition: Player.h:65
Definition: Player.h:63
Definition: Player.h:69
Definition: Player.h:67
Definition: Player.h:68
Definition: Player.h:64
Enumerator
SPEC_RESET_TALENTS 
SPEC_RESET_SPECIALIZATION 
SPEC_RESET_GLYPHS 
SPEC_RESET_PET_TALENTS 
159 {
160  SPEC_RESET_TALENTS = 0,
162  SPEC_RESET_GLYPHS = 2,
164 };
Definition: Player.h:163
Definition: Player.h:161
Definition: Player.h:162
Definition: Player.h:160
Enumerator
SPELLMOD_FLAT 
SPELLMOD_PCT 
76 {
77  SPELLMOD_FLAT = 107, // SPELL_AURA_ADD_FLAT_MODIFIER
78  SPELLMOD_PCT = 108 // SPELL_AURA_ADD_PCT_MODIFIER
79 };
Definition: Player.h:78
Definition: Player.h:77
Enumerator
TALENT_SPEC_MAGE_ARCANE 
TALENT_SPEC_MAGE_FIRE 
TALENT_SPEC_MAGE_FROST 
TALENT_SPEC_PALADIN_HOLY 
TALENT_SPEC_PALADIN_PROTECTION 
TALENT_SPEC_PALADIN_RETRIBUTION 
TALENT_SPEC_WARRIOR_ARMS 
TALENT_SPEC_WARRIOR_FURY 
TALENT_SPEC_WARRIOR_PROTECTION 
TALENT_SPEC_DRUID_BALANCE 
TALENT_SPEC_DRUID_CAT 
TALENT_SPEC_DRUID_BEAR 
TALENT_SPEC_DRUID_RESTORATION 
TALENT_SPEC_DEATHKNIGHT_BLOOD 
TALENT_SPEC_DEATHKNIGHT_FROST 
TALENT_SPEC_DEATHKNIGHT_UNHOLY 
TALENT_SPEC_HUNTER_BEASTMASTER 
TALENT_SPEC_HUNTER_MARKSMAN 
TALENT_SPEC_HUNTER_SURVIVAL 
TALENT_SPEC_PRIEST_DISCIPLINE 
TALENT_SPEC_PRIEST_HOLY 
TALENT_SPEC_PRIEST_SHADOW 
TALENT_SPEC_ROGUE_ASSASSINATION 
TALENT_SPEC_ROGUE_COMBAT 
TALENT_SPEC_ROGUE_SUBTLETY 
TALENT_SPEC_SHAMAN_ELEMENTAL 
TALENT_SPEC_SHAMAN_ENHANCEMENT 
TALENT_SPEC_SHAMAN_RESTORATION 
TALENT_SPEC_WARLOCK_AFFLICTION 
TALENT_SPEC_WARLOCK_DEMONOLOGY 
TALENT_SPEC_WARLOCK_DESTRUCTION 
TALENT_SPEC_MONK_BREWMASTER 
TALENT_SPEC_MONK_BATTLEDANCER 
TALENT_SPEC_MONK_MISTWEAVER 
121 {
132  TALENT_SPEC_DRUID_CAT = 103,
156 };
Definition: Player.h:131
Definition: Player.h:125
Definition: Player.h:141
Definition: Player.h:154
Definition: Player.h:140
Definition: Player.h:147
Definition: Player.h:143
Definition: Player.h:153
Definition: Player.h:127
Definition: Player.h:148
Definition: Player.h:151
Definition: Player.h:126
Definition: Player.h:144
Definition: Player.h:134
Definition: Player.h:123
Definition: Player.h:142
Definition: Player.h:122
Definition: Player.h:138
Definition: Player.h:139
Definition: Player.h:124
Definition: Player.h:145
Definition: Player.h:130
Definition: Player.h:150
Definition: Player.h:129
Definition: Player.h:152
Definition: Player.h:128
Definition: Player.h:149
Definition: Player.h:132
Definition: Player.h:155
Definition: Player.h:146
Definition: Player.h:137
Definition: Player.h:133
Definition: Player.h:136
Definition: Player.h:135
Enumerator
TRAINER_SPELL_GRAY 
TRAINER_SPELL_GREEN 
TRAINER_SPELL_RED 
TRAINER_SPELL_GREEN_DISABLED 
295 {
296  TRAINER_SPELL_GRAY = 0,
298  TRAINER_SPELL_RED = 2,
299  TRAINER_SPELL_GREEN_DISABLED = 10 // custom value, not send to client: formally green but learn not allowed
300 };
Definition: Player.h:296
Definition: Player.h:299
Definition: Player.h:297
Definition: Player.h:298

Variable Documentation