#pragma once
#define SAFE_DELETE( pData ) if( pData ){ delete pData; pData = 0; }
#define FOR_EACH( iter, type, container ) for( std::vector<type>::iterator iter = container.begin(); iter != container.end(); iter++ )
class CItemInfo;
class CGObject_C;
class CGUnit_C;
class CGPlayer_C;
class CGLocalPlayer_C;
class CGItem_C;
class CGContainer_C;
class CGGameObject_C;
class CGCorpse_C;
class CGDynamicObject_C;
class CGCamera_C;
#pragma warning( push )
#pragma warning( disable: 4201 )
struct WGUID
{
union
{
__int64 ullGuid;
struct
{
unsigned long A;
unsigned long B;
};
};
WGUID()
{
}
WGUID( unsigned long dwLow, unsigned long dwHigh )
{
A = dwLow;
B = dwHigh;
}
WGUID( __int64 iGuid )
{
ullGuid = iGuid;
}
};
#pragma warning( pop )
struct WOWPOS
{
float X, Y, Z, Facing;
bool operator == ( const WOWPOS & wowOther )
{
return ( X == wowOther.X && Y == wowOther.Y && Z == wowOther.Z );
}
};
enum eObjectFields
{
OBJECT_FIELD_GUID = 0,
OBJECT_FIELD_TYPE = 0x8,
OBJECT_FIELD_ENTRY = 0xC,
OBJECT_FIELD_SCALE_X = 0x10,
OBJECT_FIELD_PADDING = 0x14,
TOTAL_OBJECT_FIELDS = 0x5
};
enum eItemFields
{
ITEM_FIELD_OWNER = 0,
ITEM_FIELD_CONTAINED = 0x8,
ITEM_FIELD_CREATOR = 0x10,
ITEM_FIELD_GIFTCREATOR = 0x18,
ITEM_FIELD_STACK_COUNT = 0x20,
ITEM_FIELD_DURATION = 0x24,
ITEM_FIELD_SPELL_CHARGES = 0x28,
ITEM_FIELD_FLAGS = 0x3C,
ITEM_FIELD_ENCHANTMENT = 0x40,
ITEM_FIELD_PROPERTY_SEED = 0xC4,
ITEM_FIELD_RANDOM_PROPERTIES_ID = 0xC8,
ITEM_FIELD_ITEM_TEXT_ID = 0xCC,
ITEM_FIELD_DURABILITY = 0xD0,
ITEM_FIELD_MAXDURABILITY = 0xD4,
TOTAL_ITEM_FIELDS = 0xE
};
enum eContainerFields {
CONTAINER_FIELD_NUM_SLOTS = 0,
CONTAINER_ALIGN_PAD = 0x4,
CONTAINER_FIELD_SLOT_1 = 0x8,
TOTAL_CONTAINER_FIELDS = 0x3
};
enum eUnitFields
{
UNIT_FIELD_CHARM = 0,
UNIT_FIELD_SUMMON = 0x8,
UNIT_FIELD_CHARMEDBY = 0x10,
UNIT_FIELD_SUMMONEDBY = 0x18,
UNIT_FIELD_CREATEDBY = 0x20,
UNIT_FIELD_TARGET = 0x28,
UNIT_FIELD_PERSUADED = 0x30,
UNIT_FIELD_CHANNEL_OBJECT = 0x38,
UNIT_FIELD_HEALTH = 0x40,
UNIT_FIELD_POWER1 = 0x44,
UNIT_FIELD_POWER2 = 0x48,
UNIT_FIELD_POWER3 = 0x4C,
UNIT_FIELD_POWER4 = 0x50,
UNIT_FIELD_POWER5 = 0x54,
UNIT_FIELD_MAXHEALTH = 0x58,
UNIT_FIELD_MAXPOWER1 = 0x5C,
UNIT_FIELD_MAXPOWER2 = 0x60,
UNIT_FIELD_MAXPOWER3 = 0x64,
UNIT_FIELD_MAXPOWER4 = 0x68,
UNIT_FIELD_MAXPOWER5 = 0x6C,
UNIT_FIELD_LEVEL = 0x70,
UNIT_FIELD_FACTIONTEMPLATE = 0x74,
UNIT_FIELD_BYTES_0 = 0x78,
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY = 0x7C,
UNIT_VIRTUAL_ITEM_INFO = 0x88,
UNIT_FIELD_FLAGS = 0xA0,
UNIT_FIELD_FLAGS_2 = 0xA4,
UNIT_FIELD_AURA = 0xA8,
UNIT_FIELD_AURAFLAGS = 0x188,
UNIT_FIELD_AURALEVELS = 0x1C0,
UNIT_FIELD_AURAAPPLICATIONS = 0x1F8,
UNIT_FIELD_AURASTATE = 0x230,
UNIT_FIELD_BASEATTACKTIME = 0x234,
UNIT_FIELD_RANGEDATTACKTIME = 0x23C,
UNIT_FIELD_BOUNDINGRADIUS = 0x240,
UNIT_FIELD_COMBATREACH = 0x244,
UNIT_FIELD_DISPLAYID = 0x248,
UNIT_FIELD_NATIVEDISPLAYID = 0x24C,
UNIT_FIELD_MOUNTDISPLAYID = 0x250,
UNIT_FIELD_MINDAMAGE = 0x254,
UNIT_FIELD_MAXDAMAGE = 0x258,
UNIT_FIELD_MINOFFHANDDAMAGE = 0x25C,
UNIT_FIELD_MAXOFFHANDDAMAGE = 0x260,
UNIT_FIELD_BYTES_1 = 0x264,
UNIT_FIELD_PETNUMBER = 0x268,
UNIT_FIELD_PET_NAME_TIMESTAMP = 0x26C,
UNIT_FIELD_PETEXPERIENCE = 0x270,
UNIT_FIELD_PETNEXTLEVELEXP = 0x274,
UNIT_DYNAMIC_FLAGS = 0x278,
UNIT_CHANNEL_SPELL = 0x27C,
UNIT_MOD_CAST_SPEED = 0x280,
UNIT_CREATED_BY_SPELL = 0x284,
UNIT_NPC_FLAGS = 0x288,
UNIT_NPC_EMOTESTATE = 0x28C,
UNIT_TRAINING_POINTS = 0x290,
UNIT_FIELD_STAT0 = 0x294,
UNIT_FIELD_STAT1 = 0x298,
UNIT_FIELD_STAT2 = 0x29C,
UNIT_FIELD_STAT3 = 0x2A0,
UNIT_FIELD_STAT4 = 0x2A4,
UNIT_FIELD_POSSTAT0 = 0x2A8,
UNIT_FIELD_POSSTAT1 = 0x2AC,
UNIT_FIELD_POSSTAT2 = 0x2B0,
UNIT_FIELD_POSSTAT3 = 0x2B4,
UNIT_FIELD_POSSTAT4 = 0x2B8,
UNIT_FIELD_NEGSTAT0 = 0x2BC,
UNIT_FIELD_NEGSTAT1 = 0x2C0,
UNIT_FIELD_NEGSTAT2 = 0x2C4,
UNIT_FIELD_NEGSTAT3 = 0x2C8,
UNIT_FIELD_NEGSTAT4 = 0x2CC,
UNIT_FIELD_RESISTANCES = 0x2D0,
UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = 0x2EC,
UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = 0x308,
UNIT_FIELD_BASE_MANA = 0x324,
UNIT_FIELD_BASE_HEALTH = 0x328,
UNIT_FIELD_BYTES_2 = 0x32C,
UNIT_FIELD_ATTACK_POWER = 0x330,
UNIT_FIELD_ATTACK_POWER_MODS = 0x334,
UNIT_FIELD_ATTACK_POWER_MULTIPLIER = 0x338,
UNIT_FIELD_RANGED_ATTACK_POWER = 0x33C,
UNIT_FIELD_RANGED_ATTACK_POWER_MODS = 0x340,
UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = 0x344,
UNIT_FIELD_MINRANGEDDAMAGE = 0x348,
UNIT_FIELD_MAXRANGEDDAMAGE = 0x34C,
UNIT_FIELD_POWER_COST_MODIFIER = 0x350,
UNIT_FIELD_POWER_COST_MULTIPLIER = 0x36C,
UNIT_FIELD_MAXHEALTHMODIFIER = 0x388,
UNIT_FIELD_PADDING = 0x38C,
TOTAL_UNIT_FIELDS = 0x58
};
enum ePlayerFields
{
PLAYER_DUEL_ARBITER = 0,
PLAYER_FLAGS = 0x8,
PLAYER_GUILDID = 0xC,
PLAYER_GUILDRANK = 0x10,
PLAYER_BYTES = 0x14,
PLAYER_BYTES_2 = 0x18,
PLAYER_BYTES_3 = 0x1C,
PLAYER_DUEL_TEAM = 0x20,
PLAYER_GUILD_TIMESTAMP = 0x24,
PLAYER_QUEST_LOG_1_1 = 0x28,
PLAYER_QUEST_LOG_1_2 = 0x2C,
PLAYER_QUEST_LOG_1_3 = 0x30,
PLAYER_QUEST_LOG_1_4 = 0x34,
PLAYER_QUEST_LOG_2_1 = 0x38,
PLAYER_QUEST_LOG_2_2 = 0x3C,
PLAYER_QUEST_LOG_2_3 = 0x40,
PLAYER_QUEST_LOG_2_4 = 0x44,
PLAYER_QUEST_LOG_3_1 = 0x48,
PLAYER_QUEST_LOG_3_2 = 0x4C,
PLAYER_QUEST_LOG_3_3 = 0x50,
PLAYER_QUEST_LOG_3_4 = 0x54,
PLAYER_QUEST_LOG_4_1 = 0x58,
PLAYER_QUEST_LOG_4_2 = 0x5C,
PLAYER_QUEST_LOG_4_3 = 0x60,
PLAYER_QUEST_LOG_4_4 = 0x64,
PLAYER_QUEST_LOG_5_1 = 0x68,
PLAYER_QUEST_LOG_5_2 = 0x6C,
PLAYER_QUEST_LOG_5_3 = 0x70,
PLAYER_QUEST_LOG_5_4 = 0x74,
PLAYER_QUEST_LOG_6_1 = 0x78,
PLAYER_QUEST_LOG_6_2 = 0x7C,
PLAYER_QUEST_LOG_6_3 = 0x80,
PLAYER_QUEST_LOG_6_4 = 0x84,
PLAYER_QUEST_LOG_7_1 = 0x88,
PLAYER_QUEST_LOG_7_2 = 0x8C,
PLAYER_QUEST_LOG_7_3 = 0x90,
PLAYER_QUEST_LOG_7_4 = 0x94,
PLAYER_QUEST_LOG_8_1 = 0x98,
PLAYER_QUEST_LOG_8_2 = 0x9C,
PLAYER_QUEST_LOG_8_3 = 0xA0,
PLAYER_QUEST_LOG_8_4 = 0xA4,
PLAYER_QUEST_LOG_9_1 = 0xA8,
PLAYER_QUEST_LOG_9_2 = 0xAC,
PLAYER_QUEST_LOG_9_3 = 0xB0,
PLAYER_QUEST_LOG_9_4 = 0xB4,
PLAYER_QUEST_LOG_10_1 = 0xB8,
PLAYER_QUEST_LOG_10_2 = 0xBC,
PLAYER_QUEST_LOG_10_3 = 0xC0,
PLAYER_QUEST_LOG_10_4 = 0xC4,
PLAYER_QUEST_LOG_11_1 = 0xC8,
PLAYER_QUEST_LOG_11_2 = 0xCC,
PLAYER_QUEST_LOG_11_3 = 0xD0,
PLAYER_QUEST_LOG_11_4 = 0xD4,
PLAYER_QUEST_LOG_12_1 = 0xD8,
PLAYER_QUEST_LOG_12_2 = 0xDC,
PLAYER_QUEST_LOG_12_3 = 0xE0,
PLAYER_QUEST_LOG_12_4 = 0xE4,
PLAYER_QUEST_LOG_13_1 = 0xE8,
PLAYER_QUEST_LOG_13_2 = 0xEC,
PLAYER_QUEST_LOG_13_3 = 0xF0,
PLAYER_QUEST_LOG_13_4 = 0xF4,
PLAYER_QUEST_LOG_14_1 = 0xF8,
PLAYER_QUEST_LOG_14_2 = 0xFC,
PLAYER_QUEST_LOG_14_3 = 0x100,
PLAYER_QUEST_LOG_14_4 = 0x104,
PLAYER_QUEST_LOG_15_1 = 0x108,
PLAYER_QUEST_LOG_15_2 = 0x10C,
PLAYER_QUEST_LOG_15_3 = 0x110,
PLAYER_QUEST_LOG_15_4 = 0x114,
PLAYER_QUEST_LOG_16_1 = 0x118,
PLAYER_QUEST_LOG_16_2 = 0x11C,
PLAYER_QUEST_LOG_16_3 = 0x120,
PLAYER_QUEST_LOG_16_4 = 0x124,
PLAYER_QUEST_LOG_17_1 = 0x128,
PLAYER_QUEST_LOG_17_2 = 0x12C,
PLAYER_QUEST_LOG_17_3 = 0x130,
PLAYER_QUEST_LOG_17_4 = 0x134,
PLAYER_QUEST_LOG_18_1 = 0x138,
PLAYER_QUEST_LOG_18_2 = 0x13C,
PLAYER_QUEST_LOG_18_3 = 0x140,
PLAYER_QUEST_LOG_18_4 = 0x144,
PLAYER_QUEST_LOG_19_1 = 0x148,
PLAYER_QUEST_LOG_19_2 = 0x14C,
PLAYER_QUEST_LOG_19_3 = 0x150,
PLAYER_QUEST_LOG_19_4 = 0x154,
PLAYER_QUEST_LOG_20_1 = 0x158,
PLAYER_QUEST_LOG_20_2 = 0x15C,
PLAYER_QUEST_LOG_20_3 = 0x160,
PLAYER_QUEST_LOG_20_4 = 0x164,
PLAYER_QUEST_LOG_21_1 = 0x168,
PLAYER_QUEST_LOG_21_2 = 0x16C,
PLAYER_QUEST_LOG_21_3 = 0x170,
PLAYER_QUEST_LOG_21_4 = 0x174,
PLAYER_QUEST_LOG_22_1 = 0x178,
PLAYER_QUEST_LOG_22_2 = 0x17C,
PLAYER_QUEST_LOG_22_3 = 0x180,
PLAYER_QUEST_LOG_22_4 = 0x184,
PLAYER_QUEST_LOG_23_1 = 0x188,
PLAYER_QUEST_LOG_23_2 = 0x18C,
PLAYER_QUEST_LOG_23_3 = 0x190,
PLAYER_QUEST_LOG_23_4 = 0x194,
PLAYER_QUEST_LOG_24_1 = 0x198,
PLAYER_QUEST_LOG_24_2 = 0x19C,
PLAYER_QUEST_LOG_24_3 = 0x1A0,
PLAYER_QUEST_LOG_24_4 = 0x1A4,
PLAYER_QUEST_LOG_25_1 = 0x1A8,
PLAYER_QUEST_LOG_25_2 = 0x1AC,
PLAYER_QUEST_LOG_25_3 = 0x1B0,
PLAYER_QUEST_LOG_25_4 = 0x1B4,
PLAYER_VISIBLE_ITEM_1_CREATOR = 0x1B8,
PLAYER_VISIBLE_ITEM_1_0 = 0x1C0,
PLAYER_VISIBLE_ITEM_1_PROPERTIES = 0x1F0,
PLAYER_VISIBLE_ITEM_1_PAD = 0x1F4,
PLAYER_VISIBLE_ITEM_2_CREATOR = 0x1F8,
PLAYER_VISIBLE_ITEM_2_0 = 0x200,
PLAYER_VISIBLE_ITEM_2_PROPERTIES = 0x230,
PLAYER_VISIBLE_ITEM_2_PAD = 0x234,
PLAYER_VISIBLE_ITEM_3_CREATOR = 0x238,
PLAYER_VISIBLE_ITEM_3_0 = 0x240,
PLAYER_VISIBLE_ITEM_3_PROPERTIES = 0x270,
PLAYER_VISIBLE_ITEM_3_PAD = 0x274,
PLAYER_VISIBLE_ITEM_4_CREATOR = 0x278,
PLAYER_VISIBLE_ITEM_4_0 = 0x280,
PLAYER_VISIBLE_ITEM_4_PROPERTIES = 0x2B0,
PLAYER_VISIBLE_ITEM_4_PAD = 0x2B4,
PLAYER_VISIBLE_ITEM_5_CREATOR = 0x2B8,
PLAYER_VISIBLE_ITEM_5_0 = 0x2C0,
PLAYER_VISIBLE_ITEM_5_PROPERTIES = 0x2F0,
PLAYER_VISIBLE_ITEM_5_PAD = 0x2F4,
PLAYER_VISIBLE_ITEM_6_CREATOR = 0x2F8,
PLAYER_VISIBLE_ITEM_6_0 = 0x300,
PLAYER_VISIBLE_ITEM_6_PROPERTIES = 0x330,
PLAYER_VISIBLE_ITEM_6_PAD = 0x334,
PLAYER_VISIBLE_ITEM_7_CREATOR = 0x338,
PLAYER_VISIBLE_ITEM_7_0 = 0x340,
PLAYER_VISIBLE_ITEM_7_PROPERTIES = 0x370,
PLAYER_VISIBLE_ITEM_7_PAD = 0x374,
PLAYER_VISIBLE_ITEM_8_CREATOR = 0x378,
PLAYER_VISIBLE_ITEM_8_0 = 0x380,
PLAYER_VISIBLE_ITEM_8_PROPERTIES = 0x3B0,
PLAYER_VISIBLE_ITEM_8_PAD = 0x3B4,
PLAYER_VISIBLE_ITEM_9_CREATOR = 0x3B8,
PLAYER_VISIBLE_ITEM_9_0 = 0x3C0,
PLAYER_VISIBLE_ITEM_9_PROPERTIES = 0x3F0,
PLAYER_VISIBLE_ITEM_9_PAD = 0x3F4,
PLAYER_VISIBLE_ITEM_10_CREATOR = 0x3F8,
PLAYER_VISIBLE_ITEM_10_0 = 0x400,
PLAYER_VISIBLE_ITEM_10_PROPERTIES = 0x430,
PLAYER_VISIBLE_ITEM_10_PAD = 0x434,
PLAYER_VISIBLE_ITEM_11_CREATOR = 0x438,
PLAYER_VISIBLE_ITEM_11_0 = 0x440,
PLAYER_VISIBLE_ITEM_11_PROPERTIES = 0x470,
PLAYER_VISIBLE_ITEM_11_PAD = 0x474,
PLAYER_VISIBLE_ITEM_12_CREATOR = 0x478,
PLAYER_VISIBLE_ITEM_12_0 = 0x480,
PLAYER_VISIBLE_ITEM_12_PROPERTIES = 0x4B0,
PLAYER_VISIBLE_ITEM_12_PAD = 0x4B4,
PLAYER_VISIBLE_ITEM_13_CREATOR = 0x4B8,
PLAYER_VISIBLE_ITEM_13_0 = 0x4C0,
PLAYER_VISIBLE_ITEM_13_PROPERTIES = 0x4F0,
PLAYER_VISIBLE_ITEM_13_PAD = 0x4F4,
PLAYER_VISIBLE_ITEM_14_CREATOR = 0x4F8,
PLAYER_VISIBLE_ITEM_14_0 = 0x500,
PLAYER_VISIBLE_ITEM_14_PROPERTIES = 0x530,
PLAYER_VISIBLE_ITEM_14_PAD = 0x534,
PLAYER_VISIBLE_ITEM_15_CREATOR = 0x538,
PLAYER_VISIBLE_ITEM_15_0 = 0x540,
PLAYER_VISIBLE_ITEM_15_PROPERTIES = 0x570,
PLAYER_VISIBLE_ITEM_15_PAD = 0x574,
PLAYER_VISIBLE_ITEM_16_CREATOR = 0x578,
PLAYER_VISIBLE_ITEM_16_0 = 0x580,
PLAYER_VISIBLE_ITEM_16_PROPERTIES = 0x5B0,
PLAYER_VISIBLE_ITEM_16_PAD = 0x5B4,
PLAYER_VISIBLE_ITEM_17_CREATOR = 0x5B8,
PLAYER_VISIBLE_ITEM_17_0 = 0x5C0,
PLAYER_VISIBLE_ITEM_17_PROPERTIES = 0x5F0,
PLAYER_VISIBLE_ITEM_17_PAD = 0x5F4,
PLAYER_VISIBLE_ITEM_18_CREATOR = 0x5F8,
PLAYER_VISIBLE_ITEM_18_0 = 0x600,
PLAYER_VISIBLE_ITEM_18_PROPERTIES = 0x630,
PLAYER_VISIBLE_ITEM_18_PAD = 0x634,
PLAYER_VISIBLE_ITEM_19_CREATOR = 0x638,
PLAYER_VISIBLE_ITEM_19_0 = 0x640,
PLAYER_VISIBLE_ITEM_19_PROPERTIES = 0x670,
PLAYER_VISIBLE_ITEM_19_PAD = 0x674,
PLAYER_CHOSEN_TITLE = 0x678,
PLAYER_FIELD_PAD_0 = 0x67C,
PLAYER_FIELD_INV_SLOT_HEAD = 0x680,
PLAYER_FIELD_PACK_SLOT_1 = 0x738,
PLAYER_FIELD_BANK_SLOT_1 = 0x7B8,
PLAYER_FIELD_BANKBAG_SLOT_1 = 0x898,
PLAYER_FIELD_VENDORBUYBACK_SLOT_1 = 0x8D0,
PLAYER_FIELD_KEYRING_SLOT_1 = 0x930,
PLAYER_FIELD_VANITYPET_SLOT_1 = 0xA30,
PLAYER_FARSIGHT = 0xAC0,
PLAYER__FIELD_KNOWN_TITLES = 0xAC8,
PLAYER_XP = 0xAD0,
PLAYER_NEXT_LEVEL_XP = 0xAD4,
PLAYER_SKILL_INFO_1_1 = 0xAD8,
PLAYER_CHARACTER_POINTS1 = 0x10D8,
PLAYER_CHARACTER_POINTS2 = 0x10DC,
PLAYER_TRACK_CREATURES = 0x10E0,
PLAYER_TRACK_RESOURCES = 0x10E4,
PLAYER_BLOCK_PERCENTAGE = 0x10E8,
PLAYER_DODGE_PERCENTAGE = 0x10EC,
PLAYER_PARRY_PERCENTAGE = 0x10F0,
PLAYER_EXPERTISE = 0x10F4,
PLAYER_OFFHAND_EXPERTISE = 0x10F8,
PLAYER_CRIT_PERCENTAGE = 0x10FC,
PLAYER_RANGED_CRIT_PERCENTAGE = 0x1100,
PLAYER_OFFHAND_CRIT_PERCENTAGE = 0x1104,
PLAYER_SPELL_CRIT_PERCENTAGE1 = 0x1108,
PLAYER_SHIELD_BLOCK = 0x1124,
PLAYER_EXPLORED_ZONES_1 = 0x1128,
PLAYER_REST_STATE_EXPERIENCE = 0x1228,
PLAYER_FIELD_COINAGE = 0x122C,
PLAYER_FIELD_MOD_DAMAGE_DONE_POS = 0x1230,
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = 0x124C,
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = 0x1268,
PLAYER_FIELD_MOD_HEALING_DONE_POS = 0x1284,
PLAYER_FIELD_MOD_TARGET_RESISTANCE = 0x1288,
PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = 0x128C,
PLAYER_FIELD_BYTES = 0x1290,
PLAYER_AMMO_ID = 0x1294,
PLAYER_SELF_RES_SPELL = 0x1298,
PLAYER_FIELD_PVP_MEDALS = 0x129C,
PLAYER_FIELD_BUYBACK_PRICE_1 = 0x12A0,
PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = 0x12D0,
PLAYER_FIELD_KILLS = 0x1300,
PLAYER_FIELD_TODAY_CONTRIBUTION = 0x1304,
PLAYER_FIELD_YESTERDAY_CONTRIBUTION = 0x1308,
PLAYER_FIELD_LIFETIME_HONORBALE_KILLS = 0x130C,
PLAYER_FIELD_BYTES2 = 0x1310,
PLAYER_FIELD_WATCHED_FACTION_INDEX = 0x1314,
PLAYER_FIELD_COMBAT_RATING_1 = 0x1318,
PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = 0x1378,
PLAYER_FIELD_HONOR_CURRENCY = 0x13C0,
PLAYER_FIELD_ARENA_CURRENCY = 0x13C4,
PLAYER_FIELD_MOD_MANA_REGEN = 0x13C8,
PLAYER_FIELD_MOD_MANA_REGEN_INTERRUPT = 0x13CC,
PLAYER_FIELD_MAX_LEVEL = 0x13D0,
PLAYER_FIELD_DAILY_QUESTS_1 = 0x13D4,
TOTAL_PLAYER_FIELDS = 0xF2
};
enum eGameObjectFields
{
GAMEOBJECT_DISPLAYID=8,
GAMEOBJECT_FLAGS=12,
GAMEOBJECT_ROTATION=16,
GAMEOBJECT_STATE=32,
GAMEOBJECT_POS_X=36,
GAMEOBJECT_POS_Y=40,
GAMEOBJECT_POS_Z=44,
GAMEOBJECT_FACING=48,
GAMEOBJECT_DYN_FLAGS=52,
GAMEOBJECT_FACTION=56,
GAMEOBJECT_TYPE_ID=60,
GAMEOBJECT_LEVEL=64,
GAMEOBJECT_ARTKIT=68,
GAMEOBJECT_ANIMPROGRESS=72,
GAMEOBJECT_PADDING=76,
TOTAL_GAMEOBJECT_FIELDS=26
};
enum eDynamicObjectFields
{
DYNAMICOBJECT_CASTER = 0,
DYNAMICOBJECT_BYTES = 0x8,
DYNAMICOBJECT_SPELLID = 0xC,
DYNAMICOBJECT_RADIUS = 0x10,
DYNAMICOBJECT_POS_X = 0x14,
DYNAMICOBJECT_POS_Y = 0x18,
DYNAMICOBJECT_POS_Z = 0x1C,
DYNAMICOBJECT_FACING = 0x20,
DYNAMICOBJECT_CASTTIME = 0x24,
TOTAL_DYNAMICOBJECT_FIELDS = 0x9
};
enum eCorpseFields
{
CORPSE_FIELD_OWNER = 0,
CORPSE_FIELD_FACING = 0x8,
CORPSE_FIELD_POS_X = 0xC,
CORPSE_FIELD_POS_Y = 0x10,
CORPSE_FIELD_POS_Z = 0x14,
CORPSE_FIELD_DISPLAY_ID = 0x18,
CORPSE_FIELD_ITEM = 0x1C,
CORPSE_FIELD_BYTES_1 = 0x68,
CORPSE_FIELD_BYTES_2 = 0x6C,
CORPSE_FIELD_GUILD = 0x70,
CORPSE_FIELD_FLAGS = 0x74,
CORPSE_FIELD_DYNAMIC_FLAGS = 0x78,
CORPSE_FIELD_PAD = 0x7C,
TOTAL_CORPSE_FIELDS = 0xD
};
enum eObjType
{
OT_LOCAL = 0,
OT_ITEM = 1,
OT_CONTAINER = 2,
OT_UNIT = 3,
OT_PLAYER = 4,
OT_GAMEOBJ = 5,
OT_DYNOBJ = 6,
OT_CORPSE = 7,
OT_FORCEDWORD = 0xFFFFFFFF
}; // Credit ISXWoW
enum ePlayerClass
{
CLASS_NONE = 0,
CLASS_WARRIOR = 1,
CLASS_PALADIN = 2,
CLASS_HUNTER = 3,
CLASS_ROGUE = 4,
CLASS_PRIEST = 5,
CLASS_SHAMAN = 7,
CLASS_MAGE = 8,
CLASS_WARLOCK = 9,
CLASS_DRUID = 11
}; // Credit ISXWoW
enum eUnitClassification
{
UC_NORMAL = 0,
UC_ELITE = 1,
UC_RAREELITE = 2,
UC_WORLDBOSS = 3,
UC_RARE = 4
}; // Credit ISXWoW
enum ePlayerRace
{
RACE_NONE = 0,
RACE_HUMAN = 1,
RACE_ORC = 2,
RACE_DWARF = 3,
RACE_NIGHTELF = 4,
RACE_UNDEAD = 5,
RACE_TAUREN = 6,
RACE_GNOME = 7,
RACE_TROLL = 8,
RACE_BLOODELF = 10,
RACE_DRAENEI = 11
}; // Credit ISXWoW
enum eUnitNPCFlags
{
NPC_FLAG_CHAT = 0x1, // 1
NPC_FLAG_MERCHANT = 0x4,
NPC_FLAG_GRIFFON_MASTER = 0x8,
NPC_FLAG_SPIRIT_HEALER = 0x20,
NPC_FLAG_INNKEEPER = 0x80,
NPC_FLAG_BANKER = 0x100,
NPC_FLAG_AUCTIONEER = 0x1000,
NPC_FLAG_CAN_REPAIR = 0x4000
}; // Credit ISXWoW
enum eUnitFlags
{
UF_SITTING = 0x01,
UF_ELITE = 0x40,
UF_DEAD = 0x40000,
UF_FLYING = 0x100000
}; // Credit ISXWoW
enum eUnitTypes
{
UT_UNKNOWN = 0,
UT_CRITTER,
UT_DRAGONKIN,
UT_DEMON,
UT_ELEMENTAL,
UT_GIANT,
UT_UNDEAD,
UT_HUMANOID,
UT_BEAST,
UT_MECHANIC,
UT_NOT_SPECIFIED,
UT_TOTEM
};
enum eUnitRelation
{
UR_UNKNOWN1 = 0,
UR_ENEMY,
UR_UNKNOWN2,
UR_NEUTRAL,
UR_FRIEND
};
enum eMovementFlag
{
MOVEMENT_FLAG_MOVE_FORWARD = 0x10,
MOVEMENT_FLAG_MOVE_BACKWARD = 0x20,
MOVEMENT_FLAG_STRAFE_LEFT = 0x40,
MOVEMENT_FLAG_STRAFE_RIGHT = 0x80,
MOVEMENT_FLAG_TURN_LEFT = 0x100,
MOVEMENT_FLAG_TURN_RIGHT = 0x200,
MOVEMENT_FLAG_PITCH_UP = 0x400,
MOVEMENT_FLAG_PITCH_DOWN = 0x800,
MOVEMENT_FLAG_AUTO_RUN = 0x1000,
MOVEMENT_FLAG_ALL = 0x1FF0
};
enum eEquipLoc
{
EQUIP_LOC_SHIRT = 4,
EQUIP_LOC_WAIST = 6,
EQUIP_LOC_LEGS,
EQUIP_LOC_FEET,
EQUIP_LOC_WRIST,
EQUIP_LOC_HANDS,
EQUIP_LOC_BACK = 16,
EQUIP_LOC_MAIN_HAND
};
enum eItemType
{
ITEM_TYPE_CONSUMABLE = 0,
ITEM_TYPE_CONTAINER,
ITEM_TYPE_WEAPON,
ITEM_TYPE_GEM,
ITEM_TYPE_ARMOR,
ITEM_TYPE_REAGENT,
ITEM_TYPE_PROJECTILE,
ITEM_TYPE_TRADE_GOODS,
ITEM_TYPE_GENERIC,
ITEM_TYPE_RECIPE,
ITEM_TYPE_MONEY,
ITEM_TYPE_QUIVER,
ITEM_TYPE_QUEST,
ITEM_TYPE_KEY,
ITEM_TYPE_PERMANENT,
ITEM_TYPE_MISC
};
enum eConsumableTypes
{
CONSUMABLE_TYPE_CONSUMABLE = 0,
CONSUMABLE_TYPE_POTION,
CONSUMABLE_TYPE_ELIXIR,
CONSUMABLE_TYPE_FLASK,
CONSUMABLE_TYPE_SCROLL,
CONSUMABLE_TYPE_FOOD_DRINK,
CONSUMABLE_TYPE_ITEM_ENHANCEMENT,
CONSUMABLE_TYPE_BANDAGE,
CONSUMABLE_TYPE_OTHER
};
enum eContainerTypes
{
CONTAINER_TYPE_BAG = 0,
CONTAINER_TYPE_SOUL_BAG,
CONTAINER_TYPE_HERB_BAG,
CONTAINER_TYPE_ENCHANTING_BAG,
CONTAINER_TYPE_ENGINEERING_BAG,
CONTAINER_TYPE_GEM_BAG,
CONTAINER_TYPE_MINING_BAG,
CONTAINER_TYPE_LEATHERWORKING_BAG
};
enum eWeaponTypes
{
WEAPON_TYPE_ONE_HANDED_AXE = 0,
WEAPON_TYPE_TWO_HANDED_AXE,
WEAPON_TYPE_BOW,
WEAPON_TYPE_GUN,
WEAPON_TYPE_ONE_HANDED_MACE,
WEAPON_TYPE_TWO_HANDED_MACE,
WEAPON_TYPE_POLEARM,
WEAPON_TYPE_ONE_HANDED_SWORD,
WEAPON_TYPE_TWO_HANDED_SWORD,
WEAPON_TYPE_OBSOLETE,
WEAPON_TYPE_STAVE,
WEAPON_TYPE_ONE_HANDED_EXOTIC,
WEAPON_TYPE_TWO_HANDED_EXOTIC,
WEAPON_TYPE_FIST,
WEAPON_TYPE_MISC,
WEAPON_TYPE_DAGGER,
WEAPON_TYPE_THROWN,
WEAPON_TYPE_SPEAR,
WEAPON_TYPE_CROSSBOW,
WEAPON_TYPE_WAND,
WEAPON_TYPE_FISHING_POLE
};
enum eGemTypes
{
GEM_TYPE_RED = 0,
GEM_TYPE_BLUE,
GEM_TYPE_YELLOW,
GEM_TYPE_PURPLE,
GEM_TYPE_GREEN,
GEM_TYPE_ORANGE,
GEM_TYPE_META,
GEM_TYPE_SIMPLE,
GEM_TYPE_PRISMATIC
};
enum eArmorTypes
{
ARMOR_TYPE_MISC = 0,
ARMOR_TYPE_CLOTH,
ARMOR_TYPE_LEATHER,
ARMOR_TYPE_MAIL,
ARMOR_TYPE_PLATE,
ARMOR_TYPE_BUCKLER,
ARMOR_TYPE_SHIED,
ARMOR_TYPE_LIBRAM,
ARMOR_TYPE_IDOL,
ARMOR_TYPE_TOTEM
};
enum eReagentTypes
{
REAGENT_TYPE_REAGENT = 0
};
enum eProjectileTypes
{
PROJECTILE_TYPE_WAND_OBSOLETE = 0,
PROJECTILE_TYPE_BOLT_OBSOLETE,
PROJECTILE_TYPE_ARROW,
PROJECTILE_TYPE_BULLET,
PROJECTILE_TYPE_THROWN_OBSOLETE
};
enum eTradeGoodTypes
{
TRADE_GOOD_TYPE_TRADE_GOOD = 0,
TRADE_GOOD_TYPE_PART,
TRADE_GOOD_TYPE_EXPLOSIVE,
TRADE_GOOD_TYPE_DEVICE,
TRADE_GOOD_TYPE_JEWELCRAFTING,
TRADE_GOOD_TYPE_CLOTH,
TRADE_GOOD_TYPE_LEATHER,
TRADE_GOOD_TYPE_METAL_STONE,
TRADE_GOOD_TYPE_MEAT,
TRADE_GOOD_TYPE_HEARB,
TRADE_GOOD_TYPE_ELEMENTAL,
TRADE_GOOD_TYPE_OTHER,
TRADE_GOOD_TYPE_ENCHANTING
};
enum eGenericTypes
{
GENERIC_TYPE_GENERIC = 0
};
enum eRecipeTypes
{
RECIPE_TYPE_BOOK = 0,
RECIPE_TYPE_LEATHERWORKING,
RECIPE_TYPE_TAILORING,
RECIPE_TYPE_ENGINEERING,
RECIPE_TYPE_BLACKSMITHING,
RECIPE_TYPE_COOKING,
RECIPE_TYPE_ALCHEMY,
RECIPE_TYPE_FIRST_AID,
RECIPE_TYPE_ENCHANTING,
RECIPE_TYPE_FISHING,
RECIPE_TYPE_JEWELCRAFTING
};
enum eMoneyTypes
{
MONEY_TYPE_MONEY = 0
};
enum eQuiverTypes
{
QUIVER_TYPE_OBSOLETE1 = 0,
QUIVER_TYPE_OBSOLETE2,
QUIVER_TYPE_QUIVER,
QUIVER_TYPE_POUCH
};
enum eQuestTypes
{
QUEST_TYPE_QUEST = 0
};
enum eKeyTypes
{
KEY_TYPE_KEY= 0,
KEY_TYPE_LOCKPICK
};
enum ePermanentTypes
{
PERMANENT_TYPE_PERMANENT = 0
};
enum eMiscTypes
{
MISC_TYPE_JUNK = 0,
MISC_TYPE_REAGENT,
MISC_TYPE_PET,
MISC_TYPE_HOLIDAY,
MISC_TYPE_OTHER
};