diff --git a/bin/conf/PseuWoW.conf.default b/bin/conf/PseuWoW.conf.default index d8d21e7..478c4d6 100644 --- a/bin/conf/PseuWoW.conf.default +++ b/bin/conf/PseuWoW.conf.default @@ -58,8 +58,8 @@ charname=Pseuwow // Client emulation configuration -ClientVersion=2.1.3 -ClientBuild=6898 +ClientVersion=2.3.0 +ClientBuild=7561 ClientLanguage=enUS // or change to enGB, deDE, ... @@ -114,3 +114,4 @@ rmcontrolhost=localhost useMaps=0 + diff --git a/bin/scripts/__core_misc.def b/bin/scripts/__core_misc.def index 8700586..2e3b03e 100644 --- a/bin/scripts/__core_misc.def +++ b/bin/scripts/__core_misc.def @@ -14,7 +14,7 @@ SET,color ${@0} DEFAULT,i 0 TOINT,i ${i} DEFAULT,color 6679FF -SET,link |cff${color}|Hitem:${i}:0:0:0|h[Item ${i}]|h|r +SET,link |cff${color}|Hitem:${i}:0:0:0:0:0:0:0|h[Item ${i}]|h|r UNSET i UNSET color diff --git a/bin/scripts/_enterworld.def b/bin/scripts/_enterworld.def index 18bebdb..0d7fa38 100644 --- a/bin/scripts/_enterworld.def +++ b/bin/scripts/_enterworld.def @@ -21,9 +21,10 @@ SAY [${@version_short}] login successful. EMOTE 126 // join some channels... -JOINCHANNEL generalchat -JOINCHANNEL help -JOINCHANNEL tradee +//JOINCHANNEL generalchat +//JOINCHANNEL help +//JOINCHANNEL tradee +//listchannel generalchat // ... // Spell 836 = LoginEffect diff --git a/src/Client/GUI/PseuGUI.cpp b/src/Client/GUI/PseuGUI.cpp index 39eee75..3a635d0 100644 --- a/src/Client/GUI/PseuGUI.cpp +++ b/src/Client/GUI/PseuGUI.cpp @@ -37,7 +37,7 @@ PseuGUI::PseuGUI() _initialized = false; _mustdie = false; _driverType = video::EDT_BURNINGSVIDEO; // nulldevice makes not really a sense to display stuff - _scenestate = SCENESTATE_NULL; + _scenestate = _scenestate_new = SCENESTATE_NULL; _smgr = NULL; _device = NULL; _guienv = NULL; @@ -49,19 +49,20 @@ PseuGUI::~PseuGUI() { this->Cancel(); _instance->DeleteGUI(); // this makes the instance set its gui ptr to NULL + logdebug("PseuGUI::~PseuGUI()"); } void PseuGUI::SetDriver(uint8 driverId) { switch(driverId) { - case DIRECTX9: _driverType = video::EDT_DIRECT3D9;break; - case DIRECTX8: _driverType = video::EDT_DIRECT3D8;break; - case OPENGL: _driverType = video::EDT_OPENGL; break; - case SOFTWARE: _driverType = video::EDT_SOFTWARE; break; - case BURNINGSVIDEO: _driverType = video::EDT_BURNINGSVIDEO;break; - case NULLDEVICE: _driverType = video::EDT_NULL; break; - default: _driverType = video::EDT_BURNINGSVIDEO; // if no valid driver detected, use software + case DIRECTX9: _driverType = video::EDT_DIRECT3D9; break; + case DIRECTX8: _driverType = video::EDT_DIRECT3D8; break; + case OPENGL: _driverType = video::EDT_OPENGL; break; + case SOFTWARE: _driverType = video::EDT_SOFTWARE; break; + case BURNINGSVIDEO: _driverType = video::EDT_BURNINGSVIDEO; break; + case NULLDEVICE: _driverType = video::EDT_NULL; break; + default: _driverType = video::EDT_BURNINGSVIDEO; // if no valid driver detected, use software } // TODO: add support for changing driver during runtime? diff --git a/src/Client/Realm/RealmSession.cpp b/src/Client/Realm/RealmSession.cpp index 716f859..08314bf 100644 --- a/src/Client/Realm/RealmSession.cpp +++ b/src/Client/Realm/RealmSession.cpp @@ -140,6 +140,7 @@ void RealmSession::ClearSocket(void) void RealmSession::SetMustDie(void) { _mustdie = true; + logdebug("RealmSession: Must die now."); } bool RealmSession::MustDie(void) diff --git a/src/Client/World/CMSGConstructor.cpp b/src/Client/World/CMSGConstructor.cpp index d8a599c..59a7cac 100644 --- a/src/Client/World/CMSGConstructor.cpp +++ b/src/Client/World/CMSGConstructor.cpp @@ -118,6 +118,7 @@ void WorldSession::SendCastSpell(uint32 spellid, bool nocheck) ByteBuffer temp; uint16 flags=TARGET_FLAG_SELF; // target mask. spellcast implementeation needs to be changed if TARGET_MASK_SELF is != 0 packet << spellid; + packet << (uint8)0; // unk if(my->GetTarget() != GetGuid()) // self cast? { if(target->GetTypeId() == TYPEID_PLAYER || target->GetTypeId() == TYPEID_UNIT) @@ -180,3 +181,4 @@ void WorldSession::SendWhoListRequest(uint32 minlvl, uint32 maxlvl, uint32 racem + diff --git a/src/Client/World/CacheHandler.cpp b/src/Client/World/CacheHandler.cpp index fc6a10b..68f4782 100644 --- a/src/Client/World/CacheHandler.cpp +++ b/src/Client/World/CacheHandler.cpp @@ -11,7 +11,7 @@ #include "Item.h" // increase this number whenever you change something that makes old files unusable -uint32 ITEMPROTOTYPES_CACHE_VERSION = 0x00000001; +uint32 ITEMPROTOTYPES_CACHE_VERSION = 0x00000002; PlayerNameCache::~PlayerNameCache() { @@ -261,6 +261,7 @@ void ItemProtoCache_InsertDataToSession(WorldSession *session) buf >> proto->socketBonus; buf >> proto->GemProperties; buf >> proto->ExtendedCost; + buf >> proto->RequiredArenaRank; buf >> proto->RequiredDisenchantSkill; buf >> proto->ArmorDamageModifier; @@ -378,6 +379,7 @@ void ItemProtoCache_WriteDataToCache(WorldSession *session) buf << proto->socketBonus; buf << proto->GemProperties; buf << proto->ExtendedCost; + buf << proto->RequiredArenaRank; buf << proto->RequiredDisenchantSkill; buf << proto->ArmorDamageModifier; diff --git a/src/Client/World/Item.h b/src/Client/World/Item.h index 4746f7c..1c58849 100644 --- a/src/Client/World/Item.h +++ b/src/Client/World/Item.h @@ -218,22 +218,25 @@ enum INVENTORY_CLASS // but this value used in code as implementation workaround enum ITEM_SUBCLASS_CONSUMABLE { - ITEM_SUBCLASS_FOOD = 1, - ITEM_SUBCLASS_LIQUID = 2, - ITEM_SUBCLASS_POTION = 3, + ITEM_SUBCLASS_POTION = 1, + ITEM_SUBCLASS_ELIXIR = 2, + ITEM_SUBCLASS_FLASK = 3, ITEM_SUBCLASS_SCROLL = 4, - ITEM_SUBCLASS_BANDAGE = 5, - ITEM_SUBCLASS_HEALTHSTONE = 6, - ITEM_SUBCLASS_COMBAT_EFFECT = 7 + ITEM_SUBCLASS_FOOD = 5, + ITEM_SUBCLASS_ITEM_ENHANCEMENT = 6, + ITEM_SUBCLASS_BANDAGE = 7 }; enum ITEM_SUBCLASS_CONTAINER { - ITEM_SUBCLASS_CONTAINER = 0, - ITEM_SUBCLASS_SOUL_CONTAINER = 1, - ITEM_SUBCLASS_HERB_CONTAINER = 2, - ITEM_SUBCLASS_ENCHANTING_CONTAINER = 3, - ITEM_SUBCLASS_ENGINEERING_CONTAINER = 4 + ITEM_SUBCLASS_CONTAINER = 0, + ITEM_SUBCLASS_SOUL_CONTAINER = 1, + ITEM_SUBCLASS_HERB_CONTAINER = 2, + ITEM_SUBCLASS_ENCHANTING_CONTAINER = 3, + ITEM_SUBCLASS_ENGINEERING_CONTAINER = 4, + ITEM_SUBCLASS_GEM_CONTAINER = 5, + ITEM_SUBCLASS_MINING_CONTAINER = 6, + ITEM_SUBCLASS_LEATHERWORKING_CONTAINER = 7 }; enum INVENTORY_SUBCLASS_WEAPON @@ -283,7 +286,16 @@ enum ITEM_SUBCLASS_TRADE_GOODS ITEM_SUBCLASS_TRADE_GOODS = 0, ITEM_SUBCLASS_PARTS = 1, ITEM_SUBCLASS_EXPLOSIVES = 2, - ITEM_SUBCLASS_DEVICES = 3 + ITEM_SUBCLASS_DEVICES = 3, + ITEM_SUBCLASS_JEWELCRAFTING = 4, + ITEM_SUBCLASS_CLOTH = 5, + ITEM_SUBCLASS_LEATHER = 6, + ITEM_SUBCLASS_METAL_STONE = 7, + ITEM_SUBCLASS_MEAT = 8, + ITEM_SUBCLASS_HERB = 9, + ITEM_SUBCLASS_ELEMENTAZL = 10, + ITEM_SUBCLASS_TRADE_GOODS_OTHER = 11, + ITEM_SUBCLASS_ENCHANTING = 12 }; enum ITEM_SUBCLASS_BOOK @@ -399,6 +411,7 @@ struct ItemProto uint32 socketBonus; uint32 GemProperties; uint32 ExtendedCost; + uint32 RequiredArenaRank; uint32 RequiredDisenchantSkill; float ArmorDamageModifier; }; diff --git a/src/Client/World/Opcodes.cpp b/src/Client/World/Opcodes.cpp index 2c6a4cc..79cc669 100644 --- a/src/Client/World/Opcodes.cpp +++ b/src/Client/World/Opcodes.cpp @@ -29,964 +29,1030 @@ // when renaming opcodes, replace old name by the new one const char* worldOpcodeNames[] = { - - "MSG_NULL_ACTION", //MSG_NULL_ACTION - "CMSG_BOOTME", //CMSG_BOOTME - "CMSG_DBLOOKUP", //CMSG_DBLOOKUP - "SMSG_DBLOOKUP", //SMSG_DBLOOKUP - "CMSG_QUERY_OBJECT_POSITION", //CMSG_QUERY_OBJECT_POSITION - "SMSG_QUERY_OBJECT_POSITION", //SMSG_QUERY_OBJECT_POSITION - "CMSG_QUERY_OBJECT_ROTATION", //CMSG_QUERY_OBJECT_ROTATION - "SMSG_QUERY_OBJECT_ROTATION", //SMSG_QUERY_OBJECT_ROTATION - "CMSG_WORLD_TELEPORT", //CMSG_WORLD_TELEPORT - "CMSG_TELEPORT_TO_UNIT", //CMSG_TELEPORT_TO_UNIT - "CMSG_ZONE_MAP", //CMSG_ZONE_MAP - "SMSG_ZONE_MAP", //SMSG_ZONE_MAP - "CMSG_DEBUG_CHANGECELLZONE", //CMSG_DEBUG_CHANGECELLZONE - "CMSG_EMBLAZON_TABARD_OBSOLETE", //CMSG_EMBLAZON_TABARD_OBSOLETE - "CMSG_UNEMBLAZON_TABARD_OBSOLETE", //CMSG_UNEMBLAZON_TABARD_OBSOLETE - "CMSG_RECHARGE", //CMSG_RECHARGE - "CMSG_LEARN_SPELL", //CMSG_LEARN_SPELL - "CMSG_CREATEMONSTER", //CMSG_CREATEMONSTER - "CMSG_DESTROYMONSTER", //CMSG_DESTROYMONSTER - "CMSG_CREATEITEM", //CMSG_CREATEITEM - "CMSG_CREATEGAMEOBJECT", //CMSG_CREATEGAMEOBJECT - "CMSG_MAKEMONSTERATTACKME_OBSOLETE", //CMSG_MAKEMONSTERATTACKME_OBSOLETE - "CMSG_MAKEMONSTERATTACKGUID", //CMSG_MAKEMONSTERATTACKGUID - "CMSG_ENABLEDEBUGCOMBATLOGGING_OBSOLETE", //CMSG_ENABLEDEBUGCOMBATLOGGING_OBSOLETE - "CMSG_FORCEACTION", //CMSG_FORCEACTION - "CMSG_FORCEACTIONONOTHER", //CMSG_FORCEACTIONONOTHER - "CMSG_FORCEACTIONSHOW", //CMSG_FORCEACTIONSHOW - "SMSG_FORCEACTIONSHOW", //SMSG_FORCEACTIONSHOW - "SMSG_ATTACKERSTATEUPDATEDEBUGINFO_OBSOLETE", //SMSG_ATTACKERSTATEUPDATEDEBUGINFO_OBSOLETE - "SMSG_DEBUGINFOSPELL_OBSOLETE", //SMSG_DEBUGINFOSPELL_OBSOLETE - "SMSG_DEBUGINFOSPELLMISS_OBSOLETE", //SMSG_DEBUGINFOSPELLMISS_OBSOLETE - "SMSG_DEBUG_PLAYER_RANGE_OBSOLETE", //SMSG_DEBUG_PLAYER_RANGE_OBSOLETE - "CMSG_UNDRESSPLAYER", //CMSG_UNDRESSPLAYER - "CMSG_BEASTMASTER", //CMSG_BEASTMASTER - "CMSG_GODMODE", //CMSG_GODMODE - "SMSG_GODMODE", //SMSG_GODMODE - "CMSG_CHEAT_SETMONEY", //CMSG_CHEAT_SETMONEY - "CMSG_LEVEL_CHEAT", //CMSG_LEVEL_CHEAT - "CMSG_PET_LEVEL_CHEAT", //CMSG_PET_LEVEL_CHEAT - "CMSG_LEVELUP_CHEAT_OBSOLETE", //CMSG_LEVELUP_CHEAT_OBSOLETE - "CMSG_COOLDOWN_CHEAT", //CMSG_COOLDOWN_CHEAT - "CMSG_USE_SKILL_CHEAT", //CMSG_USE_SKILL_CHEAT - "CMSG_FLAG_QUEST", //CMSG_FLAG_QUEST - "CMSG_FLAG_QUEST_FINISH", //CMSG_FLAG_QUEST_FINISH - "CMSG_CLEAR_QUEST", //CMSG_CLEAR_QUEST - "CMSG_SEND_EVENT", //CMSG_SEND_EVENT - "CMSG_DEBUG_AISTATE", //CMSG_DEBUG_AISTATE - "SMSG_DEBUG_AISTATE", //SMSG_DEBUG_AISTATE - "CMSG_DISABLE_PVP_CHEAT", //CMSG_DISABLE_PVP_CHEAT - "CMSG_ADVANCE_SPAWN_TIME", //CMSG_ADVANCE_SPAWN_TIME - "CMSG_PVP_PORT_OBSOLETE", //CMSG_PVP_PORT_OBSOLETE - "CMSG_AUTH_SRP6_BEGIN", //CMSG_AUTH_SRP6_BEGIN - "CMSG_AUTH_SRP6_PROOF", //CMSG_AUTH_SRP6_PROOF - "CMSG_AUTH_SRP6_RECODE", //CMSG_AUTH_SRP6_RECODE - "CMSG_CHAR_CREATE", //CMSG_CHAR_CREATE - "CMSG_CHAR_ENUM", //CMSG_CHAR_ENUM - "CMSG_CHAR_DELETE", //CMSG_CHAR_DELETE - "SMSG_AUTH_SRP6_RESPONSE", //SMSG_AUTH_SRP6_RESPONSE - "SMSG_CHAR_CREATE", //SMSG_CHAR_CREATE - "SMSG_CHAR_ENUM", //SMSG_CHAR_ENUM - "SMSG_CHAR_DELETE", //SMSG_CHAR_DELETE - "CMSG_PLAYER_LOGIN", //CMSG_PLAYER_LOGIN - "SMSG_NEW_WORLD", //SMSG_NEW_WORLD - "SMSG_TRANSFER_PENDING", //SMSG_TRANSFER_PENDING - "SMSG_TRANSFER_ABORTED", //SMSG_TRANSFER_ABORTED - "SMSG_CHARACTER_LOGIN_FAILED", //SMSG_CHARACTER_LOGIN_FAILED - "SMSG_LOGIN_SETTIMESPEED", //SMSG_LOGIN_SETTIMESPEED - "SMSG_GAMETIME_UPDATE", //SMSG_GAMETIME_UPDATE - "CMSG_GAMETIME_SET", //CMSG_GAMETIME_SET - "SMSG_GAMETIME_SET", //SMSG_GAMETIME_SET - "CMSG_GAMESPEED_SET", //CMSG_GAMESPEED_SET - "SMSG_GAMESPEED_SET", //SMSG_GAMESPEED_SET - "CMSG_SERVERTIME", //CMSG_SERVERTIME - "SMSG_SERVERTIME", //SMSG_SERVERTIME - "CMSG_PLAYER_LOGOUT", //CMSG_PLAYER_LOGOUT - "CMSG_LOGOUT_REQUEST", //CMSG_LOGOUT_REQUEST - "SMSG_LOGOUT_RESPONSE", //SMSG_LOGOUT_RESPONSE - "SMSG_LOGOUT_COMPLETE", //SMSG_LOGOUT_COMPLETE - "CMSG_LOGOUT_CANCEL", //CMSG_LOGOUT_CANCEL - "SMSG_LOGOUT_CANCEL_ACK", //SMSG_LOGOUT_CANCEL_ACK - "CMSG_NAME_QUERY", //CMSG_NAME_QUERY - "SMSG_NAME_QUERY_RESPONSE", //SMSG_NAME_QUERY_RESPONSE - "CMSG_PET_NAME_QUERY", //CMSG_PET_NAME_QUERY - "SMSG_PET_NAME_QUERY_RESPONSE", //SMSG_PET_NAME_QUERY_RESPONSE - "CMSG_GUILD_QUERY", //CMSG_GUILD_QUERY - "SMSG_GUILD_QUERY_RESPONSE", //SMSG_GUILD_QUERY_RESPONSE - "CMSG_ITEM_QUERY_SINGLE", //CMSG_ITEM_QUERY_SINGLE - "CMSG_ITEM_QUERY_MULTIPLE", //CMSG_ITEM_QUERY_MULTIPLE - "SMSG_ITEM_QUERY_SINGLE_RESPONSE", //SMSG_ITEM_QUERY_SINGLE_RESPONSE - "SMSG_ITEM_QUERY_MULTIPLE_RESPONSE", //SMSG_ITEM_QUERY_MULTIPLE_RESPONSE - "CMSG_PAGE_TEXT_QUERY", //CMSG_PAGE_TEXT_QUERY - "SMSG_PAGE_TEXT_QUERY_RESPONSE", //SMSG_PAGE_TEXT_QUERY_RESPONSE - "CMSG_QUEST_QUERY", //CMSG_QUEST_QUERY - "SMSG_QUEST_QUERY_RESPONSE", //SMSG_QUEST_QUERY_RESPONSE - "CMSG_GAMEOBJECT_QUERY", //CMSG_GAMEOBJECT_QUERY - "SMSG_GAMEOBJECT_QUERY_RESPONSE", //SMSG_GAMEOBJECT_QUERY_RESPONSE - "CMSG_CREATURE_QUERY", //CMSG_CREATURE_QUERY - "SMSG_CREATURE_QUERY_RESPONSE", //SMSG_CREATURE_QUERY_RESPONSE - "CMSG_WHO", //CMSG_WHO - "SMSG_WHO", //SMSG_WHO - "CMSG_WHOIS", //CMSG_WHOIS - "SMSG_WHOIS", //SMSG_WHOIS - "CMSG_FRIEND_LIST", //CMSG_FRIEND_LIST - "SMSG_FRIEND_LIST", //SMSG_FRIEND_LIST - "SMSG_FRIEND_STATUS", //SMSG_FRIEND_STATUS - "CMSG_ADD_FRIEND", //CMSG_ADD_FRIEND - "CMSG_DEL_FRIEND", //CMSG_DEL_FRIEND - "SMSG_IGNORE_LIST", //SMSG_IGNORE_LIST - "CMSG_ADD_IGNORE", //CMSG_ADD_IGNORE - "CMSG_DEL_IGNORE", //CMSG_DEL_IGNORE - "CMSG_GROUP_INVITE", //CMSG_GROUP_INVITE - "SMSG_GROUP_INVITE", //SMSG_GROUP_INVITE - "CMSG_GROUP_CANCEL", //CMSG_GROUP_CANCEL - "SMSG_GROUP_CANCEL", //SMSG_GROUP_CANCEL - "CMSG_GROUP_ACCEPT", //CMSG_GROUP_ACCEPT - "CMSG_GROUP_DECLINE", //CMSG_GROUP_DECLINE - "SMSG_GROUP_DECLINE", //SMSG_GROUP_DECLINE - "CMSG_GROUP_UNINVITE", //CMSG_GROUP_UNINVITE - "CMSG_GROUP_UNINVITE_GUID", //CMSG_GROUP_UNINVITE_GUID - "SMSG_GROUP_UNINVITE", //SMSG_GROUP_UNINVITE - "CMSG_GROUP_SET_LEADER", //CMSG_GROUP_SET_LEADER - "SMSG_GROUP_SET_LEADER", //SMSG_GROUP_SET_LEADER - "CMSG_LOOT_METHOD", //CMSG_LOOT_METHOD - "CMSG_GROUP_DISBAND", //CMSG_GROUP_DISBAND - "SMSG_GROUP_DESTROYED", //SMSG_GROUP_DESTROYED - "SMSG_GROUP_LIST", //SMSG_GROUP_LIST - "SMSG_PARTY_MEMBER_STATS", //SMSG_PARTY_MEMBER_STATS - "SMSG_PARTY_COMMAND_RESULT", //SMSG_PARTY_COMMAND_RESULT - "UMSG_UPDATE_GROUP_MEMBERS", //UMSG_UPDATE_GROUP_MEMBERS - "CMSG_GUILD_CREATE", //CMSG_GUILD_CREATE - "CMSG_GUILD_INVITE", //CMSG_GUILD_INVITE - "SMSG_GUILD_INVITE", //SMSG_GUILD_INVITE - "CMSG_GUILD_ACCEPT", //CMSG_GUILD_ACCEPT - "CMSG_GUILD_DECLINE", //CMSG_GUILD_DECLINE - "SMSG_GUILD_DECLINE", //SMSG_GUILD_DECLINE - "CMSG_GUILD_INFO", //CMSG_GUILD_INFO - "SMSG_GUILD_INFO", //SMSG_GUILD_INFO - "CMSG_GUILD_ROSTER", //CMSG_GUILD_ROSTER - "SMSG_GUILD_ROSTER", //SMSG_GUILD_ROSTER - "CMSG_GUILD_PROMOTE", //CMSG_GUILD_PROMOTE - "CMSG_GUILD_DEMOTE", //CMSG_GUILD_DEMOTE - "CMSG_GUILD_LEAVE", //CMSG_GUILD_LEAVE - "CMSG_GUILD_REMOVE", //CMSG_GUILD_REMOVE - "CMSG_GUILD_DISBAND", //CMSG_GUILD_DISBAND - "CMSG_GUILD_LEADER", //CMSG_GUILD_LEADER - "CMSG_GUILD_MOTD", //CMSG_GUILD_MOTD - "SMSG_GUILD_EVENT", //SMSG_GUILD_EVENT - "SMSG_GUILD_COMMAND_RESULT", //SMSG_GUILD_COMMAND_RESULT - "UMSG_UPDATE_GUILD", //UMSG_UPDATE_GUILD - "CMSG_MESSAGECHAT", //CMSG_MESSAGECHAT - "SMSG_MESSAGECHAT", //SMSG_MESSAGECHAT - "CMSG_JOIN_CHANNEL", //CMSG_JOIN_CHANNEL - "CMSG_LEAVE_CHANNEL", //CMSG_LEAVE_CHANNEL - "SMSG_CHANNEL_NOTIFY", //SMSG_CHANNEL_NOTIFY - "CMSG_CHANNEL_LIST", //CMSG_CHANNEL_LIST - "SMSG_CHANNEL_LIST", //SMSG_CHANNEL_LIST - "CMSG_CHANNEL_PASSWORD", //CMSG_CHANNEL_PASSWORD - "CMSG_CHANNEL_SET_OWNER", //CMSG_CHANNEL_SET_OWNER - "CMSG_CHANNEL_OWNER", //CMSG_CHANNEL_OWNER - "CMSG_CHANNEL_MODERATOR", //CMSG_CHANNEL_MODERATOR - "CMSG_CHANNEL_UNMODERATOR", //CMSG_CHANNEL_UNMODERATOR - "CMSG_CHANNEL_MUTE", //CMSG_CHANNEL_MUTE - "CMSG_CHANNEL_UNMUTE", //CMSG_CHANNEL_UNMUTE - "CMSG_CHANNEL_INVITE", //CMSG_CHANNEL_INVITE - "CMSG_CHANNEL_KICK", //CMSG_CHANNEL_KICK - "CMSG_CHANNEL_BAN", //CMSG_CHANNEL_BAN - "CMSG_CHANNEL_UNBAN", //CMSG_CHANNEL_UNBAN - "CMSG_CHANNEL_ANNOUNCEMENTS", //CMSG_CHANNEL_ANNOUNCEMENTS - "CMSG_CHANNEL_MODERATE", //CMSG_CHANNEL_MODERATE - "SMSG_UPDATE_OBJECT", //SMSG_UPDATE_OBJECT - "SMSG_DESTROY_OBJECT", //SMSG_DESTROY_OBJECT - "CMSG_USE_ITEM", //CMSG_USE_ITEM - "CMSG_OPEN_ITEM", //CMSG_OPEN_ITEM - "CMSG_READ_ITEM", //CMSG_READ_ITEM - "SMSG_READ_ITEM_OK", //SMSG_READ_ITEM_OK - "SMSG_READ_ITEM_FAILED", //SMSG_READ_ITEM_FAILED - "SMSG_ITEM_COOLDOWN", //SMSG_ITEM_COOLDOWN - "CMSG_GAMEOBJ_USE", //CMSG_GAMEOBJ_USE - "CMSG_GAMEOBJ_CHAIR_USE_OBSOLETE", //CMSG_GAMEOBJ_CHAIR_USE_OBSOLETE - "SMSG_GAMEOBJECT_CUSTOM_ANIM", //SMSG_GAMEOBJECT_CUSTOM_ANIM - "CMSG_AREATRIGGER", //CMSG_AREATRIGGER - "MSG_MOVE_START_FORWARD", //MSG_MOVE_START_FORWARD - "MSG_MOVE_START_BACKWARD", //MSG_MOVE_START_BACKWARD - "MSG_MOVE_STOP", //MSG_MOVE_STOP - "MSG_MOVE_START_STRAFE_LEFT", //MSG_MOVE_START_STRAFE_LEFT - "MSG_MOVE_START_STRAFE_RIGHT", //MSG_MOVE_START_STRAFE_RIGHT - "MSG_MOVE_STOP_STRAFE", //MSG_MOVE_STOP_STRAFE - "MSG_MOVE_JUMP", //MSG_MOVE_JUMP - "MSG_MOVE_START_TURN_LEFT", //MSG_MOVE_START_TURN_LEFT - "MSG_MOVE_START_TURN_RIGHT", //MSG_MOVE_START_TURN_RIGHT - "MSG_MOVE_STOP_TURN", //MSG_MOVE_STOP_TURN - "MSG_MOVE_START_PITCH_UP", //MSG_MOVE_START_PITCH_UP - "MSG_MOVE_START_PITCH_DOWN", //MSG_MOVE_START_PITCH_DOWN - "MSG_MOVE_STOP_PITCH", //MSG_MOVE_STOP_PITCH - "MSG_MOVE_SET_RUN_MODE", //MSG_MOVE_SET_RUN_MODE - "MSG_MOVE_SET_WALK_MODE", //MSG_MOVE_SET_WALK_MODE - "MSG_MOVE_TOGGLE_LOGGING", //MSG_MOVE_TOGGLE_LOGGING - "MSG_MOVE_TELEPORT", //MSG_MOVE_TELEPORT - "MSG_MOVE_TELEPORT_CHEAT", //MSG_MOVE_TELEPORT_CHEAT - "MSG_MOVE_TELEPORT_ACK", //MSG_MOVE_TELEPORT_ACK - "MSG_MOVE_TOGGLE_FALL_LOGGING", //MSG_MOVE_TOGGLE_FALL_LOGGING - "MSG_MOVE_FALL_LAND", //MSG_MOVE_FALL_LAND - "MSG_MOVE_START_SWIM", //MSG_MOVE_START_SWIM - "MSG_MOVE_STOP_SWIM", //MSG_MOVE_STOP_SWIM - "MSG_MOVE_SET_RUN_SPEED_CHEAT", //MSG_MOVE_SET_RUN_SPEED_CHEAT - "MSG_MOVE_SET_RUN_SPEED", //MSG_MOVE_SET_RUN_SPEED - "MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT", //MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT - "MSG_MOVE_SET_RUN_BACK_SPEED", //MSG_MOVE_SET_RUN_BACK_SPEED - "MSG_MOVE_SET_WALK_SPEED_CHEAT", //MSG_MOVE_SET_WALK_SPEED_CHEAT - "MSG_MOVE_SET_WALK_SPEED", //MSG_MOVE_SET_WALK_SPEED - "MSG_MOVE_SET_SWIM_SPEED_CHEAT", //MSG_MOVE_SET_SWIM_SPEED_CHEAT - "MSG_MOVE_SET_SWIM_SPEED", //MSG_MOVE_SET_SWIM_SPEED - "MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT", //MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT - "MSG_MOVE_SET_SWIM_BACK_SPEED", //MSG_MOVE_SET_SWIM_BACK_SPEED - "MSG_MOVE_SET_ALL_SPEED_CHEAT", //MSG_MOVE_SET_ALL_SPEED_CHEAT - "MSG_MOVE_SET_TURN_RATE_CHEAT", //MSG_MOVE_SET_TURN_RATE_CHEAT - "MSG_MOVE_SET_TURN_RATE", //MSG_MOVE_SET_TURN_RATE - "MSG_MOVE_TOGGLE_COLLISION_CHEAT", //MSG_MOVE_TOGGLE_COLLISION_CHEAT - "MSG_MOVE_SET_FACING", //MSG_MOVE_SET_FACING - "MSG_MOVE_SET_PITCH", //MSG_MOVE_SET_PITCH - "MSG_MOVE_WORLDPORT_ACK", //MSG_MOVE_WORLDPORT_ACK - "SMSG_MONSTER_MOVE", //SMSG_MONSTER_MOVE - "SMSG_MOVE_WATER_WALK", //SMSG_MOVE_WATER_WALK - "SMSG_MOVE_LAND_WALK", //SMSG_MOVE_LAND_WALK - "MSG_MOVE_SET_RAW_POSITION_ACK", //MSG_MOVE_SET_RAW_POSITION_ACK - "CMSG_MOVE_SET_RAW_POSITION", //CMSG_MOVE_SET_RAW_POSITION - "SMSG_FORCE_RUN_SPEED_CHANGE", //SMSG_FORCE_RUN_SPEED_CHANGE - "CMSG_FORCE_RUN_SPEED_CHANGE_ACK", //CMSG_FORCE_RUN_SPEED_CHANGE_ACK - "SMSG_FORCE_RUN_BACK_SPEED_CHANGE", //SMSG_FORCE_RUN_BACK_SPEED_CHANGE - "CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK", //CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK - "SMSG_FORCE_SWIM_SPEED_CHANGE", //SMSG_FORCE_SWIM_SPEED_CHANGE - "CMSG_FORCE_SWIM_SPEED_CHANGE_ACK", //CMSG_FORCE_SWIM_SPEED_CHANGE_ACK - "SMSG_FORCE_MOVE_ROOT", //SMSG_FORCE_MOVE_ROOT - "CMSG_FORCE_MOVE_ROOT_ACK", //CMSG_FORCE_MOVE_ROOT_ACK - "SMSG_FORCE_MOVE_UNROOT", //SMSG_FORCE_MOVE_UNROOT - "CMSG_FORCE_MOVE_UNROOT_ACK", //CMSG_FORCE_MOVE_UNROOT_ACK - "MSG_MOVE_ROOT", //MSG_MOVE_ROOT - "MSG_MOVE_UNROOT", //MSG_MOVE_UNROOT - "MSG_MOVE_HEARTBEAT", //MSG_MOVE_HEARTBEAT - "SMSG_MOVE_KNOCK_BACK", //SMSG_MOVE_KNOCK_BACK - "CMSG_MOVE_KNOCK_BACK_ACK", //CMSG_MOVE_KNOCK_BACK_ACK - "MSG_MOVE_KNOCK_BACK", //MSG_MOVE_KNOCK_BACK - "SMSG_MOVE_FEATHER_FALL", //SMSG_MOVE_FEATHER_FALL - "SMSG_MOVE_NORMAL_FALL", //SMSG_MOVE_NORMAL_FALL - "SMSG_MOVE_SET_HOVER", //SMSG_MOVE_SET_HOVER - "SMSG_MOVE_UNSET_HOVER", //SMSG_MOVE_UNSET_HOVER - "CMSG_MOVE_HOVER_ACK", //CMSG_MOVE_HOVER_ACK - "MSG_MOVE_HOVER", //MSG_MOVE_HOVER - "CMSG_TRIGGER_CINEMATIC_CHEAT", //CMSG_TRIGGER_CINEMATIC_CHEAT - "CMSG_OPENING_CINEMATIC", //CMSG_OPENING_CINEMATIC - "SMSG_TRIGGER_CINEMATIC", //SMSG_TRIGGER_CINEMATIC - "CMSG_NEXT_CINEMATIC_CAMERA", //CMSG_NEXT_CINEMATIC_CAMERA - "CMSG_COMPLETE_CINEMATIC", //CMSG_COMPLETE_CINEMATIC - "SMSG_TUTORIAL_FLAGS", //SMSG_TUTORIAL_FLAGS - "CMSG_TUTORIAL_FLAG", //CMSG_TUTORIAL_FLAG - "CMSG_TUTORIAL_CLEAR", //CMSG_TUTORIAL_CLEAR - "CMSG_TUTORIAL_RESET", //CMSG_TUTORIAL_RESET - "CMSG_STANDSTATECHANGE", //CMSG_STANDSTATECHANGE - "CMSG_EMOTE", //CMSG_EMOTE - "SMSG_EMOTE", //SMSG_EMOTE - "CMSG_TEXT_EMOTE", //CMSG_TEXT_EMOTE - "SMSG_TEXT_EMOTE", //SMSG_TEXT_EMOTE - "CMSG_AUTOEQUIP_GROUND_ITEM", //CMSG_AUTOEQUIP_GROUND_ITEM - "CMSG_AUTOSTORE_GROUND_ITEM", //CMSG_AUTOSTORE_GROUND_ITEM - "CMSG_AUTOSTORE_LOOT_ITEM", //CMSG_AUTOSTORE_LOOT_ITEM - "CMSG_STORE_LOOT_IN_SLOT", //CMSG_STORE_LOOT_IN_SLOT - "CMSG_AUTOEQUIP_ITEM", //CMSG_AUTOEQUIP_ITEM - "CMSG_AUTOSTORE_BAG_ITEM", //CMSG_AUTOSTORE_BAG_ITEM - "CMSG_SWAP_ITEM", //CMSG_SWAP_ITEM - "CMSG_SWAP_INV_ITEM", //CMSG_SWAP_INV_ITEM - "CMSG_SPLIT_ITEM", //CMSG_SPLIT_ITEM - "CMSG_PICKUP_ITEM", //CMSG_PICKUP_ITEM - "CMSG_DROP_ITEM", //CMSG_DROP_ITEM - "CMSG_DESTROYITEM", //CMSG_DESTROYITEM - "SMSG_INVENTORY_CHANGE_FAILURE", //SMSG_INVENTORY_CHANGE_FAILURE - "SMSG_OPEN_CONTAINER", //SMSG_OPEN_CONTAINER - "CMSG_INSPECT", //CMSG_INSPECT - "SMSG_INSPECT", //SMSG_INSPECT - "CMSG_INITIATE_TRADE", //CMSG_INITIATE_TRADE - "CMSG_BEGIN_TRADE", //CMSG_BEGIN_TRADE - "CMSG_BUSY_TRADE", //CMSG_BUSY_TRADE - "CMSG_IGNORE_TRADE", //CMSG_IGNORE_TRADE - "CMSG_ACCEPT_TRADE", //CMSG_ACCEPT_TRADE - "CMSG_UNACCEPT_TRADE", //CMSG_UNACCEPT_TRADE - "CMSG_CANCEL_TRADE", //CMSG_CANCEL_TRADE - "CMSG_SET_TRADE_ITEM", //CMSG_SET_TRADE_ITEM - "CMSG_CLEAR_TRADE_ITEM", //CMSG_CLEAR_TRADE_ITEM - "CMSG_SET_TRADE_GOLD", //CMSG_SET_TRADE_GOLD - "SMSG_TRADE_STATUS", //SMSG_TRADE_STATUS - "SMSG_TRADE_STATUS_EXTENDED", //SMSG_TRADE_STATUS_EXTENDED - "SMSG_INITIALIZE_FACTIONS", //SMSG_INITIALIZE_FACTIONS - "SMSG_SET_FACTION_VISIBLE", //SMSG_SET_FACTION_VISIBLE - "SMSG_SET_FACTION_STANDING", //SMSG_SET_FACTION_STANDING - "CMSG_SET_FACTION_ATWAR", //CMSG_SET_FACTION_ATWAR - "CMSG_SET_FACTION_CHEAT", //CMSG_SET_FACTION_CHEAT - "SMSG_SET_PROFICIENCY", //SMSG_SET_PROFICIENCY - "CMSG_SET_ACTION_BUTTON", //CMSG_SET_ACTION_BUTTON - "SMSG_ACTION_BUTTONS", //SMSG_ACTION_BUTTONS - "SMSG_INITIAL_SPELLS", //SMSG_INITIAL_SPELLS - "SMSG_LEARNED_SPELL", //SMSG_LEARNED_SPELL - "SMSG_SUPERCEDED_SPELL", //SMSG_SUPERCEDED_SPELL - "CMSG_NEW_SPELL_SLOT", //CMSG_NEW_SPELL_SLOT - "CMSG_CAST_SPELL", //CMSG_CAST_SPELL - "CMSG_CANCEL_CAST", //CMSG_CANCEL_CAST - "SMSG_CAST_RESULT", //SMSG_CAST_RESULT - "SMSG_SPELL_START", //SMSG_SPELL_START - "SMSG_SPELL_GO", //SMSG_SPELL_GO - "SMSG_SPELL_FAILURE", //SMSG_SPELL_FAILURE - "SMSG_SPELL_COOLDOWN", //SMSG_SPELL_COOLDOWN - "SMSG_COOLDOWN_EVENT", //SMSG_COOLDOWN_EVENT - "CMSG_CANCEL_AURA", //CMSG_CANCEL_AURA - "SMSG_UPDATE_AURA_DURATION", //SMSG_UPDATE_AURA_DURATION - "SMSG_PET_CAST_FAILED", //SMSG_PET_CAST_FAILED - "MSG_CHANNEL_START", //MSG_CHANNEL_START - "MSG_CHANNEL_UPDATE", //MSG_CHANNEL_UPDATE - "CMSG_CANCEL_CHANNELLING", //CMSG_CANCEL_CHANNELLING - "SMSG_AI_REACTION", //SMSG_AI_REACTION - "CMSG_SET_SELECTION", //CMSG_SET_SELECTION - "CMSG_SET_TARGET_OBSOLETE", //CMSG_SET_TARGET_OBSOLETE - "CMSG_UNUSED", //CMSG_UNUSED - "CMSG_UNUSED2", //CMSG_UNUSED2 - "CMSG_ATTACKSWING", //CMSG_ATTACKSWING - "CMSG_ATTACKSTOP", //CMSG_ATTACKSTOP - "SMSG_ATTACKSTART", //SMSG_ATTACKSTART - "SMSG_ATTACKSTOP", //SMSG_ATTACKSTOP - "SMSG_ATTACKSWING_NOTINRANGE", //SMSG_ATTACKSWING_NOTINRANGE - "SMSG_ATTACKSWING_BADFACING", //SMSG_ATTACKSWING_BADFACING - "SMSG_ATTACKSWING_NOTSTANDING", //SMSG_ATTACKSWING_NOTSTANDING - "SMSG_ATTACKSWING_DEADTARGET", //SMSG_ATTACKSWING_DEADTARGET - "SMSG_ATTACKSWING_CANT_ATTACK", //SMSG_ATTACKSWING_CANT_ATTACK - "SMSG_ATTACKERSTATEUPDATE", //SMSG_ATTACKERSTATEUPDATE - "SMSG_VICTIMSTATEUPDATE_OBSOLETE", //SMSG_VICTIMSTATEUPDATE_OBSOLETE - "SMSG_DAMAGE_DONE_OBSOLETE", //SMSG_DAMAGE_DONE_OBSOLETE - "SMSG_DAMAGE_TAKEN_OBSOLETE", //SMSG_DAMAGE_TAKEN_OBSOLETE - "SMSG_CANCEL_COMBAT", //SMSG_CANCEL_COMBAT - "SMSG_PLAYER_COMBAT_XP_GAIN_OBSOLETE", //SMSG_PLAYER_COMBAT_XP_GAIN_OBSOLETE - "SMSG_HEALSPELL_ON_PLAYER_OBSOLETE", //SMSG_HEALSPELL_ON_PLAYER_OBSOLETE - "SMSG_HEALSPELL_ON_PLAYERS_PET_OBSOLETE", //SMSG_HEALSPELL_ON_PLAYERS_PET_OBSOLETE - "CMSG_SHEATHE_OBSOLETE", //CMSG_SHEATHE_OBSOLETE - "CMSG_SAVE_PLAYER", //CMSG_SAVE_PLAYER - "CMSG_SETDEATHBINDPOINT", //CMSG_SETDEATHBINDPOINT - "SMSG_BINDPOINTUPDATE", //SMSG_BINDPOINTUPDATE - "CMSG_GETDEATHBINDZONE", //CMSG_GETDEATHBINDZONE - "SMSG_BINDZONEREPLY", //SMSG_BINDZONEREPLY - "SMSG_PLAYERBOUND", //SMSG_PLAYERBOUND - "SMSG_DEATH_NOTIFY_OBSOLETE", //SMSG_DEATH_NOTIFY_OBSOLETE - "CMSG_REPOP_REQUEST", //CMSG_REPOP_REQUEST - "SMSG_RESURRECT_REQUEST", //SMSG_RESURRECT_REQUEST - "CMSG_RESURRECT_RESPONSE", //CMSG_RESURRECT_RESPONSE - "CMSG_LOOT", //CMSG_LOOT - "CMSG_LOOT_MONEY", //CMSG_LOOT_MONEY - "CMSG_LOOT_RELEASE", //CMSG_LOOT_RELEASE - "SMSG_LOOT_RESPONSE", //SMSG_LOOT_RESPONSE - "SMSG_LOOT_RELEASE_RESPONSE", //SMSG_LOOT_RELEASE_RESPONSE - "SMSG_LOOT_REMOVED", //SMSG_LOOT_REMOVED - "SMSG_LOOT_MONEY_NOTIFY", //SMSG_LOOT_MONEY_NOTIFY - "SMSG_LOOT_ITEM_NOTIFY", //SMSG_LOOT_ITEM_NOTIFY - "SMSG_LOOT_CLEAR_MONEY", //SMSG_LOOT_CLEAR_MONEY - "SMSG_ITEM_PUSH_RESULT", //SMSG_ITEM_PUSH_RESULT - "SMSG_DUEL_REQUESTED", //SMSG_DUEL_REQUESTED - "SMSG_DUEL_OUTOFBOUNDS", //SMSG_DUEL_OUTOFBOUNDS - "SMSG_DUEL_INBOUNDS", //SMSG_DUEL_INBOUNDS - "SMSG_DUEL_COMPLETE", //SMSG_DUEL_COMPLETE - "SMSG_DUEL_WINNER", //SMSG_DUEL_WINNER - "CMSG_DUEL_ACCEPTED", //CMSG_DUEL_ACCEPTED - "CMSG_DUEL_CANCELLED", //CMSG_DUEL_CANCELLED - "SMSG_MOUNTRESULT", //SMSG_MOUNTRESULT - "SMSG_DISMOUNTRESULT", //SMSG_DISMOUNTRESULT - "SMSG_PUREMOUNT_CANCELLED_OBSOLETE", //SMSG_PUREMOUNT_CANCELLED_OBSOLETE - "CMSG_MOUNTSPECIAL_ANIM", //CMSG_MOUNTSPECIAL_ANIM - "SMSG_MOUNTSPECIAL_ANIM", //SMSG_MOUNTSPECIAL_ANIM - "SMSG_PET_TAME_FAILURE", //SMSG_PET_TAME_FAILURE - "CMSG_PET_SET_ACTION", //CMSG_PET_SET_ACTION - "CMSG_PET_ACTION", //CMSG_PET_ACTION - "CMSG_PET_ABANDON", //CMSG_PET_ABANDON - "CMSG_PET_RENAME", //CMSG_PET_RENAME - "SMSG_PET_NAME_INVALID", //SMSG_PET_NAME_INVALID - "SMSG_PET_SPELLS", //SMSG_PET_SPELLS - "SMSG_PET_MODE", //SMSG_PET_MODE - "CMSG_GOSSIP_HELLO", //CMSG_GOSSIP_HELLO - "CMSG_GOSSIP_SELECT_OPTION", //CMSG_GOSSIP_SELECT_OPTION - "SMSG_GOSSIP_MESSAGE", //SMSG_GOSSIP_MESSAGE - "SMSG_GOSSIP_COMPLETE", //SMSG_GOSSIP_COMPLETE - "CMSG_NPC_TEXT_QUERY", //CMSG_NPC_TEXT_QUERY - "SMSG_NPC_TEXT_UPDATE", //SMSG_NPC_TEXT_UPDATE - "SMSG_NPC_WONT_TALK", //SMSG_NPC_WONT_TALK - "CMSG_QUESTGIVER_STATUS_QUERY", //CMSG_QUESTGIVER_STATUS_QUERY - "SMSG_QUESTGIVER_STATUS", //SMSG_QUESTGIVER_STATUS - "CMSG_QUESTGIVER_HELLO", //CMSG_QUESTGIVER_HELLO - "SMSG_QUESTGIVER_QUEST_LIST", //SMSG_QUESTGIVER_QUEST_LIST - "CMSG_QUESTGIVER_QUERY_QUEST", //CMSG_QUESTGIVER_QUERY_QUEST - "CMSG_QUESTGIVER_QUEST_AUTOLAUNCH", //CMSG_QUESTGIVER_QUEST_AUTOLAUNCH - "SMSG_QUESTGIVER_QUEST_DETAILS", //SMSG_QUESTGIVER_QUEST_DETAILS - "CMSG_QUESTGIVER_ACCEPT_QUEST", //CMSG_QUESTGIVER_ACCEPT_QUEST - "CMSG_QUESTGIVER_COMPLETE_QUEST", //CMSG_QUESTGIVER_COMPLETE_QUEST - "SMSG_QUESTGIVER_REQUEST_ITEMS", //SMSG_QUESTGIVER_REQUEST_ITEMS - "CMSG_QUESTGIVER_REQUEST_REWARD", //CMSG_QUESTGIVER_REQUEST_REWARD - "SMSG_QUESTGIVER_OFFER_REWARD", //SMSG_QUESTGIVER_OFFER_REWARD - "CMSG_QUESTGIVER_CHOOSE_REWARD", //CMSG_QUESTGIVER_CHOOSE_REWARD - "SMSG_QUESTGIVER_QUEST_INVALID", //SMSG_QUESTGIVER_QUEST_INVALID - "CMSG_QUESTGIVER_CANCEL", //CMSG_QUESTGIVER_CANCEL - "SMSG_QUESTGIVER_QUEST_COMPLETE", //SMSG_QUESTGIVER_QUEST_COMPLETE - "SMSG_QUESTGIVER_QUEST_FAILED", //SMSG_QUESTGIVER_QUEST_FAILED - "CMSG_QUESTLOG_SWAP_QUEST", //CMSG_QUESTLOG_SWAP_QUEST - "CMSG_QUESTLOG_REMOVE_QUEST", //CMSG_QUESTLOG_REMOVE_QUEST - "SMSG_QUESTLOG_FULL", //SMSG_QUESTLOG_FULL - "SMSG_QUESTUPDATE_FAILED", //SMSG_QUESTUPDATE_FAILED - "SMSG_QUESTUPDATE_FAILEDTIMER", //SMSG_QUESTUPDATE_FAILEDTIMER - "SMSG_QUESTUPDATE_COMPLETE", //SMSG_QUESTUPDATE_COMPLETE - "SMSG_QUESTUPDATE_ADD_KILL", //SMSG_QUESTUPDATE_ADD_KILL - "SMSG_QUESTUPDATE_ADD_ITEM", //SMSG_QUESTUPDATE_ADD_ITEM - "CMSG_QUEST_CONFIRM_ACCEPT", //CMSG_QUEST_CONFIRM_ACCEPT - "SMSG_QUEST_CONFIRM_ACCEPT", //SMSG_QUEST_CONFIRM_ACCEPT - "CMSG_PUSHQUESTTOPARTY", //CMSG_PUSHQUESTTOPARTY - "CMSG_LIST_INVENTORY", //CMSG_LIST_INVENTORY - "SMSG_LIST_INVENTORY", //SMSG_LIST_INVENTORY - "CMSG_SELL_ITEM", //CMSG_SELL_ITEM - "SMSG_SELL_ITEM", //SMSG_SELL_ITEM - "CMSG_BUY_ITEM", //CMSG_BUY_ITEM - "CMSG_BUY_ITEM_IN_SLOT", //CMSG_BUY_ITEM_IN_SLOT - "SMSG_BUY_ITEM", //SMSG_BUY_ITEM - "SMSG_BUY_FAILED", //SMSG_BUY_FAILED - "CMSG_TAXICLEARALLNODES", //CMSG_TAXICLEARALLNODES - "CMSG_TAXIENABLEALLNODES", //CMSG_TAXIENABLEALLNODES - "CMSG_TAXISHOWNODES", //CMSG_TAXISHOWNODES - "SMSG_SHOWTAXINODES", //SMSG_SHOWTAXINODES - "CMSG_TAXINODE_STATUS_QUERY", //CMSG_TAXINODE_STATUS_QUERY - "SMSG_TAXINODE_STATUS", //SMSG_TAXINODE_STATUS - "CMSG_TAXIQUERYAVAILABLENODES", //CMSG_TAXIQUERYAVAILABLENODES - "CMSG_ACTIVATETAXI", //CMSG_ACTIVATETAXI - "SMSG_ACTIVATETAXIREPLY", //SMSG_ACTIVATETAXIREPLY - "SMSG_NEW_TAXI_PATH", //SMSG_NEW_TAXI_PATH - "CMSG_TRAINER_LIST", //CMSG_TRAINER_LIST - "SMSG_TRAINER_LIST", //SMSG_TRAINER_LIST - "CMSG_TRAINER_BUY_SPELL", //CMSG_TRAINER_BUY_SPELL - "SMSG_TRAINER_BUY_SUCCEEDED", //SMSG_TRAINER_BUY_SUCCEEDED - "SMSG_TRAINER_BUY_FAILED", //SMSG_TRAINER_BUY_FAILED - "CMSG_BINDER_ACTIVATE", //CMSG_BINDER_ACTIVATE - "SMSG_PLAYERBINDERROR", //SMSG_PLAYERBINDERROR - "CMSG_BANKER_ACTIVATE", //CMSG_BANKER_ACTIVATE - "SMSG_SHOW_BANK", //SMSG_SHOW_BANK - "CMSG_BUY_BANK_SLOT", //CMSG_BUY_BANK_SLOT - "SMSG_BUY_BANK_SLOT_RESULT", //SMSG_BUY_BANK_SLOT_RESULT - "CMSG_PETITION_SHOWLIST", //CMSG_PETITION_SHOWLIST - "SMSG_PETITION_SHOWLIST", //SMSG_PETITION_SHOWLIST - "CMSG_PETITION_BUY", //CMSG_PETITION_BUY - "CMSG_PETITION_SHOW_SIGNATURES", //CMSG_PETITION_SHOW_SIGNATURES - "SMSG_PETITION_SHOW_SIGNATURES", //SMSG_PETITION_SHOW_SIGNATURES - "CMSG_PETITION_SIGN", //CMSG_PETITION_SIGN - "SMSG_PETITION_SIGN_RESULTS", //SMSG_PETITION_SIGN_RESULTS - "MSG_PETITION_DECLINE", //MSG_PETITION_DECLINE - "CMSG_OFFER_PETITION", //CMSG_OFFER_PETITION - "CMSG_TURN_IN_PETITION", //CMSG_TURN_IN_PETITION - "SMSG_TURN_IN_PETITION_RESULTS", //SMSG_TURN_IN_PETITION_RESULTS - "CMSG_PETITION_QUERY", //CMSG_PETITION_QUERY - "SMSG_PETITION_QUERY_RESPONSE", //SMSG_PETITION_QUERY_RESPONSE - "SMSG_FISH_NOT_HOOKED", //SMSG_FISH_NOT_HOOKED - "SMSG_FISH_ESCAPED", //SMSG_FISH_ESCAPED - "CMSG_BUG", //CMSG_BUG - "SMSG_NOTIFICATION", //SMSG_NOTIFICATION - "CMSG_PLAYED_TIME", //CMSG_PLAYED_TIME - "SMSG_PLAYED_TIME", //SMSG_PLAYED_TIME - "CMSG_QUERY_TIME", //CMSG_QUERY_TIME - "SMSG_QUERY_TIME_RESPONSE", //SMSG_QUERY_TIME_RESPONSE - "SMSG_LOG_XPGAIN", //SMSG_LOG_XPGAIN - "MSG_SPLIT_MONEY", //MSG_SPLIT_MONEY - "CMSG_RECLAIM_CORPSE", //CMSG_RECLAIM_CORPSE - "CMSG_WRAP_ITEM", //CMSG_WRAP_ITEM - "SMSG_LEVELUP_INFO", //SMSG_LEVELUP_INFO - "MSG_MINIMAP_PING", //MSG_MINIMAP_PING - "SMSG_RESISTLOG", //SMSG_RESISTLOG - "SMSG_ENCHANTMENTLOG", //SMSG_ENCHANTMENTLOG - "CMSG_SET_SKILL_CHEAT", //CMSG_SET_SKILL_CHEAT - "SMSG_START_MIRROR_TIMER", //SMSG_START_MIRROR_TIMER - "SMSG_PAUSE_MIRROR_TIMER", //SMSG_PAUSE_MIRROR_TIMER - "SMSG_STOP_MIRROR_TIMER", //SMSG_STOP_MIRROR_TIMER - "CMSG_PING", //CMSG_PING - "SMSG_PONG", //SMSG_PONG - "SMSG_CLEAR_COOLDOWN", //SMSG_CLEAR_COOLDOWN - "SMSG_GAMEOBJECT_PAGETEXT", //SMSG_GAMEOBJECT_PAGETEXT - "CMSG_SETSHEATHED", //CMSG_SETSHEATHED - "SMSG_COOLDOWN_CHEAT", //SMSG_COOLDOWN_CHEAT - "SMSG_SPELL_DELAYED", //SMSG_SPELL_DELAYED - "CMSG_PLAYER_MACRO_OBSOLETE", //CMSG_PLAYER_MACRO_OBSOLETE - "SMSG_PLAYER_MACRO_OBSOLETE", //SMSG_PLAYER_MACRO_OBSOLETE - "CMSG_GHOST", //CMSG_GHOST - "CMSG_GM_INVIS", //CMSG_GM_INVIS - "SMSG_INVALID_PROMOTION_CODE", //SMSG_INVALID_PROMOTION_CODE - "MSG_GM_BIND_OTHER", //MSG_GM_BIND_OTHER - "MSG_GM_SUMMON", //MSG_GM_SUMMON - "SMSG_ITEM_TIME_UPDATE", //SMSG_ITEM_TIME_UPDATE - "SMSG_ITEM_ENCHANT_TIME_UPDATE", //SMSG_ITEM_ENCHANT_TIME_UPDATE - "SMSG_AUTH_CHALLENGE", //SMSG_AUTH_CHALLENGE - "CMSG_AUTH_SESSION", //CMSG_AUTH_SESSION - "SMSG_AUTH_RESPONSE", //SMSG_AUTH_RESPONSE - "MSG_GM_SHOWLABEL", //MSG_GM_SHOWLABEL - "MSG_ADD_DYNAMIC_TARGET_OBSOLETE", //MSG_ADD_DYNAMIC_TARGET_OBSOLETE - "MSG_SAVE_GUILD_EMBLEM", //MSG_SAVE_GUILD_EMBLEM - "MSG_TABARDVENDOR_ACTIVATE", //MSG_TABARDVENDOR_ACTIVATE - "SMSG_PLAY_SPELL_VISUAL", //SMSG_PLAY_SPELL_VISUAL - "CMSG_ZONEUPDATE", //CMSG_ZONEUPDATE - "SMSG_PARTYKILLLOG", //SMSG_PARTYKILLLOG - "SMSG_COMPRESSED_UPDATE_OBJECT", //SMSG_COMPRESSED_UPDATE_OBJECT - "SMSG_OBSOLETE", //SMSG_OBSOLETE - "SMSG_EXPLORATION_EXPERIENCE", //SMSG_EXPLORATION_EXPERIENCE - "CMSG_GM_SET_SECURITY_GROUP", //CMSG_GM_SET_SECURITY_GROUP - "CMSG_GM_NUKE", //CMSG_GM_NUKE - "MSG_RANDOM_ROLL", //MSG_RANDOM_ROLL - "SMSG_ENVIRONMENTALDAMAGELOG", //SMSG_ENVIRONMENTALDAMAGELOG - "CMSG_RWHOIS", //CMSG_RWHOIS - "SMSG_RWHOIS", //SMSG_RWHOIS - "MSG_LOOKING_FOR_GROUP", //MSG_LOOKING_FOR_GROUP - "CMSG_SET_LOOKING_FOR_GROUP", //CMSG_SET_LOOKING_FOR_GROUP - "CMSG_UNLEARN_SPELL", //CMSG_UNLEARN_SPELL - "CMSG_UNLEARN_SKILL", //CMSG_UNLEARN_SKILL - "SMSG_REMOVED_SPELL", //SMSG_REMOVED_SPELL - "CMSG_DECHARGE", //CMSG_DECHARGE - "CMSG_GMTICKET_CREATE", //CMSG_GMTICKET_CREATE - "SMSG_GMTICKET_CREATE", //SMSG_GMTICKET_CREATE - "CMSG_GMTICKET_UPDATETEXT", //CMSG_GMTICKET_UPDATETEXT - "SMSG_GMTICKET_UPDATETEXT", //SMSG_GMTICKET_UPDATETEXT - "SMSG_ACCOUNT_DATA_MD5", //SMSG_ACCOUNT_DATA_MD5 - "CMSG_REQUEST_ACCOUNT_DATA", //CMSG_REQUEST_ACCOUNT_DATA - "CMSG_UPDATE_ACCOUNT_DATA", //CMSG_UPDATE_ACCOUNT_DATA - "SMSG_UPDATE_ACCOUNT_DATA", //SMSG_UPDATE_ACCOUNT_DATA - "SMSG_CLEAR_FAR_SIGHT_IMMEDIATE", //SMSG_CLEAR_FAR_SIGHT_IMMEDIATE - "SMSG_POWERGAINLOG_OBSOLETE", //SMSG_POWERGAINLOG_OBSOLETE - "CMSG_GM_TEACH", //CMSG_GM_TEACH - "CMSG_GM_CREATE_ITEM_TARGET", //CMSG_GM_CREATE_ITEM_TARGET - "CMSG_GMTICKET_GETTICKET", //CMSG_GMTICKET_GETTICKET - "SMSG_GMTICKET_GETTICKET", //SMSG_GMTICKET_GETTICKET - "CMSG_UNLEARN_TALENTS", //CMSG_UNLEARN_TALENTS - "SMSG_GAMEOBJECT_SPAWN_ANIM", //SMSG_GAMEOBJECT_SPAWN_ANIM - "SMSG_GAMEOBJECT_DESPAWN_ANIM", //SMSG_GAMEOBJECT_DESPAWN_ANIM - "MSG_CORPSE_QUERY", //MSG_CORPSE_QUERY - "CMSG_GMTICKET_DELETETICKET", //CMSG_GMTICKET_DELETETICKET - "SMSG_GMTICKET_DELETETICKET", //SMSG_GMTICKET_DELETETICKET - "SMSG_CHAT_WRONG_FACTION", //SMSG_CHAT_WRONG_FACTION - "CMSG_GMTICKET_SYSTEMSTATUS", //CMSG_GMTICKET_SYSTEMSTATUS - "SMSG_GMTICKET_SYSTEMSTATUS", //SMSG_GMTICKET_SYSTEMSTATUS - "CMSG_SPIRIT_HEALER_ACTIVATE", //CMSG_SPIRIT_HEALER_ACTIVATE - "CMSG_SET_STAT_CHEAT", //CMSG_SET_STAT_CHEAT - "SMSG_SET_REST_START", //SMSG_SET_REST_START - "CMSG_SKILL_BUY_STEP", //CMSG_SKILL_BUY_STEP - "CMSG_SKILL_BUY_RANK", //CMSG_SKILL_BUY_RANK - "CMSG_XP_CHEAT", //CMSG_XP_CHEAT - "SMSG_SPIRIT_HEALER_CONFIRM", //SMSG_SPIRIT_HEALER_CONFIRM - "CMSG_CHARACTER_POINT_CHEAT", //CMSG_CHARACTER_POINT_CHEAT - "SMSG_GOSSIP_POI", //SMSG_GOSSIP_POI - "CMSG_CHAT_IGNORED", //CMSG_CHAT_IGNORED - "CMSG_GM_VISION", //CMSG_GM_VISION - "CMSG_SERVER_COMMAND", //CMSG_SERVER_COMMAND - "CMSG_GM_SILENCE", //CMSG_GM_SILENCE - "CMSG_GM_REVEALTO", //CMSG_GM_REVEALTO - "CMSG_GM_RESURRECT", //CMSG_GM_RESURRECT - "CMSG_GM_SUMMONMOB", //CMSG_GM_SUMMONMOB - "CMSG_GM_MOVECORPSE", //CMSG_GM_MOVECORPSE - "CMSG_GM_FREEZE", //CMSG_GM_FREEZE - "CMSG_GM_UBERINVIS", //CMSG_GM_UBERINVIS - "CMSG_GM_REQUEST_PLAYER_INFO", //CMSG_GM_REQUEST_PLAYER_INFO - "SMSG_GM_PLAYER_INFO", //SMSG_GM_PLAYER_INFO - "CMSG_GUILD_RANK", //CMSG_GUILD_RANK - "CMSG_GUILD_ADD_RANK", //CMSG_GUILD_ADD_RANK - "CMSG_GUILD_DEL_RANK", //CMSG_GUILD_DEL_RANK - "CMSG_GUILD_SET_PUBLIC_NOTE", //CMSG_GUILD_SET_PUBLIC_NOTE - "CMSG_GUILD_SET_OFFICER_NOTE", //CMSG_GUILD_SET_OFFICER_NOTE - "SMSG_LOGIN_VERIFY_WORLD", //SMSG_LOGIN_VERIFY_WORLD - "CMSG_CLEAR_EXPLORATION", //CMSG_CLEAR_EXPLORATION - "CMSG_SEND_MAIL", //CMSG_SEND_MAIL - "SMSG_SEND_MAIL_RESULT", //SMSG_SEND_MAIL_RESULT - "CMSG_GET_MAIL_LIST", //CMSG_GET_MAIL_LIST - "SMSG_MAIL_LIST_RESULT", //SMSG_MAIL_LIST_RESULT - "CMSG_BATTLEFIELD_LIST", //CMSG_BATTLEFIELD_LIST - "SMSG_BATTLEFIELD_LIST", //SMSG_BATTLEFIELD_LIST - "CMSG_BATTLEFIELD_JOIN", //CMSG_BATTLEFIELD_JOIN - "SMSG_BATTLEFIELD_WIN", //SMSG_BATTLEFIELD_WIN - "SMSG_BATTLEFIELD_LOSE", //SMSG_BATTLEFIELD_LOSE - "CMSG_TAXICLEARNODE", //CMSG_TAXICLEARNODE - "CMSG_TAXIENABLENODE", //CMSG_TAXIENABLENODE - "CMSG_ITEM_TEXT_QUERY", //CMSG_ITEM_TEXT_QUERY - "SMSG_ITEM_TEXT_QUERY_RESPONSE", //SMSG_ITEM_TEXT_QUERY_RESPONSE - "CMSG_MAIL_TAKE_MONEY", //CMSG_MAIL_TAKE_MONEY - "CMSG_MAIL_TAKE_ITEM", //CMSG_MAIL_TAKE_ITEM - "CMSG_MAIL_MARK_AS_READ", //CMSG_MAIL_MARK_AS_READ - "CMSG_MAIL_RETURN_TO_SENDER", //CMSG_MAIL_RETURN_TO_SENDER - "CMSG_MAIL_DELETE", //CMSG_MAIL_DELETE - "CMSG_MAIL_CREATE_TEXT_ITEM", //CMSG_MAIL_CREATE_TEXT_ITEM - "SMSG_SPELLLOGMISS", //SMSG_SPELLLOGMISS - "SMSG_SPELLLOGEXECUTE", //SMSG_SPELLLOGEXECUTE - "SMSG_DEBUGAURAPROC", //SMSG_DEBUGAURAPROC - "SMSG_PERIODICAURALOG", //SMSG_PERIODICAURALOG - "SMSG_SPELLDAMAGESHIELD", //SMSG_SPELLDAMAGESHIELD - "SMSG_SPELLNONMELEEDAMAGELOG", //SMSG_SPELLNONMELEEDAMAGELOG - "CMSG_LEARN_TALENT", //CMSG_LEARN_TALENT - "SMSG_RESURRECT_FAILED", //SMSG_RESURRECT_FAILED - "CMSG_TOGGLE_PVP", //CMSG_TOGGLE_PVP - "SMSG_ZONE_UNDER_ATTACK", //SMSG_ZONE_UNDER_ATTACK - "MSG_AUCTION_HELLO", //MSG_AUCTION_HELLO - "CMSG_AUCTION_SELL_ITEM", //CMSG_AUCTION_SELL_ITEM - "CMSG_AUCTION_REMOVE_ITEM", //CMSG_AUCTION_REMOVE_ITEM - "CMSG_AUCTION_LIST_ITEMS", //CMSG_AUCTION_LIST_ITEMS - "CMSG_AUCTION_LIST_OWNER_ITEMS", //CMSG_AUCTION_LIST_OWNER_ITEMS - "CMSG_AUCTION_PLACE_BID", //CMSG_AUCTION_PLACE_BID - "SMSG_AUCTION_COMMAND_RESULT", //SMSG_AUCTION_COMMAND_RESULT - "SMSG_AUCTION_LIST_RESULT", //SMSG_AUCTION_LIST_RESULT - "SMSG_AUCTION_OWNER_LIST_RESULT", //SMSG_AUCTION_OWNER_LIST_RESULT - "SMSG_AUCTION_BIDDER_NOTIFICATION", //SMSG_AUCTION_BIDDER_NOTIFICATION - "SMSG_AUCTION_OWNER_NOTIFICATION", //SMSG_AUCTION_OWNER_NOTIFICATION - "SMSG_PROCRESIST", //SMSG_PROCRESIST - "SMSG_STANDSTATE_CHANGE_FAILURE", //SMSG_STANDSTATE_CHANGE_FAILURE - "SMSG_DISPEL_FAILED", //SMSG_DISPEL_FAILED - "SMSG_SPELLORDAMAGE_IMMUNE", //SMSG_SPELLORDAMAGE_IMMUNE - "CMSG_AUCTION_LIST_BIDDER_ITEMS", //CMSG_AUCTION_LIST_BIDDER_ITEMS - "SMSG_AUCTION_BIDDER_LIST_RESULT", //SMSG_AUCTION_BIDDER_LIST_RESULT - "SMSG_SET_FLAT_SPELL_MODIFIER", //SMSG_SET_FLAT_SPELL_MODIFIER - "SMSG_SET_PCT_SPELL_MODIFIER", //SMSG_SET_PCT_SPELL_MODIFIER - "CMSG_SET_AMMO", //CMSG_SET_AMMO - "SMSG_CORPSE_RECLAIM_DELAY", //SMSG_CORPSE_RECLAIM_DELAY - "CMSG_SET_ACTIVE_MOVER", //CMSG_SET_ACTIVE_MOVER - "CMSG_PET_CANCEL_AURA", //CMSG_PET_CANCEL_AURA - "CMSG_PLAYER_AI_CHEAT", //CMSG_PLAYER_AI_CHEAT - "CMSG_CANCEL_AUTO_REPEAT_SPELL", //CMSG_CANCEL_AUTO_REPEAT_SPELL - "MSG_GM_ACCOUNT_ONLINE", //MSG_GM_ACCOUNT_ONLINE - "MSG_LIST_STABLED_PETS", //MSG_LIST_STABLED_PETS - "CMSG_STABLE_PET", //CMSG_STABLE_PET - "CMSG_UNSTABLE_PET", //CMSG_UNSTABLE_PET - "CMSG_BUY_STABLE_SLOT", //CMSG_BUY_STABLE_SLOT - "SMSG_STABLE_RESULT", //SMSG_STABLE_RESULT - "CMSG_STABLE_REVIVE_PET", //CMSG_STABLE_REVIVE_PET - "CMSG_STABLE_SWAP_PET", //CMSG_STABLE_SWAP_PET - "MSG_QUEST_PUSH_RESULT", //MSG_QUEST_PUSH_RESULT - "SMSG_PLAY_MUSIC", //SMSG_PLAY_MUSIC - "SMSG_PLAY_OBJECT_SOUND", //SMSG_PLAY_OBJECT_SOUND - "CMSG_REQUEST_PET_INFO", //CMSG_REQUEST_PET_INFO - "CMSG_FAR_SIGHT", //CMSG_FAR_SIGHT - "SMSG_SPELLDISPELLOG", //SMSG_SPELLDISPELLOG - "SMSG_DAMAGE_CALC_LOG", //SMSG_DAMAGE_CALC_LOG - "CMSG_ENABLE_DAMAGE_LOG", //CMSG_ENABLE_DAMAGE_LOG - "CMSG_GROUP_CHANGE_SUB_GROUP", //CMSG_GROUP_CHANGE_SUB_GROUP - "CMSG_REQUEST_PARTY_MEMBER_STATS", //CMSG_REQUEST_PARTY_MEMBER_STATS - "CMSG_GROUP_SWAP_SUB_GROUP", //CMSG_GROUP_SWAP_SUB_GROUP - "CMSG_RESET_FACTION_CHEAT", //CMSG_RESET_FACTION_CHEAT - "CMSG_AUTOSTORE_BANK_ITEM", //CMSG_AUTOSTORE_BANK_ITEM - "CMSG_AUTOBANK_ITEM", //CMSG_AUTOBANK_ITEM - "MSG_QUERY_NEXT_MAIL_TIME", //MSG_QUERY_NEXT_MAIL_TIME - "SMSG_RECEIVED_MAIL", //SMSG_RECEIVED_MAIL - "SMSG_RAID_GROUP_ONLY", //SMSG_RAID_GROUP_ONLY - "CMSG_SET_DURABILITY_CHEAT", //CMSG_SET_DURABILITY_CHEAT - "CMSG_SET_PVP_RANK_CHEAT", //CMSG_SET_PVP_RANK_CHEAT - "CMSG_ADD_PVP_MEDAL_CHEAT", //CMSG_ADD_PVP_MEDAL_CHEAT - "CMSG_DEL_PVP_MEDAL_CHEAT", //CMSG_DEL_PVP_MEDAL_CHEAT - "CMSG_SET_PVP_TITLE", //CMSG_SET_PVP_TITLE - "SMSG_PVP_CREDIT", //SMSG_PVP_CREDIT - "SMSG_AUCTION_REMOVED_NOTIFICATION", //SMSG_AUCTION_REMOVED_NOTIFICATION - "CMSG_GROUP_RAID_CONVERT", //CMSG_GROUP_RAID_CONVERT - "CMSG_GROUP_ASSISTANT", //CMSG_GROUP_ASSISTANT - "CMSG_BUYBACK_ITEM", //CMSG_BUYBACK_ITEM - "SMSG_SERVER_MESSAGE", //SMSG_SERVER_MESSAGE - "CMSG_MEETINGSTONE_JOIN", //CMSG_MEETINGSTONE_JOIN - "CMSG_MEETINGSTONE_LEAVE", //CMSG_MEETINGSTONE_LEAVE - "CMSG_MEETINGSTONE_CHEAT", //CMSG_MEETINGSTONE_CHEAT - "SMSG_MEETINGSTONE_SETQUEUE", //SMSG_MEETINGSTONE_SETQUEUE - "CMSG_MEETINGSTONE_INFO", //CMSG_MEETINGSTONE_INFO - "SMSG_MEETINGSTONE_COMPLETE", //SMSG_MEETINGSTONE_COMPLETE - "SMSG_MEETINGSTONE_IN_PROGRESS", //SMSG_MEETINGSTONE_IN_PROGRESS - "SMSG_MEETINGSTONE_MEMBER_ADDED", //SMSG_MEETINGSTONE_MEMBER_ADDED - "CMSG_GMTICKETSYSTEM_TOGGLE", //CMSG_GMTICKETSYSTEM_TOGGLE - "CMSG_CANCEL_GROWTH_AURA", //CMSG_CANCEL_GROWTH_AURA - "SMSG_CANCEL_AUTO_REPEAT", //SMSG_CANCEL_AUTO_REPEAT - "SMSG_STANDSTATE_CHANGE_ACK", //SMSG_STANDSTATE_CHANGE_ACK - "SMSG_LOOT_ALL_PASSED", //SMSG_LOOT_ALL_PASSED - "SMSG_LOOT_ROLL_WON", //SMSG_LOOT_ROLL_WON - "CMSG_LOOT_ROLL", //CMSG_LOOT_ROLL - "SMSG_LOOT_START_ROLL", //SMSG_LOOT_START_ROLL - "SMSG_LOOT_ROLL", //SMSG_LOOT_ROLL - "CMSG_LOOT_MASTER_GIVE", //CMSG_LOOT_MASTER_GIVE - "SMSG_LOOT_MASTER_LIST", //SMSG_LOOT_MASTER_LIST - "SMSG_SET_FORCED_REACTIONS", //SMSG_SET_FORCED_REACTIONS - "SMSG_SPELL_FAILED_OTHER", //SMSG_SPELL_FAILED_OTHER - "SMSG_GAMEOBJECT_RESET_STATE", //SMSG_GAMEOBJECT_RESET_STATE - "CMSG_REPAIR_ITEM", //CMSG_REPAIR_ITEM - "SMSG_CHAT_PLAYER_NOT_FOUND", //SMSG_CHAT_PLAYER_NOT_FOUND - "MSG_TALENT_WIPE_CONFIRM", //MSG_TALENT_WIPE_CONFIRM - "SMSG_SUMMON_REQUEST", //SMSG_SUMMON_REQUEST - "CMSG_SUMMON_RESPONSE", //CMSG_SUMMON_RESPONSE - "MSG_MOVE_TOGGLE_GRAVITY_CHEAT", //MSG_MOVE_TOGGLE_GRAVITY_CHEAT - "SMSG_MONSTER_MOVE_TRANSPORT", //SMSG_MONSTER_MOVE_TRANSPORT - "SMSG_PET_BROKEN", //SMSG_PET_BROKEN - "MSG_MOVE_FEATHER_FALL", //MSG_MOVE_FEATHER_FALL - "MSG_MOVE_WATER_WALK", //MSG_MOVE_WATER_WALK - "CMSG_SERVER_BROADCAST", //CMSG_SERVER_BROADCAST - "CMSG_SELF_RES", //CMSG_SELF_RES - "SMSG_FEIGN_DEATH_RESISTED", //SMSG_FEIGN_DEATH_RESISTED - "CMSG_RUN_SCRIPT", //CMSG_RUN_SCRIPT - "SMSG_SCRIPT_MESSAGE", //SMSG_SCRIPT_MESSAGE - "SMSG_DUEL_COUNTDOWN", //SMSG_DUEL_COUNTDOWN - "SMSG_AREA_TRIGGER_MESSAGE", //SMSG_AREA_TRIGGER_MESSAGE - "CMSG_TOGGLE_HELM", //CMSG_TOGGLE_HELM - "CMSG_TOGGLE_CLOAK", //CMSG_TOGGLE_CLOAK - "SMSG_MEETINGSTONE_JOINFAILED", //SMSG_MEETINGSTONE_JOINFAILED - "SMSG_PLAYER_SKINNED", //SMSG_PLAYER_SKINNED - "SMSG_DURABILITY_DAMAGE_DEATH", //SMSG_DURABILITY_DAMAGE_DEATH - "CMSG_SET_EXPLORATION", //CMSG_SET_EXPLORATION - "CMSG_SET_ACTIONBAR_TOGGLES", //CMSG_SET_ACTIONBAR_TOGGLES - "UMSG_DELETE_GUILD_CHARTER", //UMSG_DELETE_GUILD_CHARTER - "MSG_PETITION_RENAME", //MSG_PETITION_RENAME - "SMSG_INIT_WORLD_STATES", //SMSG_INIT_WORLD_STATES - "SMSG_UPDATE_WORLD_STATE", //SMSG_UPDATE_WORLD_STATE - "CMSG_ITEM_NAME_QUERY", //CMSG_ITEM_NAME_QUERY - "SMSG_ITEM_NAME_QUERY_RESPONSE", //SMSG_ITEM_NAME_QUERY_RESPONSE - "SMSG_PET_ACTION_FEEDBACK", //SMSG_PET_ACTION_FEEDBACK - "CMSG_CHAR_RENAME", //CMSG_CHAR_RENAME - "SMSG_CHAR_RENAME", //SMSG_CHAR_RENAME - "CMSG_MOVE_SPLINE_DONE", //CMSG_MOVE_SPLINE_DONE - "CMSG_MOVE_FALL_RESET", //CMSG_MOVE_FALL_RESET - "SMSG_INSTANCE_SAVE_CREATED", //SMSG_INSTANCE_SAVE_CREATED - "SMSG_RAID_INSTANCE_INFO", //SMSG_RAID_INSTANCE_INFO - "CMSG_REQUEST_RAID_INFO", //CMSG_REQUEST_RAID_INFO - "CMSG_MOVE_TIME_SKIPPED", //CMSG_MOVE_TIME_SKIPPED - "CMSG_MOVE_FEATHER_FALL_ACK", //CMSG_MOVE_FEATHER_FALL_ACK - "CMSG_MOVE_WATER_WALK_ACK", //CMSG_MOVE_WATER_WALK_ACK - "CMSG_MOVE_NOT_ACTIVE_MOVER", //CMSG_MOVE_NOT_ACTIVE_MOVER - "SMSG_PLAY_SOUND", //SMSG_PLAY_SOUND - "CMSG_BATTLEFIELD_STATUS", //CMSG_BATTLEFIELD_STATUS - "SMSG_BATTLEFIELD_STATUS", //SMSG_BATTLEFIELD_STATUS - "CMSG_BATTLEFIELD_PORT", //CMSG_BATTLEFIELD_PORT - "MSG_INSPECT_HONOR_STATS", //MSG_INSPECT_HONOR_STATS - "CMSG_BATTLEMASTER_HELLO", //CMSG_BATTLEMASTER_HELLO - "CMSG_MOVE_START_SWIM_CHEAT", //CMSG_MOVE_START_SWIM_CHEAT - "CMSG_MOVE_STOP_SWIM_CHEAT", //CMSG_MOVE_STOP_SWIM_CHEAT - "SMSG_FORCE_WALK_SPEED_CHANGE", //SMSG_FORCE_WALK_SPEED_CHANGE - "CMSG_FORCE_WALK_SPEED_CHANGE_ACK", //CMSG_FORCE_WALK_SPEED_CHANGE_ACK - "SMSG_FORCE_SWIM_BACK_SPEED_CHANGE", //SMSG_FORCE_SWIM_BACK_SPEED_CHANGE - "CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK", //CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK - "SMSG_FORCE_TURN_RATE_CHANGE", //SMSG_FORCE_TURN_RATE_CHANGE - "CMSG_FORCE_TURN_RATE_CHANGE_ACK", //CMSG_FORCE_TURN_RATE_CHANGE_ACK - "MSG_PVP_LOG_DATA", //MSG_PVP_LOG_DATA - "CMSG_LEAVE_BATTLEFIELD", //CMSG_LEAVE_BATTLEFIELD - "CMSG_AREA_SPIRIT_HEALER_QUERY", //CMSG_AREA_SPIRIT_HEALER_QUERY - "CMSG_AREA_SPIRIT_HEALER_QUEUE", //CMSG_AREA_SPIRIT_HEALER_QUEUE - "SMSG_AREA_SPIRIT_HEALER_TIME", //SMSG_AREA_SPIRIT_HEALER_TIME - "CMSG_HARDWARE_SURVEY_RESULTS", //CMSG_HARDWARE_SURVEY_RESULTS - "SMSG_WARDEN_DATA", //SMSG_WARDEN_DATA - "CMSG_WARDEN_DATA", //CMSG_WARDEN_DATA - "SMSG_GROUP_JOINED_BATTLEGROUND", //SMSG_GROUP_JOINED_BATTLEGROUND - "MSG_BATTLEGROUND_PLAYER_POSITIONS", //MSG_BATTLEGROUND_PLAYER_POSITIONS - "CMSG_PET_STOP_ATTACK", //CMSG_PET_STOP_ATTACK - "SMSG_BINDER_CONFIRM", //SMSG_BINDER_CONFIRM - "SMSG_BATTLEGROUND_PLAYER_JOINED", //SMSG_BATTLEGROUND_PLAYER_JOINED - "SMSG_BATTLEGROUND_PLAYER_LEFT", //SMSG_BATTLEGROUND_PLAYER_LEFT - "CMSG_BATTLEMASTER_JOIN", //CMSG_BATTLEMASTER_JOIN - "SMSG_ADDON_INFO", //SMSG_ADDON_INFO - "CMSG_PET_UNLEARN", //CMSG_PET_UNLEARN - "SMSG_PET_UNLEARN_CONFIRM", //SMSG_PET_UNLEARN_CONFIRM - "SMSG_PARTY_MEMBER_STATS_FULL", //SMSG_PARTY_MEMBER_STATS_FULL - "CMSG_PET_SPELL_AUTOCAST", //CMSG_PET_SPELL_AUTOCAST - "SMSG_WEATHER", //SMSG_WEATHER - "SMSG_PLAY_TIME_WARNING", //SMSG_PLAY_TIME_WARNING - "SMSG_MINIGAME_SETUP", //SMSG_MINIGAME_SETUP - "SMSG_MINIGAME_STATE", //SMSG_MINIGAME_STATE - "CMSG_MINIGAME_MOVE", //CMSG_MINIGAME_MOVE - "SMSG_MINIGAME_MOVE_FAILED", //SMSG_MINIGAME_MOVE_FAILED - "UNKNOWN", //762 - "SMSG_COMPRESSED_MOVE", //SMSG_COMPRESSED_MOVE= 763, - "CMSG_GUILD_CHANGEINFO", //CMSG_GUILD_CHANGEINFO - "SMSG_UNKNOWN_765", //SMSG_UNKNOWN_765 = 765 - "SMSG_SET_MOVE_SPEED", //SMSG_SET_MOVE_SPEED = 766 - "SMSG_SET_RUN_BACK_SPEED", // 767 - "SMSG_SET_SWIM_SPEED", // 768 - "SMSG_UNKNOWN_769", // 769 - "SMSG_SET_SWIM_BACK_SPEED", // 770"MSG_SET_TURN_RATE", - "UNKNOWN", // 771 - "SMSG_UNKNOWN_772", // 772 - "SMSG_UNKNOWN_773", // 773 - "SMSG_UNKNOWN_774", // 774 - "SMSG_UNKNOWN_775", // 775 - "SMSG_UNKNOWN_776", // 776 - "SMSG_MOVE_SET_WATERWALK", // 777 - "SMSG_MOVE_STOP_WATERWALK", // 778 - "SMSG_UNKNOWN_779", // 779 - "SMSG_UNKNOWN_780", // 780 - "SMSG_MOVE_STOP_WALK", // 781 - "SMSG_MOVE_START_WALK", // 782 - "UNKNOWN", // 783 - "UNKNOWN", // 784 - "UNKNOWN", // 785 - "CMSG_ACTIVATETAXI_FAR", // 786 - "UNKNOWN", // 787 causes client crash - "UNKNOWN", // 788 - "UNKNOWN", // 789 - "UNKNOWN", // 790 - "CMSG_FIELD_WATCHED_FACTION_INACTIVE", // 791 - "CMSG_FIELD_WATCHED_FACTION_SHOW_BAR", // 792 - "SMSG_UNKNOWN_793", // 793 - "SMSG_UNKNOWN_794", // 794 - "UNKNOWN", // 795 - "SMSG_UNKNOWN_796", // 796 - "CMSG_RESET_INSTANCES", // 797 - "SMSG_RESET_INSTANCES_RESULT", // 798 - "UNKNOWN", // 799 - "SMSG_UNKNOWN_800", // 800 - "MSG_RAID_ICON_TARGET", // 801 - "MSG_RAID_READY_CHECK", // 802 - "UNKNOWN", // 803 - "SMSG_AI_UNKNOWN", // 804 - "SMSG_UNKNOWN_805", // 805 - "UNKNOWN", // 806 - "UNKNOWN", // 807 - "SMSG_UNKNOWN_808", // 808 - "MSG_SET_DUNGEON_DIFFICULTY", // 809 - "UNKNOWN", // 810 - "SMSG_UNKNOWN_811", // 811 - "UNKNOWN", // 812 - "UNKNOWN", // 813 - "UNKNOWN", // 814 - "SMSG_UNKNOWN_815", // 815 - "SMSG_UNKNOWN_816", // 816 - "UNKNOWN", // 817 - "SMSG_UNKNOWN_818", // 818 - "UNKNOWN", // 819 - "UNKNOWN", // 820 - "UNKNOWN", // 821 - "UNKNOWN", // 822 - "UNKNOWN", // 823 - "UNKNOWN", // 824 - "UNKNOWN", // 825 - "SMSG_OUTDOORPVP_NOTIFY", //SMSG_OUTDOORPVP_NOTIFY 826 - "SMSG_OUTDOORPVP_NOTIFY2", // 827 - "UNKNOWN", // 828 - "SMSG_MOTD", // 829 - "UNKNOWN", // 830 - "UNKNOWN", // 831 - "UNKNOWN", // 832 - "SMSG_UNKNOWN_833", // 833 - "SMSG_UNKNOWN_834", // 834 - "SMSG_FLY_MODE_START", // 835 - "SMSG_FLY_MODE_STOP", // 836 - "CMSG_MOVE_FLY_MODE_CHANGE_ACK", // 837 - "CMSG_MOVE_FLY_STATE_CHANGE", // 838 - "CMSG_SOCKET_ITEM", //CMSG_SOCKET_ITEM 839 - "UNKNOWN", // 840 - "SMSG_ARENA_TEAM_COMMAND_RESULT", // 841 - "UNKNOWN", // 842 - "CMSG_ARENA_TEAM_QUERY", // 843 - "SMSG_ARENA_TEAM_QUERY_RESPONSE", // 844 - "CMSG_ARENA_TEAM_ROSTER", // 845 - "SMSG_ARENA_TEAM_ROSTER", // 846 - "CMSG_ARENA_TEAM_ADD_MEMBER", // 847 - "SMSG_ARENA_TEAM_INVITE", // 848 - "CMSG_ARENA_TEAM_INVITE_ACCEPT", // 849 - "CMSG_ARENA_TEAM_INVITE_DECLINE", // 850 - "CMSG_ARENA_TEAM_LEAVE", // 851 - "CMSG_ARENA_TEAM_REMOVE_FROM_TEAM", // 852 - "CMSG_ARENA_TEAM_DISBAND", // 853 - "CMSG_ARENA_TEAM_PROMOTE_TO_CAPTAIN", // 854 - "SMSG_UNKNOWN_855", // 855 - "UNKNOWN", // 856 - "MSG_MOVE_START_FLY_UP", // 857 - "MSG_MOVE_STOP_FLY_UP", // 858 - "SMSG_ARENA_TEAM_STATS", // 859 - "CMSG_LFG_SET_AUTOJOIN", // 860 - "CMSG_LFG_UNSET_AUTOJOIN", // 861 - "CMSG_LFM_SET_AUTOADD", // 862 - "CMSG_LFM_UNSET_AUTOADD", // 863 - "CMSG_LFG_INVITE_ACCEPT", // 864 - "CMSG_LFG_INVITE_CANCEL", // 865 - "UNKNOWN", // 866 - "CMSG_LOOKING_FOR_GROUP_CLEAR", // 867 - "CMSG_SET_LOOKING_FOR_NONE", // 868 - "CMSG_SET_LOOKING_FOR_MORE", // 869 - "CMSG_SET_COMMENTARY", // 870 - "SMSG_LFG_871", // 871 - "SMSG_LFG_872", // 872 - "SMSG_LFG_873", // 873 - "SMSG_LFG_874", // 974 - "UNKNOWN", // 875 - "SMSG_LFG_876", // 876 - "SMSG_LFG_877", // 877 - "SMSG_LFG_878", // 878 - "SMSG_LFG_879", // 879 - "SMSG_LFG_INVITE", // 880 - "SMSG_LFG_881", // 881 - "UNKNOWN", // 882 - "UNKNOWN", // 883 - "CMSG_CHOOSE_TITLE", // 884 - "CMSG_DISMOUNT", // 885 - "UNKNOWN", // 886 - "MSG_INSPECT_ARENA_STATS", // 887 - "SMSG_SH_POSITION", // 888 - "CMSG_CANCEL_TEMP_ITEM_ENCHANTMENT", // 889 - "UNKNOWN", // 890 - "UNKNOWN", // 891 - "UNKNOWN", // 892 - "UNKNOWN", // 893 - "SMSG_MOVE_SET_FLY_SPEED", // 894 - "UNKNOWN", // 895 - "SMSG_MOVE_SET_FLY_BACK_SPEED", // 896 - "SMSG_FORCE_FLY_SPEED_CHANGE", // 897 - "CMSG_FORCE_FLY_SPEED_CHANGE_ACK", // 898 - "SMSG_FORCE_FLY_BACK_SPEED_CHANGE", // 899 - "CMSG_FORCE_FLY_BACK_SPEED_CHANGE_ACK", // 900 - "SMSG_MOVE_SET_FLY_SPEED2", // 901 - "SMSG_MOVE_SET_FLY_BACK_SPEED2", // 902 - "UNKNOWN", // 903 - "UNKNOWN", // 904 SMSG_FLIGHT_SPLINE_SYNC? - "UNKNOWN", // 905 - "UNKNOWN", // 906 - "SMSG_REALM_STATE_RESPONSE", // 907 - "CMSG_REALM_STATE_REQUEST", // 908 - "CMSG_MOVE_SHIP_909", // 909 - "CMSG_GROUP_PROMOTE", // 910 - "UNKNOWN", // 911 - "SMSG_ALLOW_MOVE", // 912 - "CMSG_ALLOW_MOVE_ACK", // 913 - "UNKNOWN", // 914 - "UNKNOWN", // 915 - "UNKNOWN", // 916 - "UNKNOWN", // 917 - "SMSG_UNKNOWN_918", // 918 - "SMSG_UNKNOWN_919", // 919 - "SMSG_UNKNOWN_920", // 920 - "UNKNOWN921", // 921 - "UNKNOWN922", // 922 - "UNKNOWN923", // 923 - "UNKNOWN924", // 924 - "SMSG_SET_COMBO_POINTS", // 925 - "UNKNOWN926", // 926 - "UNKNOWN927", // 927 - "UNKNOWN928", // 928 - "UNKNOWN929", // 929 - "UNKNOWN930", // 930 - "SMSG_SET_AURA_MULTIPLY", // 931 - "SMSG_SET_AURA_SINGLE", // 932 - "UNKNOWN933", // 933 - "SMSG_CAST_SUCCESS", // 934 - "SMSG_UNKNOWN_935", // 935 - "UNKNOWN936", // 936 - "UNKNOWN937", // 937 - "UNKNOWN938", // 938 - "UNKNOWN939", // 939 - "UNKNOWN940", // 940 - "SMSG_UNKNOWN_941", // 941 - "SMSG_UNKNOWN_942", // 942 - "UNKNOWN943", // 943 - "UNKNOWN944", // 944 - "UNKNOWN945", // 945 - "UNKNOWN946", // 946 - "UNKNOWN947", // 947 - "UNKNOWN948", // 948 - "UNKNOWN949", // 949 - "UNKNOWN950", // 950 - "UNKNOWN951", // 951 - "CMSG_UNKNOWN_952", // 952 - "UNKNOWN953", // 953 - "SMSG_UNKNOWN_954", // 954 - "SMSG_UNKNOWN_955", // 955 - "" // last entry should be empty + "MSG_NULL_ACTION", // MSG_NULL_ACTION + "CMSG_BOOTME", // CMSG_BOOTME + "CMSG_DBLOOKUP", // CMSG_DBLOOKUP + "SMSG_DBLOOKUP", // SMSG_DBLOOKUP + "CMSG_QUERY_OBJECT_POSITION", // CMSG_QUERY_OBJECT_POSITION + "SMSG_QUERY_OBJECT_POSITION", // SMSG_QUERY_OBJECT_POSITION + "CMSG_QUERY_OBJECT_ROTATION", // CMSG_QUERY_OBJECT_ROTATION + "SMSG_QUERY_OBJECT_ROTATION", // SMSG_QUERY_OBJECT_ROTATION + "CMSG_WORLD_TELEPORT", // CMSG_WORLD_TELEPORT + "CMSG_TELEPORT_TO_UNIT", // CMSG_TELEPORT_TO_UNIT + "CMSG_ZONE_MAP", // CMSG_ZONE_MAP + "SMSG_ZONE_MAP", // SMSG_ZONE_MAP + "CMSG_DEBUG_CHANGECELLZONE", // CMSG_DEBUG_CHANGECELLZONE + "CMSG_EMBLAZON_TABARD_OBSOLETE", // CMSG_EMBLAZON_TABARD_OBSOLETE + "CMSG_UNEMBLAZON_TABARD_OBSOLETE", // CMSG_UNEMBLAZON_TABARD_OBSOLETE + "CMSG_RECHARGE", // CMSG_RECHARGE + "CMSG_LEARN_SPELL", // CMSG_LEARN_SPELL + "CMSG_CREATEMONSTER", // CMSG_CREATEMONSTER + "CMSG_DESTROYMONSTER", // CMSG_DESTROYMONSTER + "CMSG_CREATEITEM", // CMSG_CREATEITEM + "CMSG_CREATEGAMEOBJECT", // CMSG_CREATEGAMEOBJECT + "CMSG_MAKEMONSTERATTACKME_OBSOLETE", // CMSG_MAKEMONSTERATTACKME_OBSOLETE + "CMSG_MAKEMONSTERATTACKGUID", // CMSG_MAKEMONSTERATTACKGUID + "CMSG_ENABLEDEBUGCOMBATLOGGING_OBSOLETE", // CMSG_ENABLEDEBUGCOMBATLOGGING_OBSOLETE + "CMSG_FORCEACTION", // CMSG_FORCEACTION + "CMSG_FORCEACTIONONOTHER", // CMSG_FORCEACTIONONOTHER + "CMSG_FORCEACTIONSHOW", // CMSG_FORCEACTIONSHOW + "SMSG_FORCEACTIONSHOW", // SMSG_FORCEACTIONSHOW + "SMSG_ATTACKERSTATEUPDATEDEBUGINFO_OBSOLETE", // SMSG_ATTACKERSTATEUPDATEDEBUGINFO_OBSOLETE + "SMSG_DEBUGINFOSPELL_OBSOLETE", // SMSG_DEBUGINFOSPELL_OBSOLETE + "SMSG_DEBUGINFOSPELLMISS_OBSOLETE", // SMSG_DEBUGINFOSPELLMISS_OBSOLETE + "SMSG_DEBUG_PLAYER_RANGE_OBSOLETE", // SMSG_DEBUG_PLAYER_RANGE_OBSOLETE + "CMSG_UNDRESSPLAYER", // CMSG_UNDRESSPLAYER + "CMSG_BEASTMASTER", // CMSG_BEASTMASTER + "CMSG_GODMODE", // CMSG_GODMODE + "SMSG_GODMODE", // SMSG_GODMODE + "CMSG_CHEAT_SETMONEY", // CMSG_CHEAT_SETMONEY + "CMSG_LEVEL_CHEAT", // CMSG_LEVEL_CHEAT + "CMSG_PET_LEVEL_CHEAT", // CMSG_PET_LEVEL_CHEAT + "CMSG_LEVELUP_CHEAT_OBSOLETE", // CMSG_LEVELUP_CHEAT_OBSOLETE + "CMSG_COOLDOWN_CHEAT", // CMSG_COOLDOWN_CHEAT + "CMSG_USE_SKILL_CHEAT", // CMSG_USE_SKILL_CHEAT + "CMSG_FLAG_QUEST", // CMSG_FLAG_QUEST + "CMSG_FLAG_QUEST_FINISH", // CMSG_FLAG_QUEST_FINISH + "CMSG_CLEAR_QUEST", // CMSG_CLEAR_QUEST + "CMSG_SEND_EVENT", // CMSG_SEND_EVENT + "CMSG_DEBUG_AISTATE", // CMSG_DEBUG_AISTATE + "SMSG_DEBUG_AISTATE", // SMSG_DEBUG_AISTATE + "CMSG_DISABLE_PVP_CHEAT", // CMSG_DISABLE_PVP_CHEAT + "CMSG_ADVANCE_SPAWN_TIME", // CMSG_ADVANCE_SPAWN_TIME + "CMSG_PVP_PORT_OBSOLETE", // CMSG_PVP_PORT_OBSOLETE + "CMSG_AUTH_SRP6_BEGIN", // CMSG_AUTH_SRP6_BEGIN + "CMSG_AUTH_SRP6_PROOF", // CMSG_AUTH_SRP6_PROOF + "CMSG_AUTH_SRP6_RECODE", // CMSG_AUTH_SRP6_RECODE + "CMSG_CHAR_CREATE", // CMSG_CHAR_CREATE + "CMSG_CHAR_ENUM", // CMSG_CHAR_ENUM + "CMSG_CHAR_DELETE", // CMSG_CHAR_DELETE + "SMSG_AUTH_SRP6_RESPONSE", // SMSG_AUTH_SRP6_RESPONSE + "SMSG_CHAR_CREATE", // SMSG_CHAR_CREATE + "SMSG_CHAR_ENUM", // SMSG_CHAR_ENUM + "SMSG_CHAR_DELETE", // SMSG_CHAR_DELETE + "CMSG_PLAYER_LOGIN", // CMSG_PLAYER_LOGIN + "SMSG_NEW_WORLD", // SMSG_NEW_WORLD + "SMSG_TRANSFER_PENDING", // SMSG_TRANSFER_PENDING + "SMSG_TRANSFER_ABORTED", // SMSG_TRANSFER_ABORTED + "SMSG_CHARACTER_LOGIN_FAILED", // SMSG_CHARACTER_LOGIN_FAILED + "SMSG_LOGIN_SETTIMESPEED", // SMSG_LOGIN_SETTIMESPEED + "SMSG_GAMETIME_UPDATE", // SMSG_GAMETIME_UPDATE + "CMSG_GAMETIME_SET", // CMSG_GAMETIME_SET + "SMSG_GAMETIME_SET", // SMSG_GAMETIME_SET + "CMSG_GAMESPEED_SET", // CMSG_GAMESPEED_SET + "SMSG_GAMESPEED_SET", // SMSG_GAMESPEED_SET + "CMSG_SERVERTIME", // CMSG_SERVERTIME + "SMSG_SERVERTIME", // SMSG_SERVERTIME + "CMSG_PLAYER_LOGOUT", // CMSG_PLAYER_LOGOUT + "CMSG_LOGOUT_REQUEST", // CMSG_LOGOUT_REQUEST + "SMSG_LOGOUT_RESPONSE", // SMSG_LOGOUT_RESPONSE + "SMSG_LOGOUT_COMPLETE", // SMSG_LOGOUT_COMPLETE + "CMSG_LOGOUT_CANCEL", // CMSG_LOGOUT_CANCEL + "SMSG_LOGOUT_CANCEL_ACK", // SMSG_LOGOUT_CANCEL_ACK + "CMSG_NAME_QUERY", // CMSG_NAME_QUERY + "SMSG_NAME_QUERY_RESPONSE", // SMSG_NAME_QUERY_RESPONSE + "CMSG_PET_NAME_QUERY", // CMSG_PET_NAME_QUERY + "SMSG_PET_NAME_QUERY_RESPONSE", // SMSG_PET_NAME_QUERY_RESPONSE + "CMSG_GUILD_QUERY", // CMSG_GUILD_QUERY + "SMSG_GUILD_QUERY_RESPONSE", // SMSG_GUILD_QUERY_RESPONSE + "CMSG_ITEM_QUERY_SINGLE", // CMSG_ITEM_QUERY_SINGLE + "CMSG_ITEM_QUERY_MULTIPLE", // CMSG_ITEM_QUERY_MULTIPLE + "SMSG_ITEM_QUERY_SINGLE_RESPONSE", // SMSG_ITEM_QUERY_SINGLE_RESPONSE + "SMSG_ITEM_QUERY_MULTIPLE_RESPONSE", // SMSG_ITEM_QUERY_MULTIPLE_RESPONSE + "CMSG_PAGE_TEXT_QUERY", // CMSG_PAGE_TEXT_QUERY + "SMSG_PAGE_TEXT_QUERY_RESPONSE", // SMSG_PAGE_TEXT_QUERY_RESPONSE + "CMSG_QUEST_QUERY", // CMSG_QUEST_QUERY + "SMSG_QUEST_QUERY_RESPONSE", // SMSG_QUEST_QUERY_RESPONSE + "CMSG_GAMEOBJECT_QUERY", // CMSG_GAMEOBJECT_QUERY + "SMSG_GAMEOBJECT_QUERY_RESPONSE", // SMSG_GAMEOBJECT_QUERY_RESPONSE + "CMSG_CREATURE_QUERY", // CMSG_CREATURE_QUERY + "SMSG_CREATURE_QUERY_RESPONSE", // SMSG_CREATURE_QUERY_RESPONSE + "CMSG_WHO", // CMSG_WHO + "SMSG_WHO", // SMSG_WHO + "CMSG_WHOIS", // CMSG_WHOIS + "SMSG_WHOIS", // SMSG_WHOIS + "CMSG_FRIEND_LIST", // CMSG_FRIEND_LIST + "SMSG_FRIEND_LIST", // SMSG_FRIEND_LIST + "SMSG_FRIEND_STATUS", // SMSG_FRIEND_STATUS + "CMSG_ADD_FRIEND", // CMSG_ADD_FRIEND + "CMSG_DEL_FRIEND", // CMSG_DEL_FRIEND + "SMSG_IGNORE_LIST", // SMSG_IGNORE_LIST + "CMSG_ADD_IGNORE", // CMSG_ADD_IGNORE + "CMSG_DEL_IGNORE", // CMSG_DEL_IGNORE + "CMSG_GROUP_INVITE", // CMSG_GROUP_INVITE + "SMSG_GROUP_INVITE", // SMSG_GROUP_INVITE + "CMSG_GROUP_CANCEL", // CMSG_GROUP_CANCEL + "SMSG_GROUP_CANCEL", // SMSG_GROUP_CANCEL + "CMSG_GROUP_ACCEPT", // CMSG_GROUP_ACCEPT + "CMSG_GROUP_DECLINE", // CMSG_GROUP_DECLINE + "SMSG_GROUP_DECLINE", // SMSG_GROUP_DECLINE + "CMSG_GROUP_UNINVITE", // CMSG_GROUP_UNINVITE + "CMSG_GROUP_UNINVITE_GUID", // CMSG_GROUP_UNINVITE_GUID + "SMSG_GROUP_UNINVITE", // SMSG_GROUP_UNINVITE + "CMSG_GROUP_SET_LEADER", // CMSG_GROUP_SET_LEADER + "SMSG_GROUP_SET_LEADER", // SMSG_GROUP_SET_LEADER + "CMSG_LOOT_METHOD", // CMSG_LOOT_METHOD + "CMSG_GROUP_DISBAND", // CMSG_GROUP_DISBAND + "SMSG_GROUP_DESTROYED", // SMSG_GROUP_DESTROYED + "SMSG_GROUP_LIST", // SMSG_GROUP_LIST + "SMSG_PARTY_MEMBER_STATS", // SMSG_PARTY_MEMBER_STATS + "SMSG_PARTY_COMMAND_RESULT", // SMSG_PARTY_COMMAND_RESULT + "UMSG_UPDATE_GROUP_MEMBERS", // UMSG_UPDATE_GROUP_MEMBERS + "CMSG_GUILD_CREATE", // CMSG_GUILD_CREATE + "CMSG_GUILD_INVITE", // CMSG_GUILD_INVITE + "SMSG_GUILD_INVITE", // SMSG_GUILD_INVITE + "CMSG_GUILD_ACCEPT", // CMSG_GUILD_ACCEPT + "CMSG_GUILD_DECLINE", // CMSG_GUILD_DECLINE + "SMSG_GUILD_DECLINE", // SMSG_GUILD_DECLINE + "CMSG_GUILD_INFO", // CMSG_GUILD_INFO + "SMSG_GUILD_INFO", // SMSG_GUILD_INFO + "CMSG_GUILD_ROSTER", // CMSG_GUILD_ROSTER + "SMSG_GUILD_ROSTER", // SMSG_GUILD_ROSTER + "CMSG_GUILD_PROMOTE", // CMSG_GUILD_PROMOTE + "CMSG_GUILD_DEMOTE", // CMSG_GUILD_DEMOTE + "CMSG_GUILD_LEAVE", // CMSG_GUILD_LEAVE + "CMSG_GUILD_REMOVE", // CMSG_GUILD_REMOVE + "CMSG_GUILD_DISBAND", // CMSG_GUILD_DISBAND + "CMSG_GUILD_LEADER", // CMSG_GUILD_LEADER + "CMSG_GUILD_MOTD", // CMSG_GUILD_MOTD + "SMSG_GUILD_EVENT", // SMSG_GUILD_EVENT + "SMSG_GUILD_COMMAND_RESULT", // SMSG_GUILD_COMMAND_RESULT + "UMSG_UPDATE_GUILD", // UMSG_UPDATE_GUILD + "CMSG_MESSAGECHAT", // CMSG_MESSAGECHAT + "SMSG_MESSAGECHAT", // SMSG_MESSAGECHAT + "CMSG_JOIN_CHANNEL", // CMSG_JOIN_CHANNEL + "CMSG_LEAVE_CHANNEL", // CMSG_LEAVE_CHANNEL + "SMSG_CHANNEL_NOTIFY", // SMSG_CHANNEL_NOTIFY + "CMSG_CHANNEL_LIST", // CMSG_CHANNEL_LIST + "SMSG_CHANNEL_LIST", // SMSG_CHANNEL_LIST + "CMSG_CHANNEL_PASSWORD", // CMSG_CHANNEL_PASSWORD + "CMSG_CHANNEL_SET_OWNER", // CMSG_CHANNEL_SET_OWNER + "CMSG_CHANNEL_OWNER", // CMSG_CHANNEL_OWNER + "CMSG_CHANNEL_MODERATOR", // CMSG_CHANNEL_MODERATOR + "CMSG_CHANNEL_UNMODERATOR", // CMSG_CHANNEL_UNMODERATOR + "CMSG_CHANNEL_MUTE", // CMSG_CHANNEL_MUTE + "CMSG_CHANNEL_UNMUTE", // CMSG_CHANNEL_UNMUTE + "CMSG_CHANNEL_INVITE", // CMSG_CHANNEL_INVITE + "CMSG_CHANNEL_KICK", // CMSG_CHANNEL_KICK + "CMSG_CHANNEL_BAN", // CMSG_CHANNEL_BAN + "CMSG_CHANNEL_UNBAN", // CMSG_CHANNEL_UNBAN + "CMSG_CHANNEL_ANNOUNCEMENTS", // CMSG_CHANNEL_ANNOUNCEMENTS + "CMSG_CHANNEL_MODERATE", // CMSG_CHANNEL_MODERATE + "SMSG_UPDATE_OBJECT", // SMSG_UPDATE_OBJECT + "SMSG_DESTROY_OBJECT", // SMSG_DESTROY_OBJECT + "CMSG_USE_ITEM", // CMSG_USE_ITEM + "CMSG_OPEN_ITEM", // CMSG_OPEN_ITEM + "CMSG_READ_ITEM", // CMSG_READ_ITEM + "SMSG_READ_ITEM_OK", // SMSG_READ_ITEM_OK + "SMSG_READ_ITEM_FAILED", // SMSG_READ_ITEM_FAILED + "SMSG_ITEM_COOLDOWN", // SMSG_ITEM_COOLDOWN + "CMSG_GAMEOBJ_USE", // CMSG_GAMEOBJ_USE + "CMSG_GAMEOBJ_CHAIR_USE_OBSOLETE", // CMSG_GAMEOBJ_CHAIR_USE_OBSOLETE + "SMSG_GAMEOBJECT_CUSTOM_ANIM", // SMSG_GAMEOBJECT_CUSTOM_ANIM + "CMSG_AREATRIGGER", // CMSG_AREATRIGGER + "MSG_MOVE_START_FORWARD", // MSG_MOVE_START_FORWARD + "MSG_MOVE_START_BACKWARD", // MSG_MOVE_START_BACKWARD + "MSG_MOVE_STOP", // MSG_MOVE_STOP + "MSG_MOVE_START_STRAFE_LEFT", // MSG_MOVE_START_STRAFE_LEFT + "MSG_MOVE_START_STRAFE_RIGHT", // MSG_MOVE_START_STRAFE_RIGHT + "MSG_MOVE_STOP_STRAFE", // MSG_MOVE_STOP_STRAFE + "MSG_MOVE_JUMP", // MSG_MOVE_JUMP + "MSG_MOVE_START_TURN_LEFT", // MSG_MOVE_START_TURN_LEFT + "MSG_MOVE_START_TURN_RIGHT", // MSG_MOVE_START_TURN_RIGHT + "MSG_MOVE_STOP_TURN", // MSG_MOVE_STOP_TURN + "MSG_MOVE_START_PITCH_UP", // MSG_MOVE_START_PITCH_UP + "MSG_MOVE_START_PITCH_DOWN", // MSG_MOVE_START_PITCH_DOWN + "MSG_MOVE_STOP_PITCH", // MSG_MOVE_STOP_PITCH + "MSG_MOVE_SET_RUN_MODE", // MSG_MOVE_SET_RUN_MODE + "MSG_MOVE_SET_WALK_MODE", // MSG_MOVE_SET_WALK_MODE + "MSG_MOVE_TOGGLE_LOGGING", // MSG_MOVE_TOGGLE_LOGGING + "MSG_MOVE_TELEPORT", // MSG_MOVE_TELEPORT + "MSG_MOVE_TELEPORT_CHEAT", // MSG_MOVE_TELEPORT_CHEAT + "MSG_MOVE_TELEPORT_ACK", // MSG_MOVE_TELEPORT_ACK + "MSG_MOVE_TOGGLE_FALL_LOGGING", // MSG_MOVE_TOGGLE_FALL_LOGGING + "MSG_MOVE_FALL_LAND", // MSG_MOVE_FALL_LAND + "MSG_MOVE_START_SWIM", // MSG_MOVE_START_SWIM + "MSG_MOVE_STOP_SWIM", // MSG_MOVE_STOP_SWIM + "MSG_MOVE_SET_RUN_SPEED_CHEAT", // MSG_MOVE_SET_RUN_SPEED_CHEAT + "MSG_MOVE_SET_RUN_SPEED", // MSG_MOVE_SET_RUN_SPEED + "MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT", // MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT + "MSG_MOVE_SET_RUN_BACK_SPEED", // MSG_MOVE_SET_RUN_BACK_SPEED + "MSG_MOVE_SET_WALK_SPEED_CHEAT", // MSG_MOVE_SET_WALK_SPEED_CHEAT + "MSG_MOVE_SET_WALK_SPEED", // MSG_MOVE_SET_WALK_SPEED + "MSG_MOVE_SET_SWIM_SPEED_CHEAT", // MSG_MOVE_SET_SWIM_SPEED_CHEAT + "MSG_MOVE_SET_SWIM_SPEED", // MSG_MOVE_SET_SWIM_SPEED + "MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT", // MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT + "MSG_MOVE_SET_SWIM_BACK_SPEED", // MSG_MOVE_SET_SWIM_BACK_SPEED + "MSG_MOVE_SET_ALL_SPEED_CHEAT", // MSG_MOVE_SET_ALL_SPEED_CHEAT + "MSG_MOVE_SET_TURN_RATE_CHEAT", // MSG_MOVE_SET_TURN_RATE_CHEAT + "MSG_MOVE_SET_TURN_RATE", // MSG_MOVE_SET_TURN_RATE + "MSG_MOVE_TOGGLE_COLLISION_CHEAT", // MSG_MOVE_TOGGLE_COLLISION_CHEAT + "MSG_MOVE_SET_FACING", // MSG_MOVE_SET_FACING + "MSG_MOVE_SET_PITCH", // MSG_MOVE_SET_PITCH + "MSG_MOVE_WORLDPORT_ACK", // MSG_MOVE_WORLDPORT_ACK + "SMSG_MONSTER_MOVE", // SMSG_MONSTER_MOVE + "SMSG_MOVE_WATER_WALK", // SMSG_MOVE_WATER_WALK + "SMSG_MOVE_LAND_WALK", // SMSG_MOVE_LAND_WALK + "MSG_MOVE_SET_RAW_POSITION_ACK", // MSG_MOVE_SET_RAW_POSITION_ACK + "CMSG_MOVE_SET_RAW_POSITION", // CMSG_MOVE_SET_RAW_POSITION + "SMSG_FORCE_RUN_SPEED_CHANGE", // SMSG_FORCE_RUN_SPEED_CHANGE + "CMSG_FORCE_RUN_SPEED_CHANGE_ACK", // CMSG_FORCE_RUN_SPEED_CHANGE_ACK + "SMSG_FORCE_RUN_BACK_SPEED_CHANGE", // SMSG_FORCE_RUN_BACK_SPEED_CHANGE + "CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK", // CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK + "SMSG_FORCE_SWIM_SPEED_CHANGE", // SMSG_FORCE_SWIM_SPEED_CHANGE + "CMSG_FORCE_SWIM_SPEED_CHANGE_ACK", // CMSG_FORCE_SWIM_SPEED_CHANGE_ACK + "SMSG_FORCE_MOVE_ROOT", // SMSG_FORCE_MOVE_ROOT + "CMSG_FORCE_MOVE_ROOT_ACK", // CMSG_FORCE_MOVE_ROOT_ACK + "SMSG_FORCE_MOVE_UNROOT", // SMSG_FORCE_MOVE_UNROOT + "CMSG_FORCE_MOVE_UNROOT_ACK", // CMSG_FORCE_MOVE_UNROOT_ACK + "MSG_MOVE_ROOT", // MSG_MOVE_ROOT + "MSG_MOVE_UNROOT", // MSG_MOVE_UNROOT + "MSG_MOVE_HEARTBEAT", // MSG_MOVE_HEARTBEAT + "SMSG_MOVE_KNOCK_BACK", // SMSG_MOVE_KNOCK_BACK + "CMSG_MOVE_KNOCK_BACK_ACK", // CMSG_MOVE_KNOCK_BACK_ACK + "MSG_MOVE_KNOCK_BACK", // MSG_MOVE_KNOCK_BACK + "SMSG_MOVE_FEATHER_FALL", // SMSG_MOVE_FEATHER_FALL + "SMSG_MOVE_NORMAL_FALL", // SMSG_MOVE_NORMAL_FALL + "SMSG_MOVE_SET_HOVER", // SMSG_MOVE_SET_HOVER + "SMSG_MOVE_UNSET_HOVER", // SMSG_MOVE_UNSET_HOVER + "CMSG_MOVE_HOVER_ACK", // CMSG_MOVE_HOVER_ACK + "MSG_MOVE_HOVER", // MSG_MOVE_HOVER + "CMSG_TRIGGER_CINEMATIC_CHEAT", // CMSG_TRIGGER_CINEMATIC_CHEAT + "CMSG_OPENING_CINEMATIC", // CMSG_OPENING_CINEMATIC + "SMSG_TRIGGER_CINEMATIC", // SMSG_TRIGGER_CINEMATIC + "CMSG_NEXT_CINEMATIC_CAMERA", // CMSG_NEXT_CINEMATIC_CAMERA + "CMSG_COMPLETE_CINEMATIC", // CMSG_COMPLETE_CINEMATIC + "SMSG_TUTORIAL_FLAGS", // SMSG_TUTORIAL_FLAGS + "CMSG_TUTORIAL_FLAG", // CMSG_TUTORIAL_FLAG + "CMSG_TUTORIAL_CLEAR", // CMSG_TUTORIAL_CLEAR + "CMSG_TUTORIAL_RESET", // CMSG_TUTORIAL_RESET + "CMSG_STANDSTATECHANGE", // CMSG_STANDSTATECHANGE + "CMSG_EMOTE", // CMSG_EMOTE + "SMSG_EMOTE", // SMSG_EMOTE + "CMSG_TEXT_EMOTE", // CMSG_TEXT_EMOTE + "SMSG_TEXT_EMOTE", // SMSG_TEXT_EMOTE + "CMSG_AUTOEQUIP_GROUND_ITEM", // CMSG_AUTOEQUIP_GROUND_ITEM + "CMSG_AUTOSTORE_GROUND_ITEM", // CMSG_AUTOSTORE_GROUND_ITEM + "CMSG_AUTOSTORE_LOOT_ITEM", // CMSG_AUTOSTORE_LOOT_ITEM + "CMSG_STORE_LOOT_IN_SLOT", // CMSG_STORE_LOOT_IN_SLOT + "CMSG_AUTOEQUIP_ITEM", // CMSG_AUTOEQUIP_ITEM + "CMSG_AUTOSTORE_BAG_ITEM", // CMSG_AUTOSTORE_BAG_ITEM + "CMSG_SWAP_ITEM", // CMSG_SWAP_ITEM + "CMSG_SWAP_INV_ITEM", // CMSG_SWAP_INV_ITEM + "CMSG_SPLIT_ITEM", // CMSG_SPLIT_ITEM + "CMSG_PICKUP_ITEM", // CMSG_PICKUP_ITEM + "CMSG_DROP_ITEM", // CMSG_DROP_ITEM + "CMSG_DESTROYITEM", // CMSG_DESTROYITEM + "SMSG_INVENTORY_CHANGE_FAILURE", // SMSG_INVENTORY_CHANGE_FAILURE + "SMSG_OPEN_CONTAINER", // SMSG_OPEN_CONTAINER + "CMSG_INSPECT", // CMSG_INSPECT + "SMSG_INSPECT", // SMSG_INSPECT + "CMSG_INITIATE_TRADE", // CMSG_INITIATE_TRADE + "CMSG_BEGIN_TRADE", // CMSG_BEGIN_TRADE + "CMSG_BUSY_TRADE", // CMSG_BUSY_TRADE + "CMSG_IGNORE_TRADE", // CMSG_IGNORE_TRADE + "CMSG_ACCEPT_TRADE", // CMSG_ACCEPT_TRADE + "CMSG_UNACCEPT_TRADE", // CMSG_UNACCEPT_TRADE + "CMSG_CANCEL_TRADE", // CMSG_CANCEL_TRADE + "CMSG_SET_TRADE_ITEM", // CMSG_SET_TRADE_ITEM + "CMSG_CLEAR_TRADE_ITEM", // CMSG_CLEAR_TRADE_ITEM + "CMSG_SET_TRADE_GOLD", // CMSG_SET_TRADE_GOLD + "SMSG_TRADE_STATUS", // SMSG_TRADE_STATUS + "SMSG_TRADE_STATUS_EXTENDED", // SMSG_TRADE_STATUS_EXTENDED + "SMSG_INITIALIZE_FACTIONS", // SMSG_INITIALIZE_FACTIONS + "SMSG_SET_FACTION_VISIBLE", // SMSG_SET_FACTION_VISIBLE + "SMSG_SET_FACTION_STANDING", // SMSG_SET_FACTION_STANDING + "CMSG_SET_FACTION_ATWAR", // CMSG_SET_FACTION_ATWAR + "CMSG_SET_FACTION_CHEAT", // CMSG_SET_FACTION_CHEAT + "SMSG_SET_PROFICIENCY", // SMSG_SET_PROFICIENCY + "CMSG_SET_ACTION_BUTTON", // CMSG_SET_ACTION_BUTTON + "SMSG_ACTION_BUTTONS", // SMSG_ACTION_BUTTONS + "SMSG_INITIAL_SPELLS", // SMSG_INITIAL_SPELLS + "SMSG_LEARNED_SPELL", // SMSG_LEARNED_SPELL + "SMSG_SUPERCEDED_SPELL", // SMSG_SUPERCEDED_SPELL + "CMSG_NEW_SPELL_SLOT", // CMSG_NEW_SPELL_SLOT + "CMSG_CAST_SPELL", // CMSG_CAST_SPELL + "CMSG_CANCEL_CAST", // CMSG_CANCEL_CAST + "SMSG_CAST_RESULT", // SMSG_CAST_RESULT + "SMSG_SPELL_START", // SMSG_SPELL_START + "SMSG_SPELL_GO", // SMSG_SPELL_GO + "SMSG_SPELL_FAILURE", // SMSG_SPELL_FAILURE + "SMSG_SPELL_COOLDOWN", // SMSG_SPELL_COOLDOWN + "SMSG_COOLDOWN_EVENT", // SMSG_COOLDOWN_EVENT + "CMSG_CANCEL_AURA", // CMSG_CANCEL_AURA + "SMSG_UPDATE_AURA_DURATION", // SMSG_UPDATE_AURA_DURATION + "SMSG_PET_CAST_FAILED", // SMSG_PET_CAST_FAILED + "MSG_CHANNEL_START", // MSG_CHANNEL_START + "MSG_CHANNEL_UPDATE", // MSG_CHANNEL_UPDATE + "CMSG_CANCEL_CHANNELLING", // CMSG_CANCEL_CHANNELLING + "SMSG_AI_REACTION", // SMSG_AI_REACTION + "CMSG_SET_SELECTION", // CMSG_SET_SELECTION + "CMSG_SET_TARGET_OBSOLETE", // CMSG_SET_TARGET_OBSOLETE + "CMSG_UNUSED", // CMSG_UNUSED + "CMSG_UNUSED2", // CMSG_UNUSED2 + "CMSG_ATTACKSWING", // CMSG_ATTACKSWING + "CMSG_ATTACKSTOP", // CMSG_ATTACKSTOP + "SMSG_ATTACKSTART", // SMSG_ATTACKSTART + "SMSG_ATTACKSTOP", // SMSG_ATTACKSTOP + "SMSG_ATTACKSWING_NOTINRANGE", // SMSG_ATTACKSWING_NOTINRANGE + "SMSG_ATTACKSWING_BADFACING", // SMSG_ATTACKSWING_BADFACING + "SMSG_ATTACKSWING_NOTSTANDING", // SMSG_ATTACKSWING_NOTSTANDING + "SMSG_ATTACKSWING_DEADTARGET", // SMSG_ATTACKSWING_DEADTARGET + "SMSG_ATTACKSWING_CANT_ATTACK", // SMSG_ATTACKSWING_CANT_ATTACK + "SMSG_ATTACKERSTATEUPDATE", // SMSG_ATTACKERSTATEUPDATE + "SMSG_VICTIMSTATEUPDATE_OBSOLETE", // SMSG_VICTIMSTATEUPDATE_OBSOLETE + "SMSG_DAMAGE_DONE_OBSOLETE", // SMSG_DAMAGE_DONE_OBSOLETE + "SMSG_DAMAGE_TAKEN_OBSOLETE", // SMSG_DAMAGE_TAKEN_OBSOLETE + "SMSG_CANCEL_COMBAT", // SMSG_CANCEL_COMBAT + "SMSG_PLAYER_COMBAT_XP_GAIN_OBSOLETE", // SMSG_PLAYER_COMBAT_XP_GAIN_OBSOLETE + "SMSG_HEALSPELL_ON_PLAYER_OBSOLETE", // SMSG_HEALSPELL_ON_PLAYER_OBSOLETE + "SMSG_HEALSPELL_ON_PLAYERS_PET_OBSOLETE", // SMSG_HEALSPELL_ON_PLAYERS_PET_OBSOLETE + "CMSG_SHEATHE_OBSOLETE", // CMSG_SHEATHE_OBSOLETE + "CMSG_SAVE_PLAYER", // CMSG_SAVE_PLAYER + "CMSG_SETDEATHBINDPOINT", // CMSG_SETDEATHBINDPOINT + "SMSG_BINDPOINTUPDATE", // SMSG_BINDPOINTUPDATE + "CMSG_GETDEATHBINDZONE", // CMSG_GETDEATHBINDZONE + "SMSG_BINDZONEREPLY", // SMSG_BINDZONEREPLY + "SMSG_PLAYERBOUND", // SMSG_PLAYERBOUND + "SMSG_DEATH_NOTIFY_OBSOLETE", // SMSG_DEATH_NOTIFY_OBSOLETE + "CMSG_REPOP_REQUEST", // CMSG_REPOP_REQUEST + "SMSG_RESURRECT_REQUEST", // SMSG_RESURRECT_REQUEST + "CMSG_RESURRECT_RESPONSE", // CMSG_RESURRECT_RESPONSE + "CMSG_LOOT", // CMSG_LOOT + "CMSG_LOOT_MONEY", // CMSG_LOOT_MONEY + "CMSG_LOOT_RELEASE", // CMSG_LOOT_RELEASE + "SMSG_LOOT_RESPONSE", // SMSG_LOOT_RESPONSE + "SMSG_LOOT_RELEASE_RESPONSE", // SMSG_LOOT_RELEASE_RESPONSE + "SMSG_LOOT_REMOVED", // SMSG_LOOT_REMOVED + "SMSG_LOOT_MONEY_NOTIFY", // SMSG_LOOT_MONEY_NOTIFY + "SMSG_LOOT_ITEM_NOTIFY", // SMSG_LOOT_ITEM_NOTIFY + "SMSG_LOOT_CLEAR_MONEY", // SMSG_LOOT_CLEAR_MONEY + "SMSG_ITEM_PUSH_RESULT", // SMSG_ITEM_PUSH_RESULT + "SMSG_DUEL_REQUESTED", // SMSG_DUEL_REQUESTED + "SMSG_DUEL_OUTOFBOUNDS", // SMSG_DUEL_OUTOFBOUNDS + "SMSG_DUEL_INBOUNDS", // SMSG_DUEL_INBOUNDS + "SMSG_DUEL_COMPLETE", // SMSG_DUEL_COMPLETE + "SMSG_DUEL_WINNER", // SMSG_DUEL_WINNER + "CMSG_DUEL_ACCEPTED", // CMSG_DUEL_ACCEPTED + "CMSG_DUEL_CANCELLED", // CMSG_DUEL_CANCELLED + "SMSG_MOUNTRESULT", // SMSG_MOUNTRESULT + "SMSG_DISMOUNTRESULT", // SMSG_DISMOUNTRESULT + "SMSG_PUREMOUNT_CANCELLED_OBSOLETE", // SMSG_PUREMOUNT_CANCELLED_OBSOLETE + "CMSG_MOUNTSPECIAL_ANIM", // CMSG_MOUNTSPECIAL_ANIM + "SMSG_MOUNTSPECIAL_ANIM", // SMSG_MOUNTSPECIAL_ANIM + "SMSG_PET_TAME_FAILURE", // SMSG_PET_TAME_FAILURE + "CMSG_PET_SET_ACTION", // CMSG_PET_SET_ACTION + "CMSG_PET_ACTION", // CMSG_PET_ACTION + "CMSG_PET_ABANDON", // CMSG_PET_ABANDON + "CMSG_PET_RENAME", // CMSG_PET_RENAME + "SMSG_PET_NAME_INVALID", // SMSG_PET_NAME_INVALID + "SMSG_PET_SPELLS", // SMSG_PET_SPELLS + "SMSG_PET_MODE", // SMSG_PET_MODE + "CMSG_GOSSIP_HELLO", // CMSG_GOSSIP_HELLO + "CMSG_GOSSIP_SELECT_OPTION", // CMSG_GOSSIP_SELECT_OPTION + "SMSG_GOSSIP_MESSAGE", // SMSG_GOSSIP_MESSAGE + "SMSG_GOSSIP_COMPLETE", // SMSG_GOSSIP_COMPLETE + "CMSG_NPC_TEXT_QUERY", // CMSG_NPC_TEXT_QUERY + "SMSG_NPC_TEXT_UPDATE", // SMSG_NPC_TEXT_UPDATE + "SMSG_NPC_WONT_TALK", // SMSG_NPC_WONT_TALK + "CMSG_QUESTGIVER_STATUS_QUERY", // CMSG_QUESTGIVER_STATUS_QUERY + "SMSG_QUESTGIVER_STATUS", // SMSG_QUESTGIVER_STATUS + "CMSG_QUESTGIVER_HELLO", // CMSG_QUESTGIVER_HELLO + "SMSG_QUESTGIVER_QUEST_LIST", // SMSG_QUESTGIVER_QUEST_LIST + "CMSG_QUESTGIVER_QUERY_QUEST", // CMSG_QUESTGIVER_QUERY_QUEST + "CMSG_QUESTGIVER_QUEST_AUTOLAUNCH", // CMSG_QUESTGIVER_QUEST_AUTOLAUNCH + "SMSG_QUESTGIVER_QUEST_DETAILS", // SMSG_QUESTGIVER_QUEST_DETAILS + "CMSG_QUESTGIVER_ACCEPT_QUEST", // CMSG_QUESTGIVER_ACCEPT_QUEST + "CMSG_QUESTGIVER_COMPLETE_QUEST", // CMSG_QUESTGIVER_COMPLETE_QUEST + "SMSG_QUESTGIVER_REQUEST_ITEMS", // SMSG_QUESTGIVER_REQUEST_ITEMS + "CMSG_QUESTGIVER_REQUEST_REWARD", // CMSG_QUESTGIVER_REQUEST_REWARD + "SMSG_QUESTGIVER_OFFER_REWARD", // SMSG_QUESTGIVER_OFFER_REWARD + "CMSG_QUESTGIVER_CHOOSE_REWARD", // CMSG_QUESTGIVER_CHOOSE_REWARD + "SMSG_QUESTGIVER_QUEST_INVALID", // SMSG_QUESTGIVER_QUEST_INVALID + "CMSG_QUESTGIVER_CANCEL", // CMSG_QUESTGIVER_CANCEL + "SMSG_QUESTGIVER_QUEST_COMPLETE", // SMSG_QUESTGIVER_QUEST_COMPLETE + "SMSG_QUESTGIVER_QUEST_FAILED", // SMSG_QUESTGIVER_QUEST_FAILED + "CMSG_QUESTLOG_SWAP_QUEST", // CMSG_QUESTLOG_SWAP_QUEST + "CMSG_QUESTLOG_REMOVE_QUEST", // CMSG_QUESTLOG_REMOVE_QUEST + "SMSG_QUESTLOG_FULL", // SMSG_QUESTLOG_FULL + "SMSG_QUESTUPDATE_FAILED", // SMSG_QUESTUPDATE_FAILED + "SMSG_QUESTUPDATE_FAILEDTIMER", // SMSG_QUESTUPDATE_FAILEDTIMER + "SMSG_QUESTUPDATE_COMPLETE", // SMSG_QUESTUPDATE_COMPLETE + "SMSG_QUESTUPDATE_ADD_KILL", // SMSG_QUESTUPDATE_ADD_KILL + "SMSG_QUESTUPDATE_ADD_ITEM", // SMSG_QUESTUPDATE_ADD_ITEM + "CMSG_QUEST_CONFIRM_ACCEPT", // CMSG_QUEST_CONFIRM_ACCEPT + "SMSG_QUEST_CONFIRM_ACCEPT", // SMSG_QUEST_CONFIRM_ACCEPT + "CMSG_PUSHQUESTTOPARTY", // CMSG_PUSHQUESTTOPARTY + "CMSG_LIST_INVENTORY", // CMSG_LIST_INVENTORY + "SMSG_LIST_INVENTORY", // SMSG_LIST_INVENTORY + "CMSG_SELL_ITEM", // CMSG_SELL_ITEM + "SMSG_SELL_ITEM", // SMSG_SELL_ITEM + "CMSG_BUY_ITEM", // CMSG_BUY_ITEM + "CMSG_BUY_ITEM_IN_SLOT", // CMSG_BUY_ITEM_IN_SLOT + "SMSG_BUY_ITEM", // SMSG_BUY_ITEM + "SMSG_BUY_FAILED", // SMSG_BUY_FAILED + "CMSG_TAXICLEARALLNODES", // CMSG_TAXICLEARALLNODES + "CMSG_TAXIENABLEALLNODES", // CMSG_TAXIENABLEALLNODES + "CMSG_TAXISHOWNODES", // CMSG_TAXISHOWNODES + "SMSG_SHOWTAXINODES", // SMSG_SHOWTAXINODES + "CMSG_TAXINODE_STATUS_QUERY", // CMSG_TAXINODE_STATUS_QUERY + "SMSG_TAXINODE_STATUS", // SMSG_TAXINODE_STATUS + "CMSG_TAXIQUERYAVAILABLENODES", // CMSG_TAXIQUERYAVAILABLENODES + "CMSG_ACTIVATETAXI", // CMSG_ACTIVATETAXI + "SMSG_ACTIVATETAXIREPLY", // SMSG_ACTIVATETAXIREPLY + "SMSG_NEW_TAXI_PATH", // SMSG_NEW_TAXI_PATH + "CMSG_TRAINER_LIST", // CMSG_TRAINER_LIST + "SMSG_TRAINER_LIST", // SMSG_TRAINER_LIST + "CMSG_TRAINER_BUY_SPELL", // CMSG_TRAINER_BUY_SPELL + "SMSG_TRAINER_BUY_SUCCEEDED", // SMSG_TRAINER_BUY_SUCCEEDED + "SMSG_TRAINER_BUY_FAILED", // SMSG_TRAINER_BUY_FAILED + "CMSG_BINDER_ACTIVATE", // CMSG_BINDER_ACTIVATE + "SMSG_PLAYERBINDERROR", // SMSG_PLAYERBINDERROR + "CMSG_BANKER_ACTIVATE", // CMSG_BANKER_ACTIVATE + "SMSG_SHOW_BANK", // SMSG_SHOW_BANK + "CMSG_BUY_BANK_SLOT", // CMSG_BUY_BANK_SLOT + "SMSG_BUY_BANK_SLOT_RESULT", // SMSG_BUY_BANK_SLOT_RESULT + "CMSG_PETITION_SHOWLIST", // CMSG_PETITION_SHOWLIST + "SMSG_PETITION_SHOWLIST", // SMSG_PETITION_SHOWLIST + "CMSG_PETITION_BUY", // CMSG_PETITION_BUY + "CMSG_PETITION_SHOW_SIGNATURES", // CMSG_PETITION_SHOW_SIGNATURES + "SMSG_PETITION_SHOW_SIGNATURES", // SMSG_PETITION_SHOW_SIGNATURES + "CMSG_PETITION_SIGN", // CMSG_PETITION_SIGN + "SMSG_PETITION_SIGN_RESULTS", // SMSG_PETITION_SIGN_RESULTS + "MSG_PETITION_DECLINE", // MSG_PETITION_DECLINE + "CMSG_OFFER_PETITION", // CMSG_OFFER_PETITION + "CMSG_TURN_IN_PETITION", // CMSG_TURN_IN_PETITION + "SMSG_TURN_IN_PETITION_RESULTS", // SMSG_TURN_IN_PETITION_RESULTS + "CMSG_PETITION_QUERY", // CMSG_PETITION_QUERY + "SMSG_PETITION_QUERY_RESPONSE", // SMSG_PETITION_QUERY_RESPONSE + "SMSG_FISH_NOT_HOOKED", // SMSG_FISH_NOT_HOOKED + "SMSG_FISH_ESCAPED", // SMSG_FISH_ESCAPED + "CMSG_BUG", // CMSG_BUG + "SMSG_NOTIFICATION", // SMSG_NOTIFICATION + "CMSG_PLAYED_TIME", // CMSG_PLAYED_TIME + "SMSG_PLAYED_TIME", // SMSG_PLAYED_TIME + "CMSG_QUERY_TIME", // CMSG_QUERY_TIME + "SMSG_QUERY_TIME_RESPONSE", // SMSG_QUERY_TIME_RESPONSE + "SMSG_LOG_XPGAIN", // SMSG_LOG_XPGAIN + "MSG_SPLIT_MONEY", // MSG_SPLIT_MONEY + "CMSG_RECLAIM_CORPSE", // CMSG_RECLAIM_CORPSE + "CMSG_WRAP_ITEM", // CMSG_WRAP_ITEM + "SMSG_LEVELUP_INFO", // SMSG_LEVELUP_INFO + "MSG_MINIMAP_PING", // MSG_MINIMAP_PING + "SMSG_RESISTLOG", // SMSG_RESISTLOG + "SMSG_ENCHANTMENTLOG", // SMSG_ENCHANTMENTLOG + "CMSG_SET_SKILL_CHEAT", // CMSG_SET_SKILL_CHEAT + "SMSG_START_MIRROR_TIMER", // SMSG_START_MIRROR_TIMER + "SMSG_PAUSE_MIRROR_TIMER", // SMSG_PAUSE_MIRROR_TIMER + "SMSG_STOP_MIRROR_TIMER", // SMSG_STOP_MIRROR_TIMER + "CMSG_PING", // CMSG_PING + "SMSG_PONG", // SMSG_PONG + "SMSG_CLEAR_COOLDOWN", // SMSG_CLEAR_COOLDOWN + "SMSG_GAMEOBJECT_PAGETEXT", // SMSG_GAMEOBJECT_PAGETEXT + "CMSG_SETSHEATHED", // CMSG_SETSHEATHED + "SMSG_COOLDOWN_CHEAT", // SMSG_COOLDOWN_CHEAT + "SMSG_SPELL_DELAYED", // SMSG_SPELL_DELAYED + "CMSG_PLAYER_MACRO_OBSOLETE", // CMSG_PLAYER_MACRO_OBSOLETE + "SMSG_PLAYER_MACRO_OBSOLETE", // SMSG_PLAYER_MACRO_OBSOLETE + "CMSG_GHOST", // CMSG_GHOST + "CMSG_GM_INVIS", // CMSG_GM_INVIS + "SMSG_INVALID_PROMOTION_CODE", // SMSG_INVALID_PROMOTION_CODE + "MSG_GM_BIND_OTHER", // MSG_GM_BIND_OTHER + "MSG_GM_SUMMON", // MSG_GM_SUMMON + "SMSG_ITEM_TIME_UPDATE", // SMSG_ITEM_TIME_UPDATE + "SMSG_ITEM_ENCHANT_TIME_UPDATE", // SMSG_ITEM_ENCHANT_TIME_UPDATE + "SMSG_AUTH_CHALLENGE", // SMSG_AUTH_CHALLENGE + "CMSG_AUTH_SESSION", // CMSG_AUTH_SESSION + "SMSG_AUTH_RESPONSE", // SMSG_AUTH_RESPONSE + "MSG_GM_SHOWLABEL", // MSG_GM_SHOWLABEL + "MSG_ADD_DYNAMIC_TARGET_OBSOLETE", // MSG_ADD_DYNAMIC_TARGET_OBSOLETE + "MSG_SAVE_GUILD_EMBLEM", // MSG_SAVE_GUILD_EMBLEM + "MSG_TABARDVENDOR_ACTIVATE", // MSG_TABARDVENDOR_ACTIVATE + "SMSG_PLAY_SPELL_VISUAL", // SMSG_PLAY_SPELL_VISUAL + "CMSG_ZONEUPDATE", // CMSG_ZONEUPDATE + "SMSG_PARTYKILLLOG", // SMSG_PARTYKILLLOG + "SMSG_COMPRESSED_UPDATE_OBJECT", // SMSG_COMPRESSED_UPDATE_OBJECT + "SMSG_OBSOLETE", // SMSG_OBSOLETE + "SMSG_EXPLORATION_EXPERIENCE", // SMSG_EXPLORATION_EXPERIENCE + "CMSG_GM_SET_SECURITY_GROUP", // CMSG_GM_SET_SECURITY_GROUP + "CMSG_GM_NUKE", // CMSG_GM_NUKE + "MSG_RANDOM_ROLL", // MSG_RANDOM_ROLL + "SMSG_ENVIRONMENTALDAMAGELOG", // SMSG_ENVIRONMENTALDAMAGELOG + "CMSG_RWHOIS", // CMSG_RWHOIS + "SMSG_RWHOIS", // SMSG_RWHOIS + "MSG_LOOKING_FOR_GROUP", // MSG_LOOKING_FOR_GROUP + "CMSG_SET_LOOKING_FOR_GROUP", // CMSG_SET_LOOKING_FOR_GROUP + "CMSG_UNLEARN_SPELL", // CMSG_UNLEARN_SPELL + "CMSG_UNLEARN_SKILL", // CMSG_UNLEARN_SKILL + "SMSG_REMOVED_SPELL", // SMSG_REMOVED_SPELL + "CMSG_DECHARGE", // CMSG_DECHARGE + "CMSG_GMTICKET_CREATE", // CMSG_GMTICKET_CREATE + "SMSG_GMTICKET_CREATE", // SMSG_GMTICKET_CREATE + "CMSG_GMTICKET_UPDATETEXT", // CMSG_GMTICKET_UPDATETEXT + "SMSG_GMTICKET_UPDATETEXT", // SMSG_GMTICKET_UPDATETEXT + "SMSG_ACCOUNT_DATA_MD5", // SMSG_ACCOUNT_DATA_MD5 + "CMSG_REQUEST_ACCOUNT_DATA", // CMSG_REQUEST_ACCOUNT_DATA + "CMSG_UPDATE_ACCOUNT_DATA", // CMSG_UPDATE_ACCOUNT_DATA + "SMSG_UPDATE_ACCOUNT_DATA", // SMSG_UPDATE_ACCOUNT_DATA + "SMSG_CLEAR_FAR_SIGHT_IMMEDIATE", // SMSG_CLEAR_FAR_SIGHT_IMMEDIATE + "SMSG_POWERGAINLOG_OBSOLETE", // SMSG_POWERGAINLOG_OBSOLETE + "CMSG_GM_TEACH", // CMSG_GM_TEACH + "CMSG_GM_CREATE_ITEM_TARGET", // CMSG_GM_CREATE_ITEM_TARGET + "CMSG_GMTICKET_GETTICKET", // CMSG_GMTICKET_GETTICKET + "SMSG_GMTICKET_GETTICKET", // SMSG_GMTICKET_GETTICKET + "CMSG_UNLEARN_TALENTS", // CMSG_UNLEARN_TALENTS + "SMSG_GAMEOBJECT_SPAWN_ANIM", // SMSG_GAMEOBJECT_SPAWN_ANIM + "SMSG_GAMEOBJECT_DESPAWN_ANIM", // SMSG_GAMEOBJECT_DESPAWN_ANIM + "MSG_CORPSE_QUERY", // MSG_CORPSE_QUERY + "CMSG_GMTICKET_DELETETICKET", // CMSG_GMTICKET_DELETETICKET + "SMSG_GMTICKET_DELETETICKET", // SMSG_GMTICKET_DELETETICKET + "SMSG_CHAT_WRONG_FACTION", // SMSG_CHAT_WRONG_FACTION + "CMSG_GMTICKET_SYSTEMSTATUS", // CMSG_GMTICKET_SYSTEMSTATUS + "SMSG_GMTICKET_SYSTEMSTATUS", // SMSG_GMTICKET_SYSTEMSTATUS + "CMSG_SPIRIT_HEALER_ACTIVATE", // CMSG_SPIRIT_HEALER_ACTIVATE + "CMSG_SET_STAT_CHEAT", // CMSG_SET_STAT_CHEAT + "SMSG_SET_REST_START", // SMSG_SET_REST_START + "CMSG_SKILL_BUY_STEP", // CMSG_SKILL_BUY_STEP + "CMSG_SKILL_BUY_RANK", // CMSG_SKILL_BUY_RANK + "CMSG_XP_CHEAT", // CMSG_XP_CHEAT + "SMSG_SPIRIT_HEALER_CONFIRM", // SMSG_SPIRIT_HEALER_CONFIRM + "CMSG_CHARACTER_POINT_CHEAT", // CMSG_CHARACTER_POINT_CHEAT + "SMSG_GOSSIP_POI", // SMSG_GOSSIP_POI + "CMSG_CHAT_IGNORED", // CMSG_CHAT_IGNORED + "CMSG_GM_VISION", // CMSG_GM_VISION + "CMSG_SERVER_COMMAND", // CMSG_SERVER_COMMAND + "CMSG_GM_SILENCE", // CMSG_GM_SILENCE + "CMSG_GM_REVEALTO", // CMSG_GM_REVEALTO + "CMSG_GM_RESURRECT", // CMSG_GM_RESURRECT + "CMSG_GM_SUMMONMOB", // CMSG_GM_SUMMONMOB + "CMSG_GM_MOVECORPSE", // CMSG_GM_MOVECORPSE + "CMSG_GM_FREEZE", // CMSG_GM_FREEZE + "CMSG_GM_UBERINVIS", // CMSG_GM_UBERINVIS + "CMSG_GM_REQUEST_PLAYER_INFO", // CMSG_GM_REQUEST_PLAYER_INFO + "SMSG_GM_PLAYER_INFO", // SMSG_GM_PLAYER_INFO + "CMSG_GUILD_RANK", // CMSG_GUILD_RANK + "CMSG_GUILD_ADD_RANK", // CMSG_GUILD_ADD_RANK + "CMSG_GUILD_DEL_RANK", // CMSG_GUILD_DEL_RANK + "CMSG_GUILD_SET_PUBLIC_NOTE", // CMSG_GUILD_SET_PUBLIC_NOTE + "CMSG_GUILD_SET_OFFICER_NOTE", // CMSG_GUILD_SET_OFFICER_NOTE + "SMSG_LOGIN_VERIFY_WORLD", // SMSG_LOGIN_VERIFY_WORLD + "CMSG_CLEAR_EXPLORATION", // CMSG_CLEAR_EXPLORATION + "CMSG_SEND_MAIL", // CMSG_SEND_MAIL + "SMSG_SEND_MAIL_RESULT", // SMSG_SEND_MAIL_RESULT + "CMSG_GET_MAIL_LIST", // CMSG_GET_MAIL_LIST + "SMSG_MAIL_LIST_RESULT", // SMSG_MAIL_LIST_RESULT + "CMSG_BATTLEFIELD_LIST", // CMSG_BATTLEFIELD_LIST + "SMSG_BATTLEFIELD_LIST", // SMSG_BATTLEFIELD_LIST + "CMSG_BATTLEFIELD_JOIN", // CMSG_BATTLEFIELD_JOIN + "SMSG_BATTLEFIELD_WIN", // SMSG_BATTLEFIELD_WIN + "SMSG_BATTLEFIELD_LOSE", // SMSG_BATTLEFIELD_LOSE + "CMSG_TAXICLEARNODE", // CMSG_TAXICLEARNODE + "CMSG_TAXIENABLENODE", // CMSG_TAXIENABLENODE + "CMSG_ITEM_TEXT_QUERY", // CMSG_ITEM_TEXT_QUERY + "SMSG_ITEM_TEXT_QUERY_RESPONSE", // SMSG_ITEM_TEXT_QUERY_RESPONSE + "CMSG_MAIL_TAKE_MONEY", // CMSG_MAIL_TAKE_MONEY + "CMSG_MAIL_TAKE_ITEM", // CMSG_MAIL_TAKE_ITEM + "CMSG_MAIL_MARK_AS_READ", // CMSG_MAIL_MARK_AS_READ + "CMSG_MAIL_RETURN_TO_SENDER", // CMSG_MAIL_RETURN_TO_SENDER + "CMSG_MAIL_DELETE", // CMSG_MAIL_DELETE + "CMSG_MAIL_CREATE_TEXT_ITEM", // CMSG_MAIL_CREATE_TEXT_ITEM + "SMSG_SPELLLOGMISS", // SMSG_SPELLLOGMISS + "SMSG_SPELLLOGEXECUTE", // SMSG_SPELLLOGEXECUTE + "SMSG_DEBUGAURAPROC", // SMSG_DEBUGAURAPROC + "SMSG_PERIODICAURALOG", // SMSG_PERIODICAURALOG + "SMSG_SPELLDAMAGESHIELD", // SMSG_SPELLDAMAGESHIELD + "SMSG_SPELLNONMELEEDAMAGELOG", // SMSG_SPELLNONMELEEDAMAGELOG + "CMSG_LEARN_TALENT", // CMSG_LEARN_TALENT + "SMSG_RESURRECT_FAILED", // SMSG_RESURRECT_FAILED + "CMSG_TOGGLE_PVP", // CMSG_TOGGLE_PVP + "SMSG_ZONE_UNDER_ATTACK", // SMSG_ZONE_UNDER_ATTACK + "MSG_AUCTION_HELLO", // MSG_AUCTION_HELLO + "CMSG_AUCTION_SELL_ITEM", // CMSG_AUCTION_SELL_ITEM + "CMSG_AUCTION_REMOVE_ITEM", // CMSG_AUCTION_REMOVE_ITEM + "CMSG_AUCTION_LIST_ITEMS", // CMSG_AUCTION_LIST_ITEMS + "CMSG_AUCTION_LIST_OWNER_ITEMS", // CMSG_AUCTION_LIST_OWNER_ITEMS + "CMSG_AUCTION_PLACE_BID", // CMSG_AUCTION_PLACE_BID + "SMSG_AUCTION_COMMAND_RESULT", // SMSG_AUCTION_COMMAND_RESULT + "SMSG_AUCTION_LIST_RESULT", // SMSG_AUCTION_LIST_RESULT + "SMSG_AUCTION_OWNER_LIST_RESULT", // SMSG_AUCTION_OWNER_LIST_RESULT + "SMSG_AUCTION_BIDDER_NOTIFICATION", // SMSG_AUCTION_BIDDER_NOTIFICATION + "SMSG_AUCTION_OWNER_NOTIFICATION", // SMSG_AUCTION_OWNER_NOTIFICATION + "SMSG_PROCRESIST", // SMSG_PROCRESIST + "SMSG_STANDSTATE_CHANGE_FAILURE", // SMSG_STANDSTATE_CHANGE_FAILURE + "SMSG_DISPEL_FAILED", // SMSG_DISPEL_FAILED + "SMSG_SPELLORDAMAGE_IMMUNE", // SMSG_SPELLORDAMAGE_IMMUNE + "CMSG_AUCTION_LIST_BIDDER_ITEMS", // CMSG_AUCTION_LIST_BIDDER_ITEMS + "SMSG_AUCTION_BIDDER_LIST_RESULT", // SMSG_AUCTION_BIDDER_LIST_RESULT + "SMSG_SET_FLAT_SPELL_MODIFIER", // SMSG_SET_FLAT_SPELL_MODIFIER + "SMSG_SET_PCT_SPELL_MODIFIER", // SMSG_SET_PCT_SPELL_MODIFIER + "CMSG_SET_AMMO", // CMSG_SET_AMMO + "SMSG_CORPSE_RECLAIM_DELAY", // SMSG_CORPSE_RECLAIM_DELAY + "CMSG_SET_ACTIVE_MOVER", // CMSG_SET_ACTIVE_MOVER + "CMSG_PET_CANCEL_AURA", // CMSG_PET_CANCEL_AURA + "CMSG_PLAYER_AI_CHEAT", // CMSG_PLAYER_AI_CHEAT + "CMSG_CANCEL_AUTO_REPEAT_SPELL", // CMSG_CANCEL_AUTO_REPEAT_SPELL + "MSG_GM_ACCOUNT_ONLINE", // MSG_GM_ACCOUNT_ONLINE + "MSG_LIST_STABLED_PETS", // MSG_LIST_STABLED_PETS + "CMSG_STABLE_PET", // CMSG_STABLE_PET + "CMSG_UNSTABLE_PET", // CMSG_UNSTABLE_PET + "CMSG_BUY_STABLE_SLOT", // CMSG_BUY_STABLE_SLOT + "SMSG_STABLE_RESULT", // SMSG_STABLE_RESULT + "CMSG_STABLE_REVIVE_PET", // CMSG_STABLE_REVIVE_PET + "CMSG_STABLE_SWAP_PET", // CMSG_STABLE_SWAP_PET + "MSG_QUEST_PUSH_RESULT", // MSG_QUEST_PUSH_RESULT + "SMSG_PLAY_MUSIC", // SMSG_PLAY_MUSIC + "SMSG_PLAY_OBJECT_SOUND", // SMSG_PLAY_OBJECT_SOUND + "CMSG_REQUEST_PET_INFO", // CMSG_REQUEST_PET_INFO + "CMSG_FAR_SIGHT", // CMSG_FAR_SIGHT + "SMSG_SPELLDISPELLOG", // SMSG_SPELLDISPELLOG + "SMSG_DAMAGE_CALC_LOG", // SMSG_DAMAGE_CALC_LOG + "CMSG_ENABLE_DAMAGE_LOG", // CMSG_ENABLE_DAMAGE_LOG + "CMSG_GROUP_CHANGE_SUB_GROUP", // CMSG_GROUP_CHANGE_SUB_GROUP + "CMSG_REQUEST_PARTY_MEMBER_STATS", // CMSG_REQUEST_PARTY_MEMBER_STATS + "CMSG_GROUP_SWAP_SUB_GROUP", // CMSG_GROUP_SWAP_SUB_GROUP + "CMSG_RESET_FACTION_CHEAT", // CMSG_RESET_FACTION_CHEAT + "CMSG_AUTOSTORE_BANK_ITEM", // CMSG_AUTOSTORE_BANK_ITEM + "CMSG_AUTOBANK_ITEM", // CMSG_AUTOBANK_ITEM + "MSG_QUERY_NEXT_MAIL_TIME", // MSG_QUERY_NEXT_MAIL_TIME + "SMSG_RECEIVED_MAIL", // SMSG_RECEIVED_MAIL + "SMSG_RAID_GROUP_ONLY", // SMSG_RAID_GROUP_ONLY + "CMSG_SET_DURABILITY_CHEAT", // CMSG_SET_DURABILITY_CHEAT + "CMSG_SET_PVP_RANK_CHEAT", // CMSG_SET_PVP_RANK_CHEAT + "CMSG_ADD_PVP_MEDAL_CHEAT", // CMSG_ADD_PVP_MEDAL_CHEAT + "CMSG_DEL_PVP_MEDAL_CHEAT", // CMSG_DEL_PVP_MEDAL_CHEAT + "CMSG_SET_PVP_TITLE", // CMSG_SET_PVP_TITLE + "SMSG_PVP_CREDIT", // SMSG_PVP_CREDIT + "SMSG_AUCTION_REMOVED_NOTIFICATION", // SMSG_AUCTION_REMOVED_NOTIFICATION + "CMSG_GROUP_RAID_CONVERT", // CMSG_GROUP_RAID_CONVERT + "CMSG_GROUP_ASSISTANT", // CMSG_GROUP_ASSISTANT + "CMSG_BUYBACK_ITEM", // CMSG_BUYBACK_ITEM + "SMSG_SERVER_MESSAGE", // SMSG_SERVER_MESSAGE + "CMSG_MEETINGSTONE_JOIN", // CMSG_MEETINGSTONE_JOIN + "CMSG_MEETINGSTONE_LEAVE", // CMSG_MEETINGSTONE_LEAVE + "CMSG_MEETINGSTONE_CHEAT", // CMSG_MEETINGSTONE_CHEAT + "SMSG_MEETINGSTONE_SETQUEUE", // SMSG_MEETINGSTONE_SETQUEUE + "CMSG_MEETINGSTONE_INFO", // CMSG_MEETINGSTONE_INFO + "SMSG_MEETINGSTONE_COMPLETE", // SMSG_MEETINGSTONE_COMPLETE + "SMSG_MEETINGSTONE_IN_PROGRESS", // SMSG_MEETINGSTONE_IN_PROGRESS + "SMSG_MEETINGSTONE_MEMBER_ADDED", // SMSG_MEETINGSTONE_MEMBER_ADDED + "CMSG_GMTICKETSYSTEM_TOGGLE", // CMSG_GMTICKETSYSTEM_TOGGLE + "CMSG_CANCEL_GROWTH_AURA", // CMSG_CANCEL_GROWTH_AURA + "SMSG_CANCEL_AUTO_REPEAT", // SMSG_CANCEL_AUTO_REPEAT + "SMSG_STANDSTATE_CHANGE_ACK", // SMSG_STANDSTATE_CHANGE_ACK + "SMSG_LOOT_ALL_PASSED", // SMSG_LOOT_ALL_PASSED + "SMSG_LOOT_ROLL_WON", // SMSG_LOOT_ROLL_WON + "CMSG_LOOT_ROLL", // CMSG_LOOT_ROLL + "SMSG_LOOT_START_ROLL", // SMSG_LOOT_START_ROLL + "SMSG_LOOT_ROLL", // SMSG_LOOT_ROLL + "CMSG_LOOT_MASTER_GIVE", // CMSG_LOOT_MASTER_GIVE + "SMSG_LOOT_MASTER_LIST", // SMSG_LOOT_MASTER_LIST + "SMSG_SET_FORCED_REACTIONS", // SMSG_SET_FORCED_REACTIONS + "SMSG_SPELL_FAILED_OTHER", // SMSG_SPELL_FAILED_OTHER + "SMSG_GAMEOBJECT_RESET_STATE", // SMSG_GAMEOBJECT_RESET_STATE + "CMSG_REPAIR_ITEM", // CMSG_REPAIR_ITEM + "SMSG_CHAT_PLAYER_NOT_FOUND", // SMSG_CHAT_PLAYER_NOT_FOUND + "MSG_TALENT_WIPE_CONFIRM", // MSG_TALENT_WIPE_CONFIRM + "SMSG_SUMMON_REQUEST", // SMSG_SUMMON_REQUEST + "CMSG_SUMMON_RESPONSE", // CMSG_SUMMON_RESPONSE + "MSG_MOVE_TOGGLE_GRAVITY_CHEAT", // MSG_MOVE_TOGGLE_GRAVITY_CHEAT + "SMSG_MONSTER_MOVE_TRANSPORT", // SMSG_MONSTER_MOVE_TRANSPORT + "SMSG_PET_BROKEN", // SMSG_PET_BROKEN + "MSG_MOVE_FEATHER_FALL", // MSG_MOVE_FEATHER_FALL + "MSG_MOVE_WATER_WALK", // MSG_MOVE_WATER_WALK + "CMSG_SERVER_BROADCAST", // CMSG_SERVER_BROADCAST + "CMSG_SELF_RES", // CMSG_SELF_RES + "SMSG_FEIGN_DEATH_RESISTED", // SMSG_FEIGN_DEATH_RESISTED + "CMSG_RUN_SCRIPT", // CMSG_RUN_SCRIPT + "SMSG_SCRIPT_MESSAGE", // SMSG_SCRIPT_MESSAGE + "SMSG_DUEL_COUNTDOWN", // SMSG_DUEL_COUNTDOWN + "SMSG_AREA_TRIGGER_MESSAGE", // SMSG_AREA_TRIGGER_MESSAGE + "CMSG_TOGGLE_HELM", // CMSG_TOGGLE_HELM + "CMSG_TOGGLE_CLOAK", // CMSG_TOGGLE_CLOAK + "SMSG_MEETINGSTONE_JOINFAILED", // SMSG_MEETINGSTONE_JOINFAILED + "SMSG_PLAYER_SKINNED", // SMSG_PLAYER_SKINNED + "SMSG_DURABILITY_DAMAGE_DEATH", // SMSG_DURABILITY_DAMAGE_DEATH + "CMSG_SET_EXPLORATION", // CMSG_SET_EXPLORATION + "CMSG_SET_ACTIONBAR_TOGGLES", // CMSG_SET_ACTIONBAR_TOGGLES + "UMSG_DELETE_GUILD_CHARTER", // UMSG_DELETE_GUILD_CHARTER + "MSG_PETITION_RENAME", // MSG_PETITION_RENAME + "SMSG_INIT_WORLD_STATES", // SMSG_INIT_WORLD_STATES + "SMSG_UPDATE_WORLD_STATE", // SMSG_UPDATE_WORLD_STATE + "CMSG_ITEM_NAME_QUERY", // CMSG_ITEM_NAME_QUERY + "SMSG_ITEM_NAME_QUERY_RESPONSE", // SMSG_ITEM_NAME_QUERY_RESPONSE + "SMSG_PET_ACTION_FEEDBACK", // SMSG_PET_ACTION_FEEDBACK + "CMSG_CHAR_RENAME", // CMSG_CHAR_RENAME + "SMSG_CHAR_RENAME", // SMSG_CHAR_RENAME + "CMSG_MOVE_SPLINE_DONE", // CMSG_MOVE_SPLINE_DONE + "CMSG_MOVE_FALL_RESET", // CMSG_MOVE_FALL_RESET + "SMSG_INSTANCE_SAVE_CREATED", // SMSG_INSTANCE_SAVE_CREATED + "SMSG_RAID_INSTANCE_INFO", // SMSG_RAID_INSTANCE_INFO + "CMSG_REQUEST_RAID_INFO", // CMSG_REQUEST_RAID_INFO + "CMSG_MOVE_TIME_SKIPPED", // CMSG_MOVE_TIME_SKIPPED + "CMSG_MOVE_FEATHER_FALL_ACK", // CMSG_MOVE_FEATHER_FALL_ACK + "CMSG_MOVE_WATER_WALK_ACK", // CMSG_MOVE_WATER_WALK_ACK + "CMSG_MOVE_NOT_ACTIVE_MOVER", // CMSG_MOVE_NOT_ACTIVE_MOVER + "SMSG_PLAY_SOUND", // SMSG_PLAY_SOUND + "CMSG_BATTLEFIELD_STATUS", // CMSG_BATTLEFIELD_STATUS + "SMSG_BATTLEFIELD_STATUS", // SMSG_BATTLEFIELD_STATUS + "CMSG_BATTLEFIELD_PORT", // CMSG_BATTLEFIELD_PORT + "MSG_INSPECT_HONOR_STATS", // MSG_INSPECT_HONOR_STATS + "CMSG_BATTLEMASTER_HELLO", // CMSG_BATTLEMASTER_HELLO + "CMSG_MOVE_START_SWIM_CHEAT", // CMSG_MOVE_START_SWIM_CHEAT + "CMSG_MOVE_STOP_SWIM_CHEAT", // CMSG_MOVE_STOP_SWIM_CHEAT + "SMSG_FORCE_WALK_SPEED_CHANGE", // SMSG_FORCE_WALK_SPEED_CHANGE + "CMSG_FORCE_WALK_SPEED_CHANGE_ACK", // CMSG_FORCE_WALK_SPEED_CHANGE_ACK + "SMSG_FORCE_SWIM_BACK_SPEED_CHANGE", // SMSG_FORCE_SWIM_BACK_SPEED_CHANGE + "CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK", // CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK + "SMSG_FORCE_TURN_RATE_CHANGE", // SMSG_FORCE_TURN_RATE_CHANGE + "CMSG_FORCE_TURN_RATE_CHANGE_ACK", // CMSG_FORCE_TURN_RATE_CHANGE_ACK + "MSG_PVP_LOG_DATA", // MSG_PVP_LOG_DATA + "CMSG_LEAVE_BATTLEFIELD", // CMSG_LEAVE_BATTLEFIELD + "CMSG_AREA_SPIRIT_HEALER_QUERY", // CMSG_AREA_SPIRIT_HEALER_QUERY + "CMSG_AREA_SPIRIT_HEALER_QUEUE", // CMSG_AREA_SPIRIT_HEALER_QUEUE + "SMSG_AREA_SPIRIT_HEALER_TIME", // SMSG_AREA_SPIRIT_HEALER_TIME + "CMSG_GM_UNTEACH", // CMSG_GM_UNTEACH + "SMSG_WARDEN_DATA", // SMSG_WARDEN_DATA + "CMSG_WARDEN_DATA", // CMSG_WARDEN_DATA + "SMSG_GROUP_JOINED_BATTLEGROUND", // SMSG_GROUP_JOINED_BATTLEGROUND + "MSG_BATTLEGROUND_PLAYER_POSITIONS", // MSG_BATTLEGROUND_PLAYER_POSITIONS + "CMSG_PET_STOP_ATTACK", // CMSG_PET_STOP_ATTACK + "SMSG_BINDER_CONFIRM", // SMSG_BINDER_CONFIRM + "SMSG_BATTLEGROUND_PLAYER_JOINED", // SMSG_BATTLEGROUND_PLAYER_JOINED + "SMSG_BATTLEGROUND_PLAYER_LEFT", // SMSG_BATTLEGROUND_PLAYER_LEFT + "CMSG_BATTLEMASTER_JOIN", // CMSG_BATTLEMASTER_JOIN + "SMSG_ADDON_INFO", // SMSG_ADDON_INFO + "CMSG_PET_UNLEARN", // CMSG_PET_UNLEARN + "SMSG_PET_UNLEARN_CONFIRM", // SMSG_PET_UNLEARN_CONFIRM + "SMSG_PARTY_MEMBER_STATS_FULL", // SMSG_PARTY_MEMBER_STATS_FULL + "CMSG_PET_SPELL_AUTOCAST", // CMSG_PET_SPELL_AUTOCAST + "SMSG_WEATHER", // SMSG_WEATHER + "SMSG_PLAY_TIME_WARNING", // SMSG_PLAY_TIME_WARNING + "SMSG_MINIGAME_SETUP", // SMSG_MINIGAME_SETUP + "SMSG_MINIGAME_STATE", // SMSG_MINIGAME_STATE + "CMSG_MINIGAME_MOVE", // CMSG_MINIGAME_MOVE + "SMSG_MINIGAME_MOVE_FAILED", // SMSG_MINIGAME_MOVE_FAILED + "SMSG_INSTANCE_RESET_SCHEDULED", // SMSG_INSTANCE_RESET_SCHEDULED + "SMSG_COMPRESSED_MOVE", // SMSG_COMPRESSED_MOVE + "CMSG_GUILD_CHANGEINFO", // CMSG_GUILD_CHANGEINFO + "SMSG_TRIAL_RESTRICTED", // SMSG_TRIAL_RESTRICTED + "SMSG_SET_MOVE_SPEED", // SMSG_SET_MOVE_SPEED + "SMSG_SET_RUN_BACK_SPEED", // SMSG_SET_RUN_BACK_SPEED + "SMSG_SET_SWIM_SPEED", // SMSG_SET_SWIM_SPEED + "UMSG_UNKNOWN_769", // UMSG_UNKNOWN_769 + "SMSG_SET_SWIM_BACK_SPEED", // SMSG_SET_SWIM_BACK_SPEED + "SMSG_SET_TURN_RATE", // SMSG_SET_TURN_RATE + "SMSG_UNKNOWN_772", // SMSG_UNKNOWN_772 + "SMSG_UNKNOWN_773", // SMSG_UNKNOWN_773 + "SMSG_UNKNOWN_774", // SMSG_UNKNOWN_774 + "SMSG_UNKNOWN_775", // SMSG_UNKNOWN_775 + "SMSG_UNKNOWN_776", // SMSG_UNKNOWN_776 + "SMSG_MOVE_SET_WATERWALK", // SMSG_MOVE_SET_WATERWALK + "SMSG_MOVE_STOP_WATERWALK", // SMSG_MOVE_STOP_WATERWALK + "SMSG_UNKNOWN_779", // SMSG_UNKNOWN_779 + "SMSG_UNKNOWN_780", // SMSG_UNKNOWN_780 + "SMSG_MOVE_STOP_WALK", // SMSG_MOVE_STOP_WALK + "SMSG_MOVE_START_WALK", // SMSG_MOVE_START_WALK + "UMSG_UNKNOWN_783", // UMSG_UNKNOWN_783 + "UMSG_UNKNOWN_784", // UMSG_UNKNOWN_784 + "UMSG_UNKNOWN_785", // UMSG_UNKNOWN_785 + "CMSG_ACTIVATETAXI_FAR", // CMSG_ACTIVATETAXI_FAR + "UMSG_UNKNOWN_787", // UMSG_UNKNOWN_787 + "UMSG_UNKNOWN_788", // UMSG_UNKNOWN_788 + "UMSG_UNKNOWN_789", // UMSG_UNKNOWN_789 + "UMSG_UNKNOWN_790", // UMSG_UNKNOWN_790 + "CMSG_FIELD_WATCHED_FACTION_INACTIVE", // CMSG_FIELD_WATCHED_FACTION_INACTIVE + "CMSG_FIELD_WATCHED_FACTION_SHOW_BAR", // CMSG_FIELD_WATCHED_FACTION_SHOW_BAR + "SMSG_UNKNOWN_793", // SMSG_UNKNOWN_793 + "SMSG_UNKNOWN_794", // SMSG_UNKNOWN_794 + "UMSG_UNKNOWN_795", // UMSG_UNKNOWN_795 + "SMSG_UNKNOWN_796", // SMSG_UNKNOWN_796 + "CMSG_RESET_INSTANCES", // CMSG_RESET_INSTANCES + "SMSG_RESET_INSTANCES_SUCCESS", // SMSG_RESET_INSTANCES_SUCCESS + "SMSG_RESET_INSTANCES_FAILED", // SMSG_RESET_INSTANCES_FAILED + "SMSG_UNKNOWN_800", // SMSG_UNKNOWN_800 + "MSG_RAID_ICON_TARGET", // MSG_RAID_ICON_TARGET + "MSG_RAID_READY_CHECK", // MSG_RAID_READY_CHECK + "UMSG_UNKNOWN_803", // UMSG_UNKNOWN_803 + "SMSG_AI_UNKNOWN", // SMSG_AI_UNKNOWN + "SMSG_UNKNOWN_805", // SMSG_UNKNOWN_805 + "UMSG_UNKNOWN_806", // UMSG_UNKNOWN_806 + "UMSG_UNKNOWN_807", // UMSG_UNKNOWN_807 + "SMSG_GM_SURVEY_REQUEST", // SMSG_GM_SURVEY_REQUEST + "MSG_SET_DUNGEON_DIFFICULTY", // MSG_SET_DUNGEON_DIFFICULTY + "CMSG_GM_SURVEY_RESULTS", // CMSG_GM_SURVEY_RESULTS + "SMSG_UNKNOWN_811", // SMSG_UNKNOWN_811 + "UMSG_UNKNOWN_812", // UMSG_UNKNOWN_812 + "UMSG_UNKNOWN_813", // UMSG_UNKNOWN_813 + "UMSG_UNKNOWN_814", // UMSG_UNKNOWN_814 + "SMSG_SPELL_INSTA_KILL_SELF", // SMSG_SPELL_INSTA_KILL_SELF + "SMSG_UNKNOWN_816", // SMSG_UNKNOWN_816 + "UMSG_UNKNOWN_817", // UMSG_UNKNOWN_817 + "SMSG_ANTISPAM", // SMSG_ANTISPAM + "UMSG_UNKNOWN_819", // UMSG_UNKNOWN_819 + "UMSG_UNKNOWN_820", // UMSG_UNKNOWN_820 + "UMSG_UNKNOWN_821", // UMSG_UNKNOWN_821 + "UMSG_UNKNOWN_822", // UMSG_UNKNOWN_822 + "UMSG_UNKNOWN_823", // UMSG_UNKNOWN_823 + "UMSG_UNKNOWN_824", // UMSG_UNKNOWN_824 + "UMSG_UNKNOWN_825", // UMSG_UNKNOWN_825 + "SMSG_OUTDOORPVP_NOTIFY", // SMSG_OUTDOORPVP_NOTIFY + "UMSG_UNKNOWN_827", // UMSG_UNKNOWN_827 + "UMSG_UNKNOWN_828", // UMSG_UNKNOWN_828 + "SMSG_MOTD", // SMSG_MOTD + "UMSG_UNKNOWN_830", // UMSG_UNKNOWN_830 + "UMSG_UNKNOWN_831", // UMSG_UNKNOWN_831 + "UMSG_UNKNOWN_832", // UMSG_UNKNOWN_832 + "SMSG_UNKNOWN_833", // SMSG_UNKNOWN_833 + "SMSG_UNKNOWN_834", // SMSG_UNKNOWN_834 + "SMSG_FLY_MODE_START", // SMSG_FLY_MODE_START + "SMSG_FLY_MODE_STOP", // SMSG_FLY_MODE_STOP + "CMSG_MOVE_FLY_MODE_CHANGE_ACK", // CMSG_MOVE_FLY_MODE_CHANGE_ACK + "MSG_MOVE_FLY_STATE_CHANGE", // MSG_MOVE_FLY_STATE_CHANGE + "CMSG_SOCKET_ITEM", // CMSG_SOCKET_ITEM + "UMSG_UNKNOWN_840, CMSG?", // UMSG_UNKNOWN_840, CMSG? + "SMSG_ARENA_TEAM_COMMAND_RESULT", // SMSG_ARENA_TEAM_COMMAND_RESULT + "UMSG_UNKNOWN_842", // UMSG_UNKNOWN_842 + "CMSG_ARENA_TEAM_QUERY", // CMSG_ARENA_TEAM_QUERY + "SMSG_ARENA_TEAM_QUERY_RESPONSE", // SMSG_ARENA_TEAM_QUERY_RESPONSE + "CMSG_ARENA_TEAM_ROSTER", // CMSG_ARENA_TEAM_ROSTER + "SMSG_ARENA_TEAM_ROSTER", // SMSG_ARENA_TEAM_ROSTER + "CMSG_ARENA_TEAM_INVITE_BYNAME", // CMSG_ARENA_TEAM_INVITE_BYNAME + "SMSG_ARENA_TEAM_INVITE", // SMSG_ARENA_TEAM_INVITE + "CMSG_ARENA_TEAM_ACCEPT", // CMSG_ARENA_TEAM_ACCEPT + "CMSG_ARENA_TEAM_DECLINE", // CMSG_ARENA_TEAM_DECLINE + "CMSG_ARENA_TEAM_LEAVE", // CMSG_ARENA_TEAM_LEAVE + "CMSG_ARENA_TEAM_UNINVITE_BYNAME", // CMSG_ARENA_TEAM_UNINVITE_BYNAME + "CMSG_ARENA_TEAM_DISBAND", // CMSG_ARENA_TEAM_DISBAND + "CMSG_ARENA_TEAM_SET_LEADER_BYNAME", // CMSG_ARENA_TEAM_SET_LEADER_BYNAME + "SMSG_ARENA_TEAM_EVENT", // SMSG_ARENA_TEAM_EVENT + "CMSG_ARENAMASTER_JOIN", // CMSG_ARENAMASTER_JOIN + "MSG_MOVE_START_FLY_UP", // MSG_MOVE_START_FLY_UP + "MSG_MOVE_STOP_FLY_UP", // MSG_MOVE_STOP_FLY_UP + "SMSG_ARENA_TEAM_STATS", // SMSG_ARENA_TEAM_STATS + "CMSG_LFG_SET_AUTOJOIN", // CMSG_LFG_SET_AUTOJOIN + "CMSG_LFG_UNSET_AUTOJOIN", // CMSG_LFG_UNSET_AUTOJOIN + "CMSG_LFM_SET_AUTOADD", // CMSG_LFM_SET_AUTOADD + "CMSG_LFM_UNSET_AUTOADD", // CMSG_LFM_UNSET_AUTOADD + "CMSG_LFG_INVITE_ACCEPT", // CMSG_LFG_INVITE_ACCEPT + "CMSG_LFG_INVITE_CANCEL", // CMSG_LFG_INVITE_CANCEL + "UMSG_UNKNOWN_866", // UMSG_UNKNOWN_866 + "CMSG_LOOKING_FOR_GROUP_CLEAR", // CMSG_LOOKING_FOR_GROUP_CLEAR + "CMSG_SET_LOOKING_FOR_NONE", // CMSG_SET_LOOKING_FOR_NONE + "CMSG_SET_LOOKING_FOR_MORE", // CMSG_SET_LOOKING_FOR_MORE + "CMSG_SET_COMMENTARY", // CMSG_SET_COMMENTARY + "SMSG_LFG_MATCHMAKING_TIMEDOUT", // SMSG_LFG_MATCHMAKING_TIMEDOUT + "SMSG_LFG_MATCHMAKING_OTHER_TIMEDOUT", // SMSG_LFG_MATCHMAKING_OTHER_TIMEDOUT + "SMSG_LFG_MATCHMAKING_AUTOJOIN_FAILED", // SMSG_LFG_MATCHMAKING_AUTOJOIN_FAILED + "SMSG_LFG_MATCHMAKING_AUTOJOIN_FAILED_NO_PLAYER", // SMSG_LFG_MATCHMAKING_AUTOJOIN_FAILED_NO_PLAYER + "UMSG_UNKNOWN_875", // UMSG_UNKNOWN_875 + "SMSG_LFG_876", // SMSG_LFG_876 + "SMSG_LFG_877", // SMSG_LFG_877 + "SMSG_LFG_878", // SMSG_LFG_878 + "SMSG_LFG_879", // SMSG_LFG_879 + "SMSG_LFG_MATCHMAKING_PENDING_INVITE", // SMSG_LFG_MATCHMAKING_PENDING_INVITE + "SMSG_LFG_MATCHMAKING_PENDING_MATCH", // SMSG_LFG_MATCHMAKING_PENDING_MATCH + "UMSG_UNKNOWN_882", // UMSG_UNKNOWN_882 + "SMSG_CHANGE_TITLE", // SMSG_CHANGE_TITLE + "CMSG_CHOOSE_TITLE", // CMSG_CHOOSE_TITLE + "CMSG_DISMOUNT", // CMSG_DISMOUNT + "SMSG_ARENA_NO_TEAM", // SMSG_ARENA_NO_TEAM + "MSG_INSPECT_ARENA_STATS", // MSG_INSPECT_ARENA_STATS + "SMSG_SH_POSITION", // SMSG_SH_POSITION + "CMSG_CANCEL_TEMP_ITEM_ENCHANTMENT", // CMSG_CANCEL_TEMP_ITEM_ENCHANTMENT + "UMSG_UNKNOWN_890", // UMSG_UNKNOWN_890 + "UMSG_UNKNOWN_891", // UMSG_UNKNOWN_891 + "UMSG_UNKNOWN_892", // UMSG_UNKNOWN_892 + "UMSG_UNKNOWN_893", // UMSG_UNKNOWN_893 + "MSG_MOVE_SET_FLY_SPEED", // MSG_MOVE_SET_FLY_SPEED + "UMSG_UNKNOWN_895", // UMSG_UNKNOWN_895 + "MSG_MOVE_SET_FLY_BACK_SPEED", // MSG_MOVE_SET_FLY_BACK_SPEED + "SMSG_FORCE_FLY_SPEED_CHANGE", // SMSG_FORCE_FLY_SPEED_CHANGE + "CMSG_FORCE_FLY_SPEED_CHANGE_ACK", // CMSG_FORCE_FLY_SPEED_CHANGE_ACK + "SMSG_FORCE_FLY_BACK_SPEED_CHANGE", // SMSG_FORCE_FLY_BACK_SPEED_CHANGE + "CMSG_FORCE_FLY_BACK_SPEED_CHANGE_ACK", // CMSG_FORCE_FLY_BACK_SPEED_CHANGE_ACK + "MSG_MOVE_SET_FLY_SPEED2", // MSG_MOVE_SET_FLY_SPEED2 + "SMSG_MOVE_SET_FLY_BACK_SPEED2", // SMSG_MOVE_SET_FLY_BACK_SPEED2 + "UMSG_UNKNOWN_903", // UMSG_UNKNOWN_903 + "SMSG_FLIGHT_SPLINE_SYNC", // SMSG_FLIGHT_SPLINE_SYNC + "CMSG_SET_TAXI_BENCHMARK_MODE", // CMSG_SET_TAXI_BENCHMARK_MODE + "UMSG_UNKNOWN_906", // UMSG_UNKNOWN_906 + "SMSG_REALM_SPLIT_INFO_RESPONSE", // SMSG_REALM_SPLIT_INFO_RESPONSE + "CMSG_REALM_SPLIT_INFO_REQUEST", // CMSG_REALM_SPLIT_INFO_REQUEST + "MSG_MOVE_SHIP_909", // MSG_MOVE_SHIP_909 + "CMSG_GROUP_PROMOTE", // CMSG_GROUP_PROMOTE + "SMSG_ALREADY_IN_ARENA_TEAM", // SMSG_ALREADY_IN_ARENA_TEAM + "SMSG_ALLOW_MOVE", // SMSG_ALLOW_MOVE + "CMSG_ALLOW_MOVE_ACK", // CMSG_ALLOW_MOVE_ACK + "UMSG_UNKNOWN_914", // UMSG_UNKNOWN_914 + "UMSG_UNKNOWN_915", // UMSG_UNKNOWN_915 + "UMSG_UNKNOWN_916", // UMSG_UNKNOWN_916 + "UMSG_UNKNOWN_917", // UMSG_UNKNOWN_917 + "SMSG_RESET_INSTANCE_FAILED_NOTIFY", // SMSG_RESET_INSTANCE_FAILED_NOTIFY + "SMSG_UNKNOWN_919", // SMSG_UNKNOWN_919 + "SMSG_SYSTEM_DISABLED", // SMSG_SYSTEM_DISABLED + "UMSG_UNKNOWN_921", // UMSG_UNKNOWN_921 + "UMSG_UNKNOWN_922", // UMSG_UNKNOWN_922 + "UMSG_UNKNOWN_923", // UMSG_UNKNOWN_923 + "UMSG_UNKNOWN_924", // UMSG_UNKNOWN_924 + "SMSG_SET_COMBO_POINTS", // SMSG_SET_COMBO_POINTS + "SMSG_VOICE_SESSION", // SMSG_VOICE_SESSION + "SMSG_UNKNOWN_927", // SMSG_UNKNOWN_927 + "UMSG_UNKNOWN_928", // UMSG_UNKNOWN_928 + "UMSG_UNKNOWN_929", // UMSG_UNKNOWN_929 + "UMSG_UNKNOWN_930", // UMSG_UNKNOWN_930 + "SMSG_SET_AURA_MULTIPLY", // SMSG_SET_AURA_MULTIPLY + "SMSG_SET_AURA_SINGLE", // SMSG_SET_AURA_SINGLE + "UMSG_UNKNOWN_933", // UMSG_UNKNOWN_933 + "SMSG_CAST_SUCCESS", // SMSG_CAST_SUCCESS + "MSG_UNKNOWN_935", // MSG_UNKNOWN_935 + "UMSG_UNKNOWN_936", // UMSG_UNKNOWN_936 + "UMSG_UNKNOWN_937", // UMSG_UNKNOWN_937 + "SMSG_UNKNOWN_938", // SMSG_UNKNOWN_938 + "UMSG_UNKNOWN_939", // UMSG_UNKNOWN_939 + "SMSG_UNKNOWN_940", // SMSG_UNKNOWN_940 + "SMSG_UNKNOWN_941", // SMSG_UNKNOWN_941 + "SMSG_READY_CHECK_ALL_READY", // SMSG_READY_CHECK_ALL_READY + "CMSG_VOICE_SETTINGS", // CMSG_VOICE_SETTINGS + "SMSG_VOICE_CHAT_PARENTAL_DISABLE_ALL", // SMSG_VOICE_CHAT_PARENTAL_DISABLE_ALL + "UMSG_UNKNOWN_945", // UMSG_UNKNOWN_945 + "UMSG_UNKNOWN_946", // UMSG_UNKNOWN_946 + "UMSG_UNKNOWN_947", // UMSG_UNKNOWN_947 + "CMSG_COMMENTATOR_SET_MODE", // CMSG_COMMENTATOR_SET_MODE + "UMSG_UNKNOWN_949", // UMSG_UNKNOWN_949 + "CMSG_COMMENTATOR_UPDATE_MAP_INFO", // CMSG_COMMENTATOR_UPDATE_MAP_INFO + "UMSG_UNKNOWN_951", // UMSG_UNKNOWN_951 + "CMSG_COMMENTATOR_UPDATE_PLAYER_INFO", // CMSG_COMMENTATOR_UPDATE_PLAYER_INFO + "CMSG_UNKNOWN_953", // CMSG_UNKNOWN_953 + "UMSG_UNKNOWN_954", // UMSG_UNKNOWN_954 + "UMSG_UNKNOWN_955", // UMSG_UNKNOWN_955 + "UMSG_UNKNOWN_956", // UMSG_UNKNOWN_956 + "CMSG_COMMENTATOR_EXIT_INSTANCE", // CMSG_COMMENTATOR_EXIT_INSTANCE + "UMSG_UNKNOWN_958", // UMSG_UNKNOWN_958 + "UMSG_UNKNOWN_959", // UMSG_UNKNOWN_959 + "SMSG_UNKNOWN_960", // SMSG_UNKNOWN_960 + "UMSG_UNKNOWN_961", // UMSG_UNKNOWN_961 + "UMSG_UNKNOWN_962", // UMSG_UNKNOWN_962 + "UMSG_UNKNOWN_963", // UMSG_UNKNOWN_963 + "UMSG_UNKNOWN_964", // UMSG_UNKNOWN_964 + "UMSG_UNKNOWN_965", // UMSG_UNKNOWN_965 + "CMSG_COMPLAINT_CHAT", // CMSG_COMPLAINT_CHAT + "SMSG_COMPLAINT_ADDED", // SMSG_COMPLAINT_ADDED + "SMSG_VOICE_SYSTEM_STATUS", // SMSG_VOICE_SYSTEM_STATUS + "UMSG_UNKNOWN_969", // UMSG_UNKNOWN_969 + "UMSG_UNKNOWN_970", // UMSG_UNKNOWN_970 + "CMSG_CHANNEL_SILENT_VOICE", // CMSG_CHANNEL_SILENT_VOICE + "CMSG_CHANNEL_SILENT_ALL", // CMSG_CHANNEL_SILENT_ALL + "CMSG_CHANNEL_UNSILENT_VOICE", // CMSG_CHANNEL_UNSILENT_VOICE + "CMSG_CHANNEL_UNSILENT_ALL", // CMSG_CHANNEL_UNSILENT_ALL + "UMSG_UNKNOWN_975", // UMSG_UNKNOWN_975 + "UMSG_UNKNOWN_976", // UMSG_UNKNOWN_976 + "CMSG_CHANNEL_ROSTER_QUERY", // CMSG_CHANNEL_ROSTER_QUERY + "CMSG_CHANNEL_VOICE_CHAT_QUERY", // CMSG_CHANNEL_VOICE_CHAT_QUERY + "CMSG_CHANNEL_INFO_QUERY", // CMSG_CHANNEL_INFO_QUERY + "SMSG_CHANNEL_INFO_QUERY_RESPONSE", // SMSG_CHANNEL_INFO_QUERY_RESPONSE + "CMSG_CHANNEL_VOICE_ON", // CMSG_CHANNEL_VOICE_ON + "CMSG_CHANNEL_VOICE_OFF", // CMSG_CHANNEL_VOICE_OFF + "UMSG_UNKNOWN_983", // UMSG_UNKNOWN_983 + "UMSG_UNKNOWN_984", // UMSG_UNKNOWN_984 + "SMSG_CHANNEL_NOTIFY_AVAILABLE_VOICE_SESSION", // SMSG_CHANNEL_NOTIFY_AVAILABLE_VOICE_SESSION + "CMSG_MUTE_PLAYER", // CMSG_MUTE_PLAYER + "CMSG_UNMUTE_PLAYER", // CMSG_UNMUTE_PLAYER + "CMSG_SILENCE_MEMBER", // CMSG_SILENCE_MEMBER + "CMSG_UNSILENCE_MEMBER", // CMSG_UNSILENCE_MEMBER + "SMSG_PLAYER_UNSILENCED", // SMSG_PLAYER_UNSILENCED + "SMSG_COMSAT_RECONNECT_ATTEMPT", // SMSG_COMSAT_RECONNECT_ATTEMPT + "SMSG_COMSAT_DISCONNECT", // SMSG_COMSAT_DISCONNECT + "SMSG_COMSAT_CONNECT_FAIL", // SMSG_COMSAT_CONNECT_FAIL + "UMSG_UNKNOWN_994", // UMSG_UNKNOWN_994 + "UMSG_UNKNOWN_995", // UMSG_UNKNOWN_995 + "UMSG_UNKNOWN_996", // UMSG_UNKNOWN_996 + "CMSG_GUILD_BANK", // CMSG_GUILD_BANK + "CMSG_GUILDBANK_TAB_COLON", // CMSG_GUILDBANK_TAB_COLON + "SMSG_GUILD_BANK_LIST", // SMSG_GUILD_BANK_LIST + "CMSG_UNKNOWN_1000", // CMSG_UNKNOWN_1000 + "CMSG_BUY_GUILDBANK_TAB", // CMSG_BUY_GUILDBANK_TAB + "UMSG_UNKNOWN_1002", // UMSG_UNKNOWN_1002 + "CMSG_GUILDBANK_DEPOSIT", // CMSG_GUILDBANK_DEPOSIT + "CMSG_GUILDBANK_WITHDRAW", // CMSG_GUILDBANK_WITHDRAW + "MSG_GUILDBANK_LOG", // MSG_GUILDBANK_LOG + "CMSG_CHANNEL_WATCH", // CMSG_CHANNEL_WATCH + "SMSG_PLAYER_JOINED_CHANNEL", // SMSG_PLAYER_JOINED_CHANNEL + "SMSG_PLAYER_LEFT_CHANNEL", // SMSG_PLAYER_LEFT_CHANNEL + "SMSG_PLAYER_JOINED_CUSTOM_CHANNEL", // SMSG_PLAYER_JOINED_CUSTOM_CHANNEL + "CMSG_CLEAR_CHANNEL_WATCH", // CMSG_CLEAR_CHANNEL_WATCH + "SMSG_INSPECT_TALENTS", // SMSG_INSPECT_TALENTS + "UMSG_UNKNOWN_1012", // UMSG_UNKNOWN_1012 + "UMSG_UNKNOWN_1013", // UMSG_UNKNOWN_1013 + "UMSG_UNKNOWN_1014", // UMSG_UNKNOWN_1014 + "CMSG_UNKNOWN_1015", // CMSG_UNKNOWN_1015 + "UMSG_UNKNOWN_1016", // UMSG_UNKNOWN_1016 + "UMSG_UNKNOWN_1017", // UMSG_UNKNOWN_1017 + "UMSG_UNKNOWN_1018", // UMSG_UNKNOWN_1018 + "SMSG_VOICESESSION_FULL", // SMSG_VOICESESSION_FULL + "MSG_UNKNOWN_1020", // MSG_UNKNOWN_1020 + "MSG_UNKNOWN_1021", // MSG_UNKNOWN_1021 + "MSG_GUILD_INFO_LOG", // MSG_GUILD_INFO_LOG + "" // last entry should be empty }; const char *GetOpcodeName(unsigned int id) diff --git a/src/Client/World/Opcodes.h b/src/Client/World/Opcodes.h index 3fffa39..8240f9a 100644 --- a/src/Client/World/Opcodes.h +++ b/src/Client/World/Opcodes.h @@ -50,8 +50,6 @@ enum OpCodes CMSG_DESTROYMONSTER = 18, CMSG_CREATEITEM = 19, CMSG_CREATEGAMEOBJECT = 20, - - //CMSG_MAKEMONSTERATTACKME = 21, //OBSOLETE CMSG_MAKEMONSTERATTACKME_OBSOLETE = 21, CMSG_MAKEMONSTERATTACKGUID = 22, CMSG_ENABLEDEBUGCOMBATLOGGING_OBSOLETE = 23, @@ -96,7 +94,7 @@ enum OpCodes SMSG_NEW_WORLD = 62, SMSG_TRANSFER_PENDING = 63, SMSG_TRANSFER_ABORTED = 64, - SMSG_CHARACTER_LOGIN_FAILED = 65, // kick client to character select screen and show "World server is down". + SMSG_CHARACTER_LOGIN_FAILED = 65, // kick client to character select screen and show "World server is down". SMSG_LOGIN_SETTIMESPEED = 66, SMSG_GAMETIME_UPDATE = 67, CMSG_GAMETIME_SET = 68, @@ -343,14 +341,12 @@ enum OpCodes SMSG_COOLDOWN_EVENT = 309, CMSG_CANCEL_AURA = 310, SMSG_UPDATE_AURA_DURATION = 311, - SMSG_PET_CAST_FAILED = 312, // Your pet is in combat + SMSG_PET_CAST_FAILED = 312, // Your pet is in combat MSG_CHANNEL_START = 313, MSG_CHANNEL_UPDATE = 314, CMSG_CANCEL_CHANNELLING = 315, - SMSG_AI_REACTION = 316, + SMSG_AI_REACTION = 316, // may be monser attack sound? CMSG_SET_SELECTION = 317, - - //CMSG_SET_TARGET = 318, //OBSOLETE CMSG_SET_TARGET_OBSOLETE = 318, CMSG_UNUSED = 319, CMSG_UNUSED2 = 320, @@ -399,21 +395,19 @@ enum OpCodes SMSG_DUEL_WINNER = 363, CMSG_DUEL_ACCEPTED = 364, CMSG_DUEL_CANCELLED = 365, - SMSG_MOUNTRESULT = 366, // 0 - can't mount that unit, 1 - mount too far away, 2 - already mounted, 3 - that unit can't be mounted, 4 - that mount is not our pet, 5 - unknown mount error, 6 - can't mount while looting, 7 - cant mount because your race, 8 - shapeshifted, 9 - you dismount before continuing - SMSG_DISMOUNTRESULT = 367, // 0 - int err, don't have pet to dismount, 1 - not mounted, 2 - int err, dismounting a non-pet + SMSG_MOUNTRESULT = 366, // 0 - can't mount that unit, 1 - mount too far away, 2 - already mounted, 3 - that unit can't be mounted, 4 - that mount is not our pet, 5 - unknown mount error, 6 - can't mount while looting, 7 - cant mount because your race, 8 - shapeshifted, 9 - you dismount before continuing + SMSG_DISMOUNTRESULT = 367, // 0 - int err, don't have pet to dismount, 1 - not mounted, 2 - int err, dismounting a non-pet SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 368, CMSG_MOUNTSPECIAL_ANIM = 369, SMSG_MOUNTSPECIAL_ANIM = 370, - SMSG_PET_TAME_FAILURE = 371, // uint32: 0 - Unknown taming error, 1 - Creature not found, 2 - too many pets, 3 - creature already controlled, 4 - creature not tameable, 5 - have active summon, 6 - can't tame, 7 - don't have pet to summon, 8 - internal pet error, 9 - high level, 10 - your pet is dead, 11 - your pet is not dead + SMSG_PET_TAME_FAILURE = 371, // uint32: 0 - Unknown taming error, 1 - Creature not found, 2 - too many pets, 3 - creature already controlled, 4 - creature not tameable, 5 - have active summon, 6 - can't tame, 7 - don't have pet to summon, 8 - internal pet error, 9 - high level, 10 - your pet is dead, 11 - your pet is not dead CMSG_PET_SET_ACTION = 372, CMSG_PET_ACTION = 373, CMSG_PET_ABANDON = 374, CMSG_PET_RENAME = 375, - SMSG_PET_NAME_INVALID = 376, // Error, invalid name entered. + SMSG_PET_NAME_INVALID = 376, // Error, invalid name entered. SMSG_PET_SPELLS = 377, - - //CMSG_PET_CAST_SPELL_OBSOLETE = 378, //OBSOLETE - SMSG_PET_MODE = 378, // uint64 pet_guid + uint32 flags? + SMSG_PET_MODE = 378, // uint64 pet_guid + uint32 flags? CMSG_GOSSIP_HELLO = 379, CMSG_GOSSIP_SELECT_OPTION = 380, SMSG_GOSSIP_MESSAGE = 381, @@ -473,7 +467,7 @@ enum OpCodes SMSG_TRAINER_BUY_SUCCEEDED = 435, SMSG_TRAINER_BUY_FAILED = 436, CMSG_BINDER_ACTIVATE = 437, - SMSG_PLAYERBINDERROR = 438, // You already bound there. + SMSG_PLAYERBINDERROR = 438, // You already bound there. CMSG_BANKER_ACTIVATE = 439, SMSG_SHOW_BANK = 440, CMSG_BUY_BANK_SLOT = 441, @@ -514,7 +508,7 @@ enum OpCodes CMSG_PING = 476, SMSG_PONG = 477, SMSG_CLEAR_COOLDOWN = 478, - SMSG_GAMEOBJECT_PAGETEXT = 479, // uint64 guid + SMSG_GAMEOBJECT_PAGETEXT = 479, // uint64 guid CMSG_SETSHEATHED = 480, SMSG_COOLDOWN_CHEAT = 481, SMSG_SPELL_DELAYED = 482, @@ -522,19 +516,15 @@ enum OpCodes SMSG_PLAYER_MACRO_OBSOLETE = 484, CMSG_GHOST = 485, CMSG_GM_INVIS = 486, - - //CMSG_SCREENSHOT = 487, //OBSOLETE - SMSG_INVALID_PROMOTION_CODE = 487, // Couldn't validate code, please try again. + SMSG_INVALID_PROMOTION_CODE = 487, // Couldn't validate code, please try again. MSG_GM_BIND_OTHER = 488, MSG_GM_SUMMON = 489, - SMSG_ITEM_TIME_UPDATE = 490, // uint64 guid + uint32 time + SMSG_ITEM_TIME_UPDATE = 490, // uint64 guid + uint32 time SMSG_ITEM_ENCHANT_TIME_UPDATE = 491, SMSG_AUTH_CHALLENGE = 492, CMSG_AUTH_SESSION = 493, SMSG_AUTH_RESPONSE = 494, MSG_GM_SHOWLABEL = 495, - - //MSG_ADD_DYNAMIC_TARGET = 496, //OBSOLETE MSG_ADD_DYNAMIC_TARGET_OBSOLETE = 496, MSG_SAVE_GUILD_EMBLEM = 497, MSG_TABARDVENDOR_ACTIVATE = 498, @@ -576,7 +566,7 @@ enum OpCodes MSG_CORPSE_QUERY = 534, CMSG_GMTICKET_DELETETICKET = 535, SMSG_GMTICKET_DELETETICKET = 536, - SMSG_CHAT_WRONG_FACTION = 537, // You can only whisper to the members of your alliance. + SMSG_CHAT_WRONG_FACTION = 537, // You can only whisper to the members of your alliance. CMSG_GMTICKET_SYSTEMSTATUS = 538, SMSG_GMTICKET_SYSTEMSTATUS = 539, CMSG_SPIRIT_HEALER_ACTIVATE = 540, @@ -634,8 +624,6 @@ enum OpCodes SMSG_SPELLNONMELEEDAMAGELOG = 592, CMSG_LEARN_TALENT = 593, SMSG_RESURRECT_FAILED = 594, - - //CMSG_ENABLE_PVP = 595, //OBSOLETE CMSG_TOGGLE_PVP = 595, SMSG_ZONE_UNDER_ATTACK = 596, MSG_AUCTION_HELLO = 597, @@ -680,8 +668,6 @@ enum OpCodes SMSG_DAMAGE_CALC_LOG = 636, CMSG_ENABLE_DAMAGE_LOG = 637, CMSG_GROUP_CHANGE_SUB_GROUP = 638, - - //SMSG_RAID_MEMBER_STATS = 639, //OBSOLETE CMSG_REQUEST_PARTY_MEMBER_STATS = 639, CMSG_GROUP_SWAP_SUB_GROUP = 640, CMSG_RESET_FACTION_CHEAT = 641, @@ -689,7 +675,7 @@ enum OpCodes CMSG_AUTOBANK_ITEM = 643, MSG_QUERY_NEXT_MAIL_TIME = 644, SMSG_RECEIVED_MAIL = 645, - SMSG_RAID_GROUP_ONLY = 646, // You are not in this instance group. You will be teleported to %s in %u Minites. uint32 time(milliseconds)+uint32 unk + SMSG_RAID_GROUP_ONLY = 646, // You are not in this instance group. You will be teleported to %s in %u Minites. uint32 time(milliseconds)+uint32 unk CMSG_SET_DURABILITY_CHEAT = 647, CMSG_SET_PVP_RANK_CHEAT = 648, CMSG_ADD_PVP_MEDAL_CHEAT = 649, @@ -704,11 +690,11 @@ enum OpCodes CMSG_MEETINGSTONE_JOIN = 658, CMSG_MEETINGSTONE_LEAVE = 659, CMSG_MEETINGSTONE_CHEAT = 660, - SMSG_MEETINGSTONE_SETQUEUE = 661, // You have left the queue to join a party for %s. + SMSG_MEETINGSTONE_SETQUEUE = 661, // You have left the queue to join a party for %s. CMSG_MEETINGSTONE_INFO = 662, - SMSG_MEETINGSTONE_COMPLETE = 663, // Your group is complete, you have left the LFG matchmaking system. - SMSG_MEETINGSTONE_IN_PROGRESS = 664, // You still seeking more members through LFG matchmaking system., empty? - SMSG_MEETINGSTONE_MEMBER_ADDED = 665, // %s has been added to the group by the LFG matchmaking system. + SMSG_MEETINGSTONE_COMPLETE = 663, // Your group is complete, you have left the LFG matchmaking system. + SMSG_MEETINGSTONE_IN_PROGRESS = 664, // You still seeking more members through LFG matchmaking system., empty? + SMSG_MEETINGSTONE_MEMBER_ADDED = 665, // %s has been added to the group by the LFG matchmaking system. CMSG_GMTICKETSYSTEM_TOGGLE = 666, CMSG_CANCEL_GROWTH_AURA = 667, SMSG_CANCEL_AUTO_REPEAT = 668, @@ -722,30 +708,28 @@ enum OpCodes SMSG_LOOT_MASTER_LIST = 676, SMSG_SET_FORCED_REACTIONS = 677, SMSG_SPELL_FAILED_OTHER = 678, - SMSG_GAMEOBJECT_RESET_STATE = 679, // uint64 guid + SMSG_GAMEOBJECT_RESET_STATE = 679, // uint64 guid CMSG_REPAIR_ITEM = 680, SMSG_CHAT_PLAYER_NOT_FOUND = 681, MSG_TALENT_WIPE_CONFIRM = 682, - SMSG_SUMMON_REQUEST = 683, // uint64 guid + uint32 area/zoneid + uint32 time(milliseconds?) + SMSG_SUMMON_REQUEST = 683, // uint64 guid + uint32 area/zoneid + uint32 time(milliseconds?) CMSG_SUMMON_RESPONSE = 684, MSG_MOVE_TOGGLE_GRAVITY_CHEAT = 685, SMSG_MONSTER_MOVE_TRANSPORT = 686, - SMSG_PET_BROKEN = 687, // Your pet has run away (:D) + SMSG_PET_BROKEN = 687, // Your pet has run away (:D) MSG_MOVE_FEATHER_FALL = 688, MSG_MOVE_WATER_WALK = 689, CMSG_SERVER_BROADCAST = 690, - CMSG_SELF_RES = 691, // only if PLAYER_SELF_RES_SPELL field != 0 - SMSG_FEIGN_DEATH_RESISTED = 692, // Resisted + CMSG_SELF_RES = 691, // only if PLAYER_SELF_RES_SPELL field != 0 + SMSG_FEIGN_DEATH_RESISTED = 692, // Resisted CMSG_RUN_SCRIPT = 693, SMSG_SCRIPT_MESSAGE = 694, SMSG_DUEL_COUNTDOWN = 695, SMSG_AREA_TRIGGER_MESSAGE = 696, CMSG_TOGGLE_HELM = 697, CMSG_TOGGLE_CLOAK = 698, - - //SMSG_SPELL_REFLECTED = 699, //OBSOLETE - SMSG_MEETINGSTONE_JOINFAILED = 699, // 1 - must be party leader, 3 - can't use while in raid - SMSG_PLAYER_SKINNED = 700, // uint8 0x00 Insignia taken - You can only resurrect at the graveyard + SMSG_MEETINGSTONE_JOINFAILED = 699, // 1 - must be party leader, 3 - can't use while in raid + SMSG_PLAYER_SKINNED = 700, // uint8 0x00 Insignia taken - You can only resurrect at the graveyard SMSG_DURABILITY_DAMAGE_DEATH = 701, CMSG_SET_EXPLORATION = 702, CMSG_SET_ACTIONBAR_TOGGLES = 703, @@ -755,12 +739,12 @@ enum OpCodes SMSG_UPDATE_WORLD_STATE = 707, CMSG_ITEM_NAME_QUERY = 708, SMSG_ITEM_NAME_QUERY_RESPONSE = 709, - SMSG_PET_ACTION_FEEDBACK = 710, // uint8 0x04 - unk, 0x01 - pet dead, 0x2 - no target, 0x3 can't attack + SMSG_PET_ACTION_FEEDBACK = 710, // uint8 0x04 - unk, 0x01 - pet dead, 0x2 - no target, 0x3 can't attack CMSG_CHAR_RENAME = 711, SMSG_CHAR_RENAME = 712, CMSG_MOVE_SPLINE_DONE = 713, CMSG_MOVE_FALL_RESET = 714, - SMSG_INSTANCE_SAVE_CREATED = 715, // You are now saved to this instance + SMSG_INSTANCE_SAVE_CREATED = 715, // You are now saved to this instance SMSG_RAID_INSTANCE_INFO = 716, CMSG_REQUEST_RAID_INFO = 717, CMSG_MOVE_TIME_SKIPPED = 718, @@ -784,14 +768,12 @@ enum OpCodes MSG_PVP_LOG_DATA = 736, CMSG_LEAVE_BATTLEFIELD = 737, CMSG_AREA_SPIRIT_HEALER_QUERY = 738, - CMSG_AREA_SPIRIT_HEALER_QUEUE = 739, // WTF? - SMSG_AREA_SPIRIT_HEALER_TIME = 740, // uint64 guid+uint32 time? - //CMSG_GM_UNTEACH = 739, // WTF? - //SMSG_HARDWARE_SURVEY_REQUEST = 740, // WTF? - CMSG_HARDWARE_SURVEY_RESULTS = 741, + CMSG_AREA_SPIRIT_HEALER_QUEUE = 739, + SMSG_AREA_SPIRIT_HEALER_TIME = 740, // uint64 guid+uint32 time + CMSG_GM_UNTEACH = 741, SMSG_WARDEN_DATA = 742, CMSG_WARDEN_DATA = 743, - SMSG_GROUP_JOINED_BATTLEGROUND = 744, // uint32 0xfffffffc, probably different error messages... + SMSG_GROUP_JOINED_BATTLEGROUND = 744, // uint32 0xfffffffc, probably different error messages... MSG_BATTLEGROUND_PLAYER_POSITIONS = 745, CMSG_PET_STOP_ATTACK = 746, SMSG_BINDER_CONFIRM = 747, @@ -809,27 +791,27 @@ enum OpCodes SMSG_MINIGAME_STATE = 759, CMSG_MINIGAME_MOVE = 760, SMSG_MINIGAME_MOVE_FAILED = 761, - SMSG_INSTANCE_RESET_SCHEDULED = 762, // WARNING! %s is scheduled to reset in %u minutes! and other messages... + SMSG_INSTANCE_RESET_SCHEDULED = 762, // WARNING! %s is scheduled to reset in %u minutes! and other messages... SMSG_COMPRESSED_MOVE = 763, CMSG_GUILD_CHANGEINFO = 764, - SMSG_UNKNOWN_765 = 765, // Trial accounts can not send unlimited tells, you must wait before you can send tells to more players. - SMSG_SET_MOVE_SPEED = 766, // GUID + float speed, move speed, except swim/turn/fly - SMSG_SET_RUN_BACK_SPEED = 767, // GUID + float speed, run back speed - SMSG_SET_SWIM_SPEED = 768, // GUID + float speed, swim and swim back speed + SMSG_TRIAL_RESTRICTED = 765, // Trial accounts cannot send unlimited tells, you must wait before you can send tells to more players. + SMSG_SET_MOVE_SPEED = 766, // GUID + float speed, move speed, except swim/turn/fly + SMSG_SET_RUN_BACK_SPEED = 767, // GUID + float speed, run back speed + SMSG_SET_SWIM_SPEED = 768, // GUID + float speed, swim and swim back speed // 769 - SMSG_SET_SWIM_BACK_SPEED = 770, // swim back speed - SMSG_SET_TURN_RATE = 771, // turn rate (note: client crashes if fly mode enabled, and turn rate = 0) - SMSG_UNKNOWN_772 = 772, // packed GUID - SMSG_UNKNOWN_773 = 773, // set movement flag 0x20000000 - SMSG_UNKNOWN_774 = 774, // stop effect of 773 opcode - SMSG_UNKNOWN_775 = 775, // movement related, looks like hover, movement flag 0x40000000, we can't jump if we are lands - SMSG_UNKNOWN_776 = 776, // stop effect of 775 opcode - SMSG_MOVE_SET_WATERWALK = 777, // packed GUID, set movement flag 0x10000000, waterwalking... - SMSG_MOVE_STOP_WATERWALK = 778, // packed GUID, stop effect of 777 opcode - SMSG_UNKNOWN_779 = 779, // packed guid, change animation to swim/fly like - SMSG_UNKNOWN_780 = 780, // packed guid - SMSG_MOVE_STOP_WALK = 781, // packed guid, remove 0x100 movement flag (walk) - SMSG_MOVE_START_WALK = 782, // set 0x100 movement flag (walk) + SMSG_SET_SWIM_BACK_SPEED = 770, // swim back speed + SMSG_SET_TURN_RATE = 771, // turn rate (note: client crashes if fly mode enabled, and turn rate = 0) + SMSG_UNKNOWN_772 = 772, // packed GUID + SMSG_UNKNOWN_773 = 773, // set movement flag 0x20000000 (safe fall) + SMSG_UNKNOWN_774 = 774, // stop effect of 773 opcode + SMSG_UNKNOWN_775 = 775, // movement related, looks like hover, movement flag 0x40000000, we can't jump if we are lands + SMSG_UNKNOWN_776 = 776, // stop effect of 775 opcode + SMSG_MOVE_SET_WATERWALK = 777, // packed GUID, set movement flag 0x10000000, waterwalking... + SMSG_MOVE_STOP_WATERWALK = 778, // packed GUID, stop effect of 777 opcode + SMSG_UNKNOWN_779 = 779, // packed guid, change animation to swim/fly like + SMSG_UNKNOWN_780 = 780, // packed guid + SMSG_MOVE_STOP_WALK = 781, // packed guid, remove 0x100 movement flag (walk) + SMSG_MOVE_START_WALK = 782, // set 0x100 movement flag (walk) // 783 // 784 // 785 @@ -840,32 +822,32 @@ enum OpCodes // 790 CMSG_FIELD_WATCHED_FACTION_INACTIVE = 791, CMSG_FIELD_WATCHED_FACTION_SHOW_BAR = 792, - SMSG_UNKNOWN_793 = 793, // packed guid + uint32 - SMSG_UNKNOWN_794 = 794, // packed guid, movement related, set 0x1000 movement flag, all speed to 0, except turn rate + SMSG_UNKNOWN_793 = 793, // packed guid + uint32 unk + SMSG_UNKNOWN_794 = 794, // packed guid, movement related, set 0x1000 movement flag, all speed to 0, except turn rate // 795 - SMSG_UNKNOWN_796 = 796, // uint64, guid? - CMSG_RESET_INSTANCES = 797, // reset instances, empty - SMSG_RESET_INSTANCES_RESULT = 798, // uint32 mapid, chat message: %s has been reset. - // 799 - SMSG_UNKNOWN_800 = 800, // uint32 mapid, instance related - MSG_RAID_ICON_TARGET = 801, // uint8+uint8+uint64 guid - MSG_RAID_READY_CHECK = 802, // uint64+uint8 + SMSG_UNKNOWN_796 = 796, // uint64, guid, chat related? + CMSG_RESET_INSTANCES = 797, // reset instances, empty + SMSG_RESET_INSTANCES_SUCCESS = 798, // uint32 mapid, chat message: %s has been reset. + SMSG_RESET_INSTANCES_FAILED = 799, // uint32 reason, uint32 mapid + SMSG_UNKNOWN_800 = 800, // uint32 mapid, instance related (save?) + MSG_RAID_ICON_TARGET = 801, // uint8+uint8+uint64 guid or only uint8(0x01) + MSG_RAID_READY_CHECK = 802, // uint64+uint8 // 803 - SMSG_AI_UNKNOWN = 804, // GUID + uint32, looks like SMSG_AI_REACTION - SMSG_UNKNOWN_805 = 805, // uint32 unk + x, y, z + SMSG_PET_ACTION_SOUND = 804, // GUID + uint32, looks like SMSG_AI_REACTION (pet action sound?) + SMSG_PET_DISMISS_SOUND = 805, // uint32 unk + x, y, z (pet dismiss sound?) // 806 // 807 - SMSG_GM_SURVEY_REQUEST = 808, // uint32, 1 - causes client get ticket request, 2 - hide, 3 - show - MSG_SET_DUNGEON_DIFFICULTY = 809, // uint32+uint32+uint32 - CMSG_GM_SURVEY_RESULTS = 810, - SMSG_UNKNOWN_811 = 811, // uint32, 0x0, SMSG_INSTANCE_RESET_ACTIVATE ? + SMSG_GM_SURVEY_REQUEST = 808, // uint32, 1 - causes client get ticket request, 2 - hide, 3 - show + MSG_SET_DUNGEON_DIFFICULTY = 809, // uint32+uint32+uint32 + CMSG_GM_SURVEY_RESULTS = 810, // script function named GMSurveySubmit() + SMSG_UNKNOWN_811 = 811, // uint32, 0x0, SMSG_INSTANCE_RESET_ACTIVATE ? // 812 // 813 // 814 - SMSG_UNKNOWN_815 = 815, // spell related, uint64 guid + spellid - SMSG_UNKNOWN_816 = 816, // spell related, uint64 guid + spellid + uint32 unk + uint64 guid (target?) + SMSG_SPELL_INSTA_KILL_SELF = 815, // spell related, uint64 guid + spellid (You are killed by %s(spell_name)) + SMSG_UNKNOWN_816 = 816, // spell related, uint64 guid + spellid + uint32 count + for(count) uint64 guid (target?) // 817 - SMSG_UNKNOWN_818 = 818, // 2.0.8, received before server MOTD, strange regexp sequence, looks like anti spam filter for chat messages... + SMSG_ANTISPAM = 818, // 2.0.8, received before server MOTD, strange regexp sequence, looks like anti spam filter for chat messages... // 819 // 820 // 821 @@ -873,39 +855,39 @@ enum OpCodes // 823 // 824 // 825 - SMSG_OUTDOORPVP_NOTIFY = 826, // looks like chat packets - SMSG_OUTDOORPVP_NOTIFY2 = 827, // may be it's changed to 826? + SMSG_OUTDOORPVP_NOTIFY = 826, // looks like chat packets + // 827 // 828 - SMSG_MOTD = 829, // server MOTD message, uint32 + message + SMSG_MOTD = 829, // server MOTD message, uint32 + message // 830 // 831 // 832 - SMSG_UNKNOWN_833 = 833, // teleport - SMSG_UNKNOWN_834 = 834, // teleport - SMSG_FLY_MODE_START = 835, // packed guid + uint32, start fly - SMSG_FLY_MODE_STOP = 836, // packed guid + uint32, stop fly - CMSG_MOVE_FLY_MODE_CHANGE_ACK = 837, // movement related, fly on/off ack - CMSG_MOVE_FLY_STATE_CHANGE = 838, // movement related, fly start/stop(land) ack, may be MSG - CMSG_SOCKET_ITEM = 839, // click on "Socket Gems" button in Jewelcrafting UI, contains uint64 item guid + 3 x uint64 gems guid's - // 840 - SMSG_ARENA_TEAM_COMMAND_RESULT = 841, // uint32(5)+uint16(0)+uint32(9) You not in arena team that size + SMSG_UNKNOWN_833 = 833, // teleport/movement opcode + SMSG_UNKNOWN_834 = 834, // teleport/movement opcode + SMSG_FLY_MODE_START = 835, // packed guid + uint32, start fly + SMSG_FLY_MODE_STOP = 836, // packed guid + uint32, stop fly + CMSG_MOVE_FLY_MODE_CHANGE_ACK = 837, // movement related, fly on/off ack + MSG_MOVE_FLY_STATE_CHANGE = 838, // movement related, fly start/stop(land) ack, may be MSG + CMSG_SOCKET_ITEM = 839, // click on "Socket Gems" button in Jewelcrafting UI, contains uint64 item guid + 3 x uint64 gems guid's + // 840, CMSG? + SMSG_ARENA_TEAM_COMMAND_RESULT = 841, // uint32 command, name1, name2, uint32 errorcode // 842 CMSG_ARENA_TEAM_QUERY = 843, SMSG_ARENA_TEAM_QUERY_RESPONSE = 844, CMSG_ARENA_TEAM_ROSTER = 845, SMSG_ARENA_TEAM_ROSTER = 846, - CMSG_ARENA_TEAM_ADD_MEMBER = 847, + CMSG_ARENA_TEAM_INVITE_BYNAME = 847, SMSG_ARENA_TEAM_INVITE = 848, - CMSG_ARENA_TEAM_INVITE_ACCEPT = 849, - CMSG_ARENA_TEAM_INVITE_DECLINE = 850, + CMSG_ARENA_TEAM_ACCEPT = 849, + CMSG_ARENA_TEAM_DECLINE = 850, CMSG_ARENA_TEAM_LEAVE = 851, - CMSG_ARENA_TEAM_REMOVE_FROM_TEAM = 852, + CMSG_ARENA_TEAM_UNINVITE_BYNAME = 852, CMSG_ARENA_TEAM_DISBAND = 853, - CMSG_ARENA_TEAM_PROMOTE_TO_CAPTAIN = 854, // also must be demote opcode... - SMSG_UNKNOWN_855 = 855, // guild related... - // 856 - MSG_MOVE_START_FLY_UP = 857, // movement related, fly up, possible MSG - MSG_MOVE_STOP_FLY_UP = 858, // movement related, stop fly up, possible MSG + CMSG_ARENA_TEAM_SET_LEADER_BYNAME = 854, // also must be demote opcode... + SMSG_ARENA_TEAM_EVENT = 855, // arena team event + CMSG_ARENAMASTER_JOIN = 856, + MSG_MOVE_START_FLY_UP = 857, // movement related, fly up, possible MSG + MSG_MOVE_STOP_FLY_UP = 858, // movement related, stop fly up, possible MSG SMSG_ARENA_TEAM_STATS = 859, CMSG_LFG_SET_AUTOJOIN = 860, CMSG_LFG_UNSET_AUTOJOIN = 861, @@ -913,116 +895,167 @@ enum OpCodes CMSG_LFM_UNSET_AUTOADD = 863, CMSG_LFG_INVITE_ACCEPT = 864, CMSG_LFG_INVITE_CANCEL = 865, - // 866 + // 866, CMSG? CMSG_LOOKING_FOR_GROUP_CLEAR = 867, CMSG_SET_LOOKING_FOR_NONE = 868, CMSG_SET_LOOKING_FOR_MORE = 869, CMSG_SET_COMMENTARY = 870, - SMSG_LFG_871 = 871, // Matchmaking timed out. - SMSG_LFG_872 = 872, // Matchmaking timed out waiting for other player. - SMSG_LFG_873 = 873, // Group no longer available. - SMSG_LFG_874 = 974, // Matched Player(s) have gone offline. + SMSG_LFG_MATCHMAKING_TIMEDOUT = 871, // Matchmaking timed out. + SMSG_LFG_MATCHMAKING_OTHER_TIMEDOUT = 872, // Matchmaking timed out waiting for other player. + SMSG_LFG_MATCHMAKING_AUTOJOIN_FAILED = 873, // Group no longer available. + SMSG_LFG_MATCHMAKING_AUTOJOIN_FAILED_NO_PLAYER = 874, // Matched Player(s) have gone offline. // 875 - SMSG_LFG_876 = 876, // LFM eye, in progress, uint16+uint32+uint8?, 3 x uint8(0x0) - SMSG_LFG_877 = 877, // cause client send CMSG_SET_LOOKING_FOR_GROUP, uint32+uint8? - SMSG_LFG_878 = 878, // cause client send CMSG_SET_LOOKING_FOR_GROUP - SMSG_LFG_879 = 879, // LFG eye, cause client send CMSG_SET_LOOKING_FOR_GROUP - SMSG_LFG_INVITE = 880, // show invite dialog: The LFG system has matched you to a group for %s. - SMSG_LFG_881 = 881, // The LFG system is waiting to complete match for %s. + SMSG_LFG_876 = 876, // LFM eye, in progress, uint16+uint32+uint8?, 3 x uint8(0x0) + SMSG_LFG_877 = 877, // cause client send CMSG_SET_LOOKING_FOR_GROUP, uint32+uint8? + SMSG_LFG_878 = 878, // cause client send CMSG_SET_LOOKING_FOR_GROUP + SMSG_LFG_879 = 879, // LFG eye, cause client send CMSG_SET_LOOKING_FOR_GROUP + SMSG_LFG_MATCHMAKING_PENDING_INVITE = 880, // The LFG system has matched you to a group for %s. + SMSG_LFG_MATCHMAKING_PENDING_MATCH = 881, // The LFG system is waiting to complete match for %s. // 882 - SMSG_CHANGE_TITLE = 883, // uint32 title_id, causes message and visual effect - CMSG_CHOOSE_TITLE = 884, // uint32 title_id - CMSG_DISMOUNT = 885, // /dismount command - SMSG_ARENA_TEAM_UNK = 886, + SMSG_CHANGE_TITLE = 883, // uint32 title_id, causes message and visual effect + CMSG_CHOOSE_TITLE = 884, // uint32 title_id + CMSG_DISMOUNT = 885, // /dismount command + SMSG_ARENA_NO_TEAM = 886, // uint32(0) + team type MSG_INSPECT_ARENA_STATS = 887, - SMSG_SH_POSITION = 888, // spirit healer position, map/x/y/z, at player death... - CMSG_CANCEL_TEMP_ITEM_ENCHANTMENT = 889, // cancel temporary item enchantment + SMSG_SH_POSITION = 888, // spirit healer position, map/x/y/z, at player death... + CMSG_CANCEL_TEMP_ITEM_ENCHANTMENT = 889, // cancel temporary item enchantment // 890 // 891 // 892 // 893 - SMSG_MOVE_SET_FLY_SPEED = 894, // all fly speed, packed guid, uint32 movement_flags, time, x,y,z,o,unk,speed... + MSG_MOVE_SET_FLY_SPEED = 894, // all fly speed, packed guid, uint32 movement_flags, time, x,y,z,o,unk,speed... // 895 - SMSG_MOVE_SET_FLY_BACK_SPEED = 896, - SMSG_FORCE_FLY_SPEED_CHANGE = 897, // packed guid, uint32, speed + MSG_MOVE_SET_FLY_BACK_SPEED = 896, + SMSG_FORCE_FLY_SPEED_CHANGE = 897, // packed guid, uint32, speed CMSG_FORCE_FLY_SPEED_CHANGE_ACK = 898, SMSG_FORCE_FLY_BACK_SPEED_CHANGE = 899, CMSG_FORCE_FLY_BACK_SPEED_CHANGE_ACK = 900, - SMSG_MOVE_SET_FLY_SPEED2 = 901, // same as 894, strange, packed guid+speed - SMSG_MOVE_SET_FLY_BACK_SPEED2 = 902, // same as 896, strange, + SMSG_MOVE_SET_FLY_SPEED2 = 901, // same as 894, strange, packed guid+speed + SMSG_MOVE_SET_FLY_BACK_SPEED2 = 902, // same as 896, strange, // 903 - // 904 SMSG_FLIGHT_SPLINE_SYNC? - // 905 + SMSG_FLIGHT_SPLINE_SYNC = 904, // uint32 + packed_guid + CMSG_SET_TAXI_BENCHMARK_MODE = 905, // 906 - SMSG_REALM_STATE_RESPONSE = 907, // response to 908 opcode, 4 x uint32 + uint8 - CMSG_REALM_STATE_REQUEST = 908, // realm related, uint32+uint32+3*(uint16+uint8), appears at select character screen, uint32 0xFFFFFFFF - CMSG_MOVE_SHIP_909 = 909, // movement related, transport related(ships) - CMSG_GROUP_PROMOTE = 910, // make main-tank / main-assistant - // 911 - SMSG_ALLOW_MOVE = 912, // uint32, allow player movement, value increments every time and reset to 0 after far teleport, used for client-server synchronization - CMSG_ALLOW_MOVE_ACK = 913, // client response to SMSG_ALLOW_MOVE + SMSG_REALM_SPLIT_INFO_RESPONSE = 907, // response to 908 opcode, uint32+uint32+string(date) + CMSG_REALM_SPLIT_INFO_REQUEST = 908, // realm related, uint32, appears at select character screen, uint32 0xFFFFFFFF by default + MSG_MOVE_SHIP_909 = 909, // movement related, transport related(ships) + CMSG_GROUP_PROMOTE = 910, // make main-tank / main-assistant + SMSG_ALREADY_IN_ARENA_TEAM = 911, // %s is already in an arena team of that size (uint64 guid) + SMSG_ALLOW_MOVE = 912, // uint32, allow player movement, value increments every time and reset to 0 after far teleport, used for client-server synchronization + CMSG_ALLOW_MOVE_ACK = 913, // client response to SMSG_ALLOW_MOVE (counter + client time) // 914 // 915 // 916 // 917 - SMSG_UNKNOWN_918 = 918, // chat message: The party leader has attempted to reset the instance you are in. Please zone out to allow the instance to reset. - SMSG_UNKNOWN_919 = 919, // uint8(0)+uint32(0/1)+uint64(unk/guid) - SMSG_UNKNOWN_920 = 920, // notify message: This system is currently disabled. + SMSG_RESET_INSTANCE_FAILED_NOTIFY = 918, // chat message: The party leader has attempted to reset the instance you are in. Please zone out to allow the instance to reset. + SMSG_UNKNOWN_919 = 919, // uint8(0)+uint32(0/1)+uint64(unk/guid) + SMSG_SYSTEM_DISABLED = 920, // notify message: This system is currently disabled. // 921 // 922 // 923 // 924 - SMSG_SET_COMBO_POINTS = 925, // set combo points - // 926 - // 927 + SMSG_SET_COMBO_POINTS = 925, // set combo points + SMSG_VOICE_SESSION = 926, + SMSG_UNKNOWN_927 = 927, // uint64 guid + uint32 + float?, received after leave voice channel // 928 // 929 // 930 - SMSG_SET_AURA_MULTIPLY = 931, - /* - packed_guid - block (can repeat): - uint8 index may be it's aura slot? (increments) - uint32 spellid - uint32 duration1 (full?) - uint32 duration2 (remaining?) - */ - SMSG_SET_AURA_SINGLE = 932, - /* - packed_guid - uint8 index may be it's aura slot? (increments) - uint32 spellid - uint32 duration1 (full?) - uint32 duration2 (remaining?) - */ + SMSG_SET_AURA_MULTIPLY = 931, // packed_guid + n * (uint8 slot + uint32 spellid + uint32 duration1 + uint32 duration2) + SMSG_SET_AURA_SINGLE = 932, // packed_guid + uint8 slot + uint32 spellid + uint32 duration1 + uint32 duration2 // 933 SMSG_CAST_SUCCESS = 934, - SMSG_UNKNOWN_935 = 935, // teleport/movement opcode + MSG_UNKNOWN_935 = 935, // teleport/movement opcode // 936 // 937 - // 938 + SMSG_UNKNOWN_938 = 938, // uint64, uint64, uint32 spellid, uint32, uint32 // 939 - // 940 - SMSG_UNKNOWN_941 = 941, // teleport/movement opcode - SMSG_UNKNOWN_942 = 942, // Everyone is Ready! (message) - // 943 - // 944 + SMSG_UNKNOWN_940 = 940, // packed guid (received at spell cast) + SMSG_UNKNOWN_941 = 941, // teleport/movement opcode + SMSG_READY_CHECK_ALL_READY = 942, // Everyone is Ready! (message) + CMSG_VOICE_SETTINGS = 943, // uint8 isVoiceEnabled, uint8 isMicrophoneEnabled (id correct for 2.3.0) + SMSG_VOICE_CHAT_PARENTAL_DISABLE_ALL = 944, // Voice chat has been disabled by parental control // 945 // 946 // 947 - // 948 + CMSG_COMMENTATOR_SET_MODE = 948, // 949 - // 950 + CMSG_COMMENTATOR_UPDATE_MAP_INFO = 950, // 951 - CMSG_UNKNOWN_952 = 952, // response to 942 opcode - CMSG_REPORT_SPAM = 953, // Report Spam chat button - SMSG_REPORT_SPAM_RESPONSE = 954, // Complaint Registered. (message) - SMSG_ACTIVATE_SPAM_REPORTING = 955, // unk uint8 - + CMSG_COMMENTATOR_UPDATE_PLAYER_INFO = 952, + CMSG_UNKNOWN_953 = 953, // response to 942 opcode + //CMSG_REPORT_SPAM = 954, // now(2.3.0) CMSG_COMPLAINT_CHAT + //SMSG_REPORT_SPAM_RESPONSE = 955, // now(2.3.0) SMSG_COMPLAINT_ADDED + CMSG_COMMENTATOR_EXIT_INSTANCE = 956, // unk uint8 + // 957 + // 958 clear selection? + // 959 + SMSG_UNKNOWN_960 = 960, // uint64 guid, uint32, uint32 (client sedn CMSG_ITEM_QUERY_SINGLE) + // 961 + // 962 + //SMSG_DISCONNECT_CLIENT = 963, // really?? not + // 964 + // 965 + CMSG_COMPLAINT_CHAT = 966, // Report Spam chat button + SMSG_COMPLAINT_ADDED = 967, // Complaint Registered. (message) + SMSG_VOICE_SYSTEM_STATUS = 968, // uint8, uint8 (id correct for 2.3.0) + // 969 + // 970 + CMSG_CHANNEL_SILENT_VOICE = 971, + CMSG_CHANNEL_SILENT_ALL = 972, + CMSG_CHANNEL_UNSILENT_VOICE = 973, + CMSG_CHANNEL_UNSILENT_ALL = 974, + // 975 + // 976 + CMSG_CHANNEL_ROSTER_QUERY = 977, // string channel name (channel list?) + CMSG_CHANNEL_VOICE_CHAT_QUERY = 978, // uint32, string + CMSG_CHANNEL_INFO_QUERY = 979, // string channel name + SMSG_CHANNEL_INFO_QUERY_RESPONSE = 980, // string channel name, uint8 flags, uint32 count + CMSG_CHANNEL_VOICE_ON = 981, // Enable Voice button in channel context menu + CMSG_CHANNEL_VOICE_OFF = 982, // ?? + // 983 + // 984 + SMSG_CHANNEL_NOTIFY_AVAILABLE_VOICE_SESSION = 985, // 9 bytes unk's + string channel name + uint64 guid, received after join voice channel + CMSG_MUTE_PLAYER = 986, // ?? + CMSG_UNMUTE_PLAYER = 987, // ?? + CMSG_SILENCE_MEMBER = 988, // ?? + CMSG_UNSILENCE_MEMBER = 989, // ?? + SMSG_PLAYER_UNSILENCED = 990, // A group leader has restored your voice privileges + SMSG_COMSAT_RECONNECT_ATTEMPT = 991, // Voice chat service restored! + SMSG_COMSAT_DISCONNECT = 992, // Connection lost to voice chat service. + SMSG_COMSAT_CONNECT_FAIL = 993, // Cannot connect to voice chat service. + // 994 + // 995 + // 996 + CMSG_GUILD_BANK = 997, // click on guildbank object, uint64 guid + uint8 unk + CMSG_GUILDBANK_TAB_COLON = 998, // response to 999, uint64 guid + uint8 + uint8 + SMSG_GUILD_BANK_LIST = 999, // uint32 + uint32 + uint8 + uint8 + uint16 count1 + uint8 + uint8 count2 + for (count2) { uint8 unk } + uint16 + for(count1) { uint32 counter + uint8 unk } + CMSG_UNKNOWN_1000 = 1000, // uint64 guid, uint8, uint8, uint8 count, for(count) uint8 unk + CMSG_BUY_GUILDBANK_TAB = 1001, // uint64 guid + uint8 unk + // 1002 + CMSG_GUILDBANK_DEPOSIT = 1003, // uint64 guid + uint32 + CMSG_GUILDBANK_WITHDRAW = 1004, // uint64 guid + uint32 + MSG_GUILDBANK_LOG = 1005, // guild bank log? client: empty, server: uint8 count, for count (uint8 unk(type?), uint64 guid, uint32 unk(amount?)) + CMSG_CHANNEL_WATCH = 1006, // string channel name + SMSG_PLAYER_JOINED_CHANNEL = 1007, // uint64, uint8, uint8, uint32, string channel name + SMSG_PLAYER_LEFT_CHANNEL = 1008, // uint64, uint8, uint32, string channel name + SMSG_PLAYER_JOINED_CUSTOM_CHANNEL = 1009, // guessed + CMSG_CLEAR_CHANNEL_WATCH = 1010, + SMSG_INSPECT_TALENTS = 1011, // uint32 count, for(count) uint8 unk + // 1012 + // 1013 + // 1014 + CMSG_UNKNOWN_1015 = 1015, // click on NPC with 0x1000000 npc_flag + // 1016 + // 1017 + // 1018 + SMSG_VOICESESSION_FULL = 1019, // The voice session you are attempting to join is full. + MSG_UNKNOWN_1020 = 1020, // probably guild related, client: empty, server: uint32, uint32, uint8, uint32, uint32 + MSG_UNKNOWN_1021 = 1021, // guild related + MSG_GUILD_EVENT_LOG = 1022 }; //if you add new opcode .. Do NOT forget to change the following define MAX_OPCODE_ID and also add new opcode to table in opcodes.cpp -#define MAX_OPCODE_ID 955 +#define MAX_OPCODE_ID 1023 /// Results of friend related commands enum FriendsResult @@ -1043,28 +1076,46 @@ enum FriendsResult FRIEND_IGNORE_NOT_FOUND = 0x0D, FRIEND_IGNORE_ALREADY = 0x0E, FRIEND_IGNORE_ADDED = 0x0F, - FRIEND_IGNORE_REMOVED = 0x10 + FRIEND_IGNORE_REMOVED = 0x10, + // 0x11 + // 0x12 + // 0x13 + // 0x14 + // 0x15 + FRIEND_MUTE_ADDED = 0x16, + FRIEND_MUTE_REMOVED = 0x17 }; /// Non Player Character flags enum NPCFlags { - UNIT_NPC_FLAG_NONE = 0, - UNIT_NPC_FLAG_GOSSIP = 1, - UNIT_NPC_FLAG_QUESTGIVER = 2, - UNIT_NPC_FLAG_VENDOR = 4, - UNIT_NPC_FLAG_TAXIVENDOR = 8, - UNIT_NPC_FLAG_TRAINER = 16, - UNIT_NPC_FLAG_SPIRITHEALER = 32, - UNIT_NPC_FLAG_GUARD = 64, //UQ1: ??? We can use as guard flag?, used by blizz for BattleGround spirit guides... (entry 13116 and 13117) - UNIT_NPC_FLAG_INNKEEPER = 128, - UNIT_NPC_FLAG_BANKER = 256, - UNIT_NPC_FLAG_PETITIONER = 512, // 1024+512 = guild petitions, 512 = arena team petitions - UNIT_NPC_FLAG_TABARDVENDOR = 1024, - UNIT_NPC_FLAG_BATTLEFIELDPERSON = 2048, - UNIT_NPC_FLAG_AUCTIONEER = 4096, - UNIT_NPC_FLAG_STABLE = 8192, - UNIT_NPC_FLAG_ARMORER = 16384, + UNIT_NPC_FLAG_NONE = 0x00000000, + UNIT_NPC_FLAG_GOSSIP = 0x00000001, // 100% + UNIT_NPC_FLAG_QUESTGIVER = 0x00000002, // guessed, probably ok + UNIT_NPC_FLAG_UNK1 = 0x00000004, + UNIT_NPC_FLAG_UNK2 = 0x00000008, + UNIT_NPC_FLAG_TRAINER = 0x00000010, // 100% + UNIT_NPC_FLAG_TRAINER_CLASS = 0x00000020, // 100% + UNIT_NPC_FLAG_TRAINER_PROFESSION = 0x00000040, // 100% + UNIT_NPC_FLAG_VENDOR = 0x00000080, // 100% + UNIT_NPC_FLAG_VENDOR_AMMO = 0x00000100, // 100%, general goods vendor + UNIT_NPC_FLAG_VENDOR_FOOD = 0x00000200, // 100% + UNIT_NPC_FLAG_VENDOR_POISON = 0x00000400, // guessed + UNIT_NPC_FLAG_VENDOR_REAGENT = 0x00000800, // 100% + UNIT_NPC_FLAG_REPAIR = 0x00001000, // 100% + UNIT_NPC_FLAG_FLIGHTMASTER = 0x00002000, // 100% + UNIT_NPC_FLAG_SPIRITHEALER = 0x00004000, // guessed + UNIT_NPC_FLAG_SPIRITGUIDE = 0x00008000, // guessed + UNIT_NPC_FLAG_INNKEEPER = 0x00010000, // 100% + UNIT_NPC_FLAG_BANKER = 0x00020000, // 100% + UNIT_NPC_FLAG_PETITIONER = 0x00040000, // 100% 0xC0000 = guild petitions, 0x40000 = arena team petitions + UNIT_NPC_FLAG_TABARDDESIGNER = 0x00080000, // 100% + UNIT_NPC_FLAG_BATTLEMASTER = 0x00100000, // 100% + UNIT_NPC_FLAG_AUCTIONEER = 0x00200000, // 100% + UNIT_NPC_FLAG_STABLEMASTER = 0x00400000, // 100% + UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // cause client to send 997 opcode + UNIT_NPC_FLAG_UNK3 = 0x01000000, // cause client to send 1015 opcode + UNIT_NPC_FLAG_GUARD = 0x10000000, // custom flag for guards }; #endif /// @} diff --git a/src/Client/World/SharedDefines.h b/src/Client/World/SharedDefines.h index 0cf0c9e..74c4138 100644 --- a/src/Client/World/SharedDefines.h +++ b/src/Client/World/SharedDefines.h @@ -16,893 +16,923 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef SHAREDDEFINES_H +#ifndef SHAREDDEFINES_H #define SHAREDDEFINES_H -enum Gender -{ - GENDER_MALE = 0, - GENDER_FEMALE = 1, - GENDER_NONE = 2 -}; - -// Race value is index in ChrRaces.dbc -enum Races -{ - RACE_HUMAN = 1, - RACE_ORC = 2, - RACE_DWARF = 3, - RACE_NIGHTELF = 4, - RACE_UNDEAD_PLAYER = 5, - RACE_TAUREN = 6, - RACE_GNOME = 7, - RACE_TROLL = 8, - RACE_GOBLIN = 9, - RACE_BLOODELF = 10, - RACE_DRAENEI = 11, - RACE_FEL_ORC = 12, - RACE_NAGA = 13, - RACE_BROKEN = 14, - RACE_SKELETON = 15, - MAX_RACES = 16 -}; - -// Class value is index in ChrClasses.dbc -enum Classes -{ - CLASS_WARRIOR = 1, - CLASS_PALADIN = 2, - CLASS_HUNTER = 3, - CLASS_ROGUE = 4, - CLASS_PRIEST = 5, - // CLASS_UNK1 = 6, unused - CLASS_SHAMAN = 7, - CLASS_MAGE = 8, - CLASS_WARLOCK = 9, - // CLASS_UNK2 = 10,unused - CLASS_DRUID = 11, - MAX_CLASSES = 12 -}; - -#define CLASSMASK_WAND_USERS ((1<<(CLASS_PRIEST-1))|(1<<(CLASS_MAGE-1))|(1<<(CLASS_WARLOCK-1))) - -enum ReputationRank -{ - REP_HATED = 0, - REP_HOSTILE = 1, - REP_UNFRIENDLY = 2, - REP_NEUTRAL = 3, - REP_FRIENDLY = 4, - REP_HONORED = 5, - REP_REVERED = 6, - REP_EXALTED = 7 -}; - -#define MIN_REPUTATION_RANK (REP_HATED) +enum Gender +{ + GENDER_MALE = 0, + GENDER_FEMALE = 1, + GENDER_NONE = 2 +}; + +// Race value is index in ChrRaces.dbc +enum Races +{ + RACE_HUMAN = 1, + RACE_ORC = 2, + RACE_DWARF = 3, + RACE_NIGHTELF = 4, + RACE_UNDEAD_PLAYER = 5, + RACE_TAUREN = 6, + RACE_GNOME = 7, + RACE_TROLL = 8, + RACE_GOBLIN = 9, + RACE_BLOODELF = 10, + RACE_DRAENEI = 11, + RACE_FEL_ORC = 12, + RACE_NAGA = 13, + RACE_BROKEN = 14, + RACE_SKELETON = 15, + MAX_RACES = 16 +}; + +// Class value is index in ChrClasses.dbc +enum Classes +{ + CLASS_WARRIOR = 1, + CLASS_PALADIN = 2, + CLASS_HUNTER = 3, + CLASS_ROGUE = 4, + CLASS_PRIEST = 5, + // CLASS_UNK1 = 6, unused + CLASS_SHAMAN = 7, + CLASS_MAGE = 8, + CLASS_WARLOCK = 9, + // CLASS_UNK2 = 10,unused + CLASS_DRUID = 11, + MAX_CLASSES = 12 +}; + +#define CLASSMASK_WAND_USERS ((1<<(CLASS_PRIEST-1))|(1<<(CLASS_MAGE-1))|(1<<(CLASS_WARLOCK-1))) + +enum ReputationRank +{ + REP_HATED = 0, + REP_HOSTILE = 1, + REP_UNFRIENDLY = 2, + REP_NEUTRAL = 3, + REP_FRIENDLY = 4, + REP_HONORED = 5, + REP_REVERED = 6, + REP_EXALTED = 7 +}; + +#define MIN_REPUTATION_RANK (REP_HATED) #define MAX_REPUTATION_RANK 8 -enum MapTypes -{ - MAP_COMMON = 0, - MAP_INSTANCE = 1, - MAP_RAID = 2, - MAP_BATTLEGROUND = 3, - MAP_ARENA = 4 -}; - -enum MoneyConstants -{ - COPPER = 1, - SILVER = COPPER*100, - GOLD = SILVER*100 -}; - -enum Stats -{ - STAT_STRENGTH = 0, - STAT_AGILITY = 1, - STAT_STAMINA = 2, - STAT_INTELLECT = 3, - STAT_SPIRIT = 4 -}; - -#define MAX_STATS 5 - -enum Powers -{ - POWER_MANA = 0, - POWER_RAGE = 1, - POWER_FOCUS = 2, - POWER_ENERGY = 3, - POWER_HAPPINESS = 4 -}; - -#define MAX_POWERS 5 - -enum SpellSchools -{ - SPELL_SCHOOL_NORMAL = 0, - SPELL_SCHOOL_HOLY = 1, - SPELL_SCHOOL_FIRE = 2, - SPELL_SCHOOL_NATURE = 3, - SPELL_SCHOOL_FROST = 4, - SPELL_SCHOOL_SHADOW = 5, - SPELL_SCHOOL_ARCANE = 6 -}; - -#define MAX_SPELL_SCHOOL 7 - -enum ItemQualities -{ - ITEM_QUALITY_POOR = 0, //GREY - ITEM_QUALITY_NORMAL = 1, //WHITE - ITEM_QUALITY_UNCOMMON = 2, //GREEN - ITEM_QUALITY_RARE = 3, //BLUE - ITEM_QUALITY_EPIC = 4, //PURPLE - ITEM_QUALITY_LEGENDARY = 5, //ORANGE - ITEM_QUALITY_ARTIFACT = 6 //LIGHT YELLOW -}; - -enum sheathTypes -{ - SHEATHETYPE_NONE = 0, - SHEATHETYPE_MAINHAND = 1, - SHEATHETYPE_OFFHAND = 2, - SHEATHETYPE_LARGEWEAPONLEFT = 3, - SHEATHETYPE_LARGEWEAPONRIGHT = 4, - SHEATHETYPE_HIPWEAPONLEFT = 5, - SHEATHETYPE_HIPWEAPONRIGHT = 6, - SHEATHETYPE_SHIELD = 7 -}; - -enum CharacterSlot -{ - SLOT_HEAD = 0, - SLOT_NECK = 1, - SLOT_SHOULDERS = 2, - SLOT_SHIRT = 3, - SLOT_CHEST = 4, - SLOT_WAIST = 5, - SLOT_LEGS = 6, - SLOT_FEET = 7, - SLOT_WRISTS = 8, - SLOT_HANDS = 9, - SLOT_FINGER1 = 10, - SLOT_FINGER2 = 11, - SLOT_TRINKET1 = 12, - SLOT_TRINKET2 = 13, - SLOT_BACK = 14, - SLOT_MAIN_HAND = 15, - SLOT_OFF_HAND = 16, - SLOT_RANGED = 17, - SLOT_TABARD = 18, - SLOT_EMPTY = 19 +enum MapTypes +{ + MAP_COMMON = 0, + MAP_INSTANCE = 1, + MAP_RAID = 2, + MAP_BATTLEGROUND = 3, + MAP_ARENA = 4 }; -enum Language -{ - LANG_GLOBAL = 0, - LANG_UNIVERSAL = 0, - LANG_ORCISH = 1, - LANG_DARNASSIAN = 2, - LANG_TAURAHE = 3, - LANG_DWARVISH = 6, - LANG_COMMON = 7, - LANG_DEMONIC = 8, - LANG_TITAN = 9, - LANG_THALASSIAN = 10, - LANG_DRACONIC = 11, - LANG_KALIMAG = 12, - LANG_GNOMISH = 13, - LANG_TROLL = 14, - LANG_GUTTERSPEAK = 33, - LANG_DRAENEI = 35, - LANG_ADDON = 0xFFFFFFFF // used by addons +enum MoneyConstants +{ + COPPER = 1, + SILVER = COPPER*100, + GOLD = SILVER*100 }; -enum SpellEffects -{ - SPELL_EFFECT_INSTAKILL = 1, - SPELL_EFFECT_SCHOOL_DAMAGE = 2, - SPELL_EFFECT_DUMMY = 3, - SPELL_EFFECT_PORTAL_TELEPORT = 4, - SPELL_EFFECT_TELEPORT_UNITS = 5, - SPELL_EFFECT_APPLY_AURA = 6, - SPELL_EFFECT_ENVIRONMENTAL_DAMAGE = 7, - SPELL_EFFECT_MANA_DRAIN = 8, - SPELL_EFFECT_HEALTH_LEECH = 9, - SPELL_EFFECT_HEAL = 10, - SPELL_EFFECT_BIND = 11, - SPELL_EFFECT_PORTAL = 12, - SPELL_EFFECT_RITUAL_BASE = 13, - SPELL_EFFECT_RITUAL_SPECIALIZE = 14, - SPELL_EFFECT_RITUAL_ACTIVATE_PORTAL = 15, - SPELL_EFFECT_QUEST_COMPLETE = 16, - SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL = 17, - SPELL_EFFECT_RESURRECT = 18, - SPELL_EFFECT_ADD_EXTRA_ATTACKS = 19, - SPELL_EFFECT_DODGE = 20, - SPELL_EFFECT_EVADE = 21, - SPELL_EFFECT_PARRY = 22, - SPELL_EFFECT_BLOCK = 23, - SPELL_EFFECT_CREATE_ITEM = 24, - SPELL_EFFECT_WEAPON = 25, - SPELL_EFFECT_DEFENSE = 26, - SPELL_EFFECT_PERSISTENT_AREA_AURA = 27, - SPELL_EFFECT_SUMMON = 28, - SPELL_EFFECT_LEAP = 29, - SPELL_EFFECT_ENERGIZE = 30, - SPELL_EFFECT_WEAPON_PERCENT_DAMAGE = 31, - SPELL_EFFECT_TRIGGER_MISSILE = 32, - SPELL_EFFECT_OPEN_LOCK = 33, - SPELL_EFFECT_SUMMON_CHANGE_ITEM = 34, - SPELL_EFFECT_APPLY_AREA_AURA = 35, - SPELL_EFFECT_LEARN_SPELL = 36, - SPELL_EFFECT_SPELL_DEFENSE = 37, - SPELL_EFFECT_DISPEL = 38, - SPELL_EFFECT_LANGUAGE = 39, - SPELL_EFFECT_DUAL_WIELD = 40, - SPELL_EFFECT_SUMMON_WILD = 41, - SPELL_EFFECT_SUMMON_GUARDIAN = 42, - SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER= 43, - SPELL_EFFECT_SKILL_STEP = 44, - SPELL_EFFECT_UNDEFINED_45 = 45, - SPELL_EFFECT_SPAWN = 46, - SPELL_EFFECT_TRADE_SKILL = 47, - SPELL_EFFECT_STEALTH = 48, - SPELL_EFFECT_DETECT = 49, - // SPELL_EFFECT_SUMMON_OBJECT = 50, - SPELL_EFFECT_TRANS_DOOR = 50, - SPELL_EFFECT_FORCE_CRITICAL_HIT = 51, - SPELL_EFFECT_GUARANTEE_HIT = 52, - SPELL_EFFECT_ENCHANT_ITEM = 53, - SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY = 54, - SPELL_EFFECT_TAMECREATURE = 55, - SPELL_EFFECT_SUMMON_PET = 56, - SPELL_EFFECT_LEARN_PET_SPELL = 57, - SPELL_EFFECT_WEAPON_DAMAGE = 58, - SPELL_EFFECT_OPEN_LOCK_ITEM = 59, - SPELL_EFFECT_PROFICIENCY = 60, - SPELL_EFFECT_SEND_EVENT = 61, - SPELL_EFFECT_POWER_BURN = 62, - SPELL_EFFECT_THREAT = 63, - SPELL_EFFECT_TRIGGER_SPELL = 64, - SPELL_EFFECT_HEALTH_FUNNEL = 65, - SPELL_EFFECT_POWER_FUNNEL = 66, - SPELL_EFFECT_HEAL_MAX_HEALTH = 67, - SPELL_EFFECT_INTERRUPT_CAST = 68, - SPELL_EFFECT_DISTRACT = 69, - SPELL_EFFECT_PULL = 70, - SPELL_EFFECT_PICKPOCKET = 71, - SPELL_EFFECT_ADD_FARSIGHT = 72, - SPELL_EFFECT_SUMMON_POSSESSED = 73, - SPELL_EFFECT_SUMMON_TOTEM = 74, - SPELL_EFFECT_HEAL_MECHANICAL = 75, - SPELL_EFFECT_SUMMON_OBJECT_WILD = 76, - SPELL_EFFECT_SCRIPT_EFFECT = 77, - SPELL_EFFECT_ATTACK = 78, - SPELL_EFFECT_SANCTUARY = 79, - SPELL_EFFECT_ADD_COMBO_POINTS = 80, - SPELL_EFFECT_CREATE_HOUSE = 81, - SPELL_EFFECT_BIND_SIGHT = 82, - SPELL_EFFECT_DUEL = 83, - SPELL_EFFECT_STUCK = 84, - SPELL_EFFECT_SUMMON_PLAYER = 85, - SPELL_EFFECT_ACTIVATE_OBJECT = 86, - SPELL_EFFECT_SUMMON_TOTEM_SLOT1 = 87, - SPELL_EFFECT_SUMMON_TOTEM_SLOT2 = 88, - SPELL_EFFECT_SUMMON_TOTEM_SLOT3 = 89, - SPELL_EFFECT_SUMMON_TOTEM_SLOT4 = 90, - SPELL_EFFECT_THREAT_ALL = 91, - SPELL_EFFECT_ENCHANT_HELD_ITEM = 92, - SPELL_EFFECT_SUMMON_PHANTASM = 93, - SPELL_EFFECT_SELF_RESURRECT = 94, - SPELL_EFFECT_SKINNING = 95, - SPELL_EFFECT_CHARGE = 96, - SPELL_EFFECT_SUMMON_CRITTER = 97, - SPELL_EFFECT_KNOCK_BACK = 98, - SPELL_EFFECT_DISENCHANT = 99, - SPELL_EFFECT_INEBRIATE = 100, - SPELL_EFFECT_FEED_PET = 101, - SPELL_EFFECT_DISMISS_PET = 102, - SPELL_EFFECT_REPUTATION = 103, - SPELL_EFFECT_SUMMON_OBJECT_SLOT1 = 104, - SPELL_EFFECT_SUMMON_OBJECT_SLOT2 = 105, - SPELL_EFFECT_SUMMON_OBJECT_SLOT3 = 106, - SPELL_EFFECT_SUMMON_OBJECT_SLOT4 = 107, - SPELL_EFFECT_DISPEL_MECHANIC = 108, - SPELL_EFFECT_SUMMON_DEAD_PET = 109, - SPELL_EFFECT_DESTROY_ALL_TOTEMS = 110, - SPELL_EFFECT_DURABILITY_DAMAGE = 111, - SPELL_EFFECT_SUMMON_DEMON = 112, - SPELL_EFFECT_RESURRECT_NEW = 113, - SPELL_EFFECT_ATTACK_ME = 114, - SPELL_EFFECT_DURABILITY_DAMAGE_PCT = 115, - SPELL_EFFECT_SKIN_PLAYER_CORPSE = 116, - SPELL_EFFECT_SPIRIT_HEAL = 117, - SPELL_EFFECT_SKILL = 118, - SPELL_EFFECT_APPLY_AURA_NEW = 119, - SPELL_EFFECT_TELEPORT_GRAVEYARD = 120, - SPELL_EFFECT_NORMALIZED_WEAPON_DMG = 121, - SPELL_EFFECT_122 = 122, - SPELL_EFFECT_123 = 123, - SPELL_EFFECT_124 = 124, - SPELL_EFFECT_REDUCE_THREAT_PERCENT = 125, - SPELL_EFFECT_126 = 126, - SPELL_EFFECT_PROSPECTING = 127, - SPELL_EFFECT_128 = 128, - SPELL_EFFECT_129 = 129, - SPELL_EFFECT_130 = 130, - SPELL_EFFECT_131 = 131, - SPELL_EFFECT_132 = 132, - SPELL_EFFECT_133 = 133, - SPELL_EFFECT_134 = 134, - SPELL_EFFECT_135 = 135, - SPELL_EFFECT_136 = 136, - SPELL_EFFECT_137 = 137, - SPELL_EFFECT_138 = 138, - SPELL_EFFECT_139 = 139, - SPELL_EFFECT_140 = 140, - SPELL_EFFECT_141 = 141, - SPELL_EFFECT_142 = 142, - SPELL_EFFECT_143 = 143, - TOTAL_SPELL_EFFECTS = 144 +enum Stats +{ + STAT_STRENGTH = 0, + STAT_AGILITY = 1, + STAT_STAMINA = 2, + STAT_INTELLECT = 3, + STAT_SPIRIT = 4 }; -enum CharacterStates -{ - STATE_SITTING = 1, - STATE_SITTINGCHAIR = 2, - STATE_SLEEPING = 3, - STATE_SITTINGCHAIRLOW = 4, - STATE_SITTINGCHAIRMEDIUM = 5, - STATE_SITTINGCHAIRHIGH = 6, - STATE_DEAD = 7, - STATE_KNEEL = 8 -}; - -enum GameobjectTypes -{ - GAMEOBJECT_TYPE_DOOR = 0, - GAMEOBJECT_TYPE_BUTTON = 1, - GAMEOBJECT_TYPE_QUESTGIVER = 2, - GAMEOBJECT_TYPE_CHEST = 3, - GAMEOBJECT_TYPE_BINDER = 4, - GAMEOBJECT_TYPE_GENERIC = 5, - GAMEOBJECT_TYPE_TRAP = 6, - GAMEOBJECT_TYPE_CHAIR = 7, - GAMEOBJECT_TYPE_SPELL_FOCUS = 8, - GAMEOBJECT_TYPE_TEXT = 9, - GAMEOBJECT_TYPE_GOOBER = 10, - GAMEOBJECT_TYPE_TRANSPORT = 11, - GAMEOBJECT_TYPE_AREADAMAGE = 12, - GAMEOBJECT_TYPE_CAMERA = 13, - GAMEOBJECT_TYPE_MAP_OBJECT = 14, - GAMEOBJECT_TYPE_MO_TRANSPORT = 15, - GAMEOBJECT_TYPE_DUEL_ARBITER = 16, - GAMEOBJECT_TYPE_FISHINGNODE = 17, - GAMEOBJECT_TYPE_SUMMONING_RITUAL = 18, - GAMEOBJECT_TYPE_MAILBOX = 19, - GAMEOBJECT_TYPE_AUCTIONHOUSE = 20, - GAMEOBJECT_TYPE_GUARDPOST = 21, - GAMEOBJECT_TYPE_SPELLCASTER = 22, - GAMEOBJECT_TYPE_MEETINGSTONE = 23, - GAMEOBJECT_TYPE_FLAGSTAND = 24, - GAMEOBJECT_TYPE_FISHINGHOLE = 25, - GAMEOBJECT_TYPE_FLAGDROP = 26, - GAMEOBJECT_TYPE_MINI_GAME = 27, - GAMEOBJECT_TYPE_LOTTERY_KIOSK = 28, - GAMEOBJECT_TYPE_CAPTURE_POINT = 29, - GAMEOBJECT_TYPE_AURA_GENERATOR = 30, - GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY = 31, - MAX_GAMEOBJECT_TYPE = 32 // sending to client this or greater value can crash client. +#define MAX_STATS 5 + +enum Powers +{ + POWER_MANA = 0, + POWER_RAGE = 1, + POWER_FOCUS = 2, + POWER_ENERGY = 3, + POWER_HAPPINESS = 4 }; -enum TextEmote -{ - TEXTEMOTE_AGREE = 1, - TEXTEMOTE_AMAZE = 2, - TEXTEMOTE_ANGRY = 3, - TEXTEMOTE_APOLOGIZE = 4, - TEXTEMOTE_APPLAUD = 5, - TEXTEMOTE_BASHFUL = 6, - TEXTEMOTE_BECKON = 7, - TEXTEMOTE_BEG = 8, - TEXTEMOTE_BITE = 9, - TEXTEMOTE_BLEED = 10, - TEXTEMOTE_BLINK = 11, - TEXTEMOTE_BLUSH = 12, - TEXTEMOTE_BONK = 13, - TEXTEMOTE_BORED = 14, - TEXTEMOTE_BOUNCE = 15, - TEXTEMOTE_BRB = 16, - TEXTEMOTE_BOW = 17, - TEXTEMOTE_BURP = 18, - TEXTEMOTE_BYE = 19, - TEXTEMOTE_CACKLE = 20, - TEXTEMOTE_CHEER = 21, - TEXTEMOTE_CHICKEN = 22, - TEXTEMOTE_CHUCKLE = 23, - TEXTEMOTE_CLAP = 24, - TEXTEMOTE_CONFUSED = 25, - TEXTEMOTE_CONGRATULATE = 26, - TEXTEMOTE_COUGH = 27, - TEXTEMOTE_COWER = 28, - TEXTEMOTE_CRACK = 29, - TEXTEMOTE_CRINGE = 30, - TEXTEMOTE_CRY = 31, - TEXTEMOTE_CURIOUS = 32, - TEXTEMOTE_CURTSEY = 33, - TEXTEMOTE_DANCE = 34, - TEXTEMOTE_DRINK = 35, - TEXTEMOTE_DROOL = 36, - TEXTEMOTE_EAT = 37, - TEXTEMOTE_EYE = 38, - TEXTEMOTE_FART = 39, - TEXTEMOTE_FIDGET = 40, - TEXTEMOTE_FLEX = 41, - TEXTEMOTE_FROWN = 42, - TEXTEMOTE_GASP = 43, - TEXTEMOTE_GAZE = 44, - TEXTEMOTE_GIGGLE = 45, - TEXTEMOTE_GLARE = 46, - TEXTEMOTE_GLOAT = 47, - TEXTEMOTE_GREET = 48, - TEXTEMOTE_GRIN = 49, - TEXTEMOTE_GROAN = 50, - TEXTEMOTE_GROVEL = 51, - TEXTEMOTE_GUFFAW = 52, - TEXTEMOTE_HAIL = 53, - TEXTEMOTE_HAPPY = 54, - TEXTEMOTE_HELLO = 55, - TEXTEMOTE_HUG = 56, - TEXTEMOTE_HUNGRY = 57, - TEXTEMOTE_KISS = 58, - TEXTEMOTE_KNEEL = 59, - TEXTEMOTE_LAUGH = 60, - TEXTEMOTE_LAYDOWN = 61, - TEXTEMOTE_MESSAGE = 62, - TEXTEMOTE_MOAN = 63, - TEXTEMOTE_MOON = 64, - TEXTEMOTE_MOURN = 65, - TEXTEMOTE_NO = 66, - TEXTEMOTE_NOD = 67, - TEXTEMOTE_NOSEPICK = 68, - TEXTEMOTE_PANIC = 69, - TEXTEMOTE_PEER = 70, - TEXTEMOTE_PLEAD = 71, - TEXTEMOTE_POINT = 72, - TEXTEMOTE_POKE = 73, - TEXTEMOTE_PRAY = 74, - TEXTEMOTE_ROAR = 75, - TEXTEMOTE_ROFL = 76, - TEXTEMOTE_RUDE = 77, - TEXTEMOTE_SALUTE = 78, - TEXTEMOTE_SCRATCH = 79, - TEXTEMOTE_SEXY = 80, - TEXTEMOTE_SHAKE = 81, - TEXTEMOTE_SHOUT = 82, - TEXTEMOTE_SHRUG = 83, - TEXTEMOTE_SHY = 84, - TEXTEMOTE_SIGH = 85, - TEXTEMOTE_SIT = 86, - TEXTEMOTE_SLEEP = 87, - TEXTEMOTE_SNARL = 88, - TEXTEMOTE_SPIT = 89, - TEXTEMOTE_STARE = 90, - TEXTEMOTE_SURPRISED = 91, - TEXTEMOTE_SURRENDER = 92, - TEXTEMOTE_TALK = 93, - TEXTEMOTE_TALKEX = 94, - TEXTEMOTE_TALKQ = 95, - TEXTEMOTE_TAP = 96, - TEXTEMOTE_THANK = 97, - TEXTEMOTE_THREATEN = 98, - TEXTEMOTE_TIRED = 99, - TEXTEMOTE_VICTORY = 100, - TEXTEMOTE_WAVE = 101, - TEXTEMOTE_WELCOME = 102, - TEXTEMOTE_WHINE = 103, - TEXTEMOTE_WHISTLE = 104, - TEXTEMOTE_WORK = 105, - TEXTEMOTE_YAWN = 106, - TEXTEMOTE_BOGGLE = 107, - TEXTEMOTE_CALM = 108, - TEXTEMOTE_COLD = 109, - TEXTEMOTE_COMFORT = 110, - TEXTEMOTE_CUDDLE = 111, - TEXTEMOTE_DUCK = 112, - TEXTEMOTE_INSULT = 113, - TEXTEMOTE_INTRODUCE = 114, - TEXTEMOTE_JK = 115, - TEXTEMOTE_LICK = 116, - TEXTEMOTE_LISTEN = 117, - TEXTEMOTE_LOST = 118, - TEXTEMOTE_MOCK = 119, - TEXTEMOTE_PONDER = 120, - TEXTEMOTE_POUNCE = 121, - TEXTEMOTE_PRAISE = 122, - TEXTEMOTE_PURR = 123, - TEXTEMOTE_PUZZLE = 124, - TEXTEMOTE_RAISE = 125, - TEXTEMOTE_READY = 126, - TEXTEMOTE_SHIMMY = 127, - TEXTEMOTE_SHIVER = 128, - TEXTEMOTE_SHOO = 129, - TEXTEMOTE_SLAP = 130, - TEXTEMOTE_SMIRK = 131, - TEXTEMOTE_SNIFF = 132, - TEXTEMOTE_SNUB = 133, - TEXTEMOTE_SOOTHE = 134, - TEXTEMOTE_STINK = 135, - TEXTEMOTE_TAUNT = 136, - TEXTEMOTE_TEASE = 137, - TEXTEMOTE_THIRSTY = 138, - TEXTEMOTE_VETO = 139, - TEXTEMOTE_SNICKER = 140, - TEXTEMOTE_STAND = 141, - TEXTEMOTE_TICKLE = 142, - TEXTEMOTE_VIOLIN = 143, - TEXTEMOTE_SMILE = 163, - TEXTEMOTE_RASP = 183, - TEXTEMOTE_PITY = 203, - TEXTEMOTE_GROWL = 204, - TEXTEMOTE_BARK = 205, - TEXTEMOTE_SCARED = 223, - TEXTEMOTE_FLOP = 224, - TEXTEMOTE_LOVE = 225, - TEXTEMOTE_MOO = 226, - TEXTEMOTE_OPENFIRE = 327, - TEXTEMOTE_FLIRT = 328, - TEXTEMOTE_JOKE = 329, - TEXTEMOTE_COMMEND = 243, - TEXTEMOTE_WINK = 363, - TEXTEMOTE_PAT = 364, - TEXTEMOTE_SERIOUS = 365, - TEXTEMOTE_MOUNTSPECIAL = 366 -}; - -enum Emote -{ - EMOTE_ONESHOT_NONE = 0, - EMOTE_ONESHOT_TALK = 1, - EMOTE_ONESHOT_BOW = 2, - EMOTE_ONESHOT_WAVE = 3, - EMOTE_ONESHOT_CHEER = 4, - EMOTE_ONESHOT_EXCLAMATION = 5, - EMOTE_ONESHOT_QUESTION = 6, - EMOTE_ONESHOT_EAT = 7, - EMOTE_STATE_DANCE = 10, - EMOTE_ONESHOT_LAUGH = 11, - EMOTE_STATE_SLEEP = 12, - EMOTE_STATE_SIT = 13, - EMOTE_ONESHOT_RUDE = 14, - EMOTE_ONESHOT_ROAR = 15, - EMOTE_ONESHOT_KNEEL = 16, - EMOTE_ONESHOT_KISS = 17, - EMOTE_ONESHOT_CRY = 18, - EMOTE_ONESHOT_CHICKEN = 19, - EMOTE_ONESHOT_BEG = 20, - EMOTE_ONESHOT_APPLAUD = 21, - EMOTE_ONESHOT_SHOUT = 22, - EMOTE_ONESHOT_FLEX = 23, - EMOTE_ONESHOT_SHY = 24, - EMOTE_ONESHOT_POINT = 25, - EMOTE_STATE_STAND = 26, - EMOTE_STATE_READYUNARMED = 27, - EMOTE_STATE_WORK = 28, - EMOTE_STATE_POINT = 29, - EMOTE_STATE_NONE = 30, - EMOTE_ONESHOT_WOUND = 33, - EMOTE_ONESHOT_WOUNDCRITICAL = 34, - EMOTE_ONESHOT_ATTACKUNARMED = 35, - EMOTE_ONESHOT_ATTACK1H = 36, - EMOTE_ONESHOT_ATTACK2HTIGHT = 37, - EMOTE_ONESHOT_ATTACK2HLOOSE = 38, - EMOTE_ONESHOT_PARRYUNARMED = 39, - EMOTE_ONESHOT_PARRYSHIELD = 43, - EMOTE_ONESHOT_READYUNARMED = 44, - EMOTE_ONESHOT_READY1H = 45, - EMOTE_ONESHOT_READYBOW = 48, - EMOTE_ONESHOT_SPELLPRECAST = 50, - EMOTE_ONESHOT_SPELLCAST = 51, - EMOTE_ONESHOT_BATTLEROAR = 53, - EMOTE_ONESHOT_SPECIALATTACK1H = 54, - EMOTE_ONESHOT_KICK = 60, - EMOTE_ONESHOT_ATTACKTHROWN = 61, - EMOTE_STATE_STUN = 64, - EMOTE_STATE_DEAD = 65, - EMOTE_ONESHOT_SALUTE = 66, - EMOTE_STATE_KNEEL = 68, - EMOTE_STATE_USESTANDING = 69, - EMOTE_ONESHOT_WAVE_NOSHEATHE = 70, - EMOTE_ONESHOT_CHEER_NOSHEATHE = 71, - EMOTE_ONESHOT_EAT_NOSHEATHE = 92, - EMOTE_STATE_STUN_NOSHEATHE = 93, - EMOTE_ONESHOT_DANCE = 94, - EMOTE_ONESHOT_SALUTE_NOSHEATH = 113, - EMOTE_STATE_USESTANDING_NOSHEATHE = 133, - EMOTE_ONESHOT_LAUGH_NOSHEATHE = 153, - EMOTE_STATE_WORK_NOSHEATHE = 173, - EMOTE_STATE_SPELLPRECAST = 193, - EMOTE_ONESHOT_READYRIFLE = 213, - EMOTE_STATE_READYRIFLE = 214, - EMOTE_STATE_WORK_NOSHEATHE_MINING = 233, - EMOTE_STATE_WORK_NOSHEATHE_CHOPWOOD= 234, - EMOTE_zzOLDONESHOT_LIFTOFF = 253, - EMOTE_ONESHOT_LIFTOFF = 254, - EMOTE_ONESHOT_YES = 273, - EMOTE_ONESHOT_NO = 274, - EMOTE_ONESHOT_TRAIN = 275, - EMOTE_ONESHOT_LAND = 293, - EMOTE_STATE_AT_EASE = 313, - EMOTE_STATE_READY1H = 333, - EMOTE_STATE_SPELLKNEELSTART = 353, - EMOTE_STATE_SUBMERGED = 373, - EMOTE_ONESHOT_SUBMERGE = 374, - EMOTE_STATE_READY2H = 375, - EMOTE_STATE_READYBOW = 376, - EMOTE_ONESHOT_MOUNTSPECIAL = 377, - EMOTE_STATE_TALK = 378, - EMOTE_STATE_FISHING = 379, - EMOTE_ONESHOT_FISHING = 380, - EMOTE_ONESHOT_LOOT = 381, - EMOTE_STATE_WHIRLWIND = 382, - EMOTE_STATE_DROWNED = 383, - EMOTE_STATE_HOLD_BOW = 384, - EMOTE_STATE_HOLD_RIFLE = 385, - EMOTE_STATE_HOLD_THROWN = 386, - EMOTE_ONESHOT_DROWN = 387, - EMOTE_ONESHOT_STOMP = 388, - EMOTE_ONESHOT_ATTACKOFF = 389, - EMOTE_ONESHOT_ATTACKOFFPIERCE = 390, - EMOTE_STATE_ROAR = 391, - EMOTE_STATE_LAUGH = 392, - EMOTE_ONESHOT_CREATURE_SPECIAL = 393 -}; - -enum Anim -{ - ANIM_STAND = 0x0, - ANIM_DEATH = 0x1, - ANIM_SPELL = 0x2, - ANIM_STOP = 0x3, - ANIM_WALK = 0x4, - ANIM_RUN = 0x5, - ANIM_DEAD = 0x6, - ANIM_RISE = 0x7, - ANIM_STANDWOUND = 0x8, - ANIM_COMBATWOUND = 0x9, - ANIM_COMBATCRITICAL = 0xA, - ANIM_SHUFFLE_LEFT = 0xB, - ANIM_SHUFFLE_RIGHT = 0xC, - ANIM_WALK_BACKWARDS = 0xD, - ANIM_STUN = 0xE, - ANIM_HANDS_CLOSED = 0xF, - ANIM_ATTACKUNARMED = 0x10, - ANIM_ATTACK1H = 0x11, - ANIM_ATTACK2HTIGHT = 0x12, - ANIM_ATTACK2HLOOSE = 0x13, - ANIM_PARRYUNARMED = 0x14, - ANIM_PARRY1H = 0x15, - ANIM_PARRY2HTIGHT = 0x16, - ANIM_PARRY2HLOOSE = 0x17, - ANIM_PARRYSHIELD = 0x18, - ANIM_READYUNARMED = 0x19, - ANIM_READY1H = 0x1A, - ANIM_READY2HTIGHT = 0x1B, - ANIM_READY2HLOOSE = 0x1C, - ANIM_READYBOW = 0x1D, - ANIM_DODGE = 0x1E, - ANIM_SPELLPRECAST = 0x1F, - ANIM_SPELLCAST = 0x20, - ANIM_SPELLCASTAREA = 0x21, - ANIM_NPCWELCOME = 0x22, - ANIM_NPCGOODBYE = 0x23, - ANIM_BLOCK = 0x24, - ANIM_JUMPSTART = 0x25, - ANIM_JUMP = 0x26, - ANIM_JUMPEND = 0x27, - ANIM_FALL = 0x28, - ANIM_SWIMIDLE = 0x29, - ANIM_SWIM = 0x2A, - ANIM_SWIM_LEFT = 0x2B, - ANIM_SWIM_RIGHT = 0x2C, - ANIM_SWIM_BACKWARDS = 0x2D, - ANIM_ATTACKBOW = 0x2E, - ANIM_FIREBOW = 0x2F, - ANIM_READYRIFLE = 0x30, - ANIM_ATTACKRIFLE = 0x31, - ANIM_LOOT = 0x32, - ANIM_SPELL_PRECAST_DIRECTED = 0x33, - ANIM_SPELL_PRECAST_OMNI = 0x34, - ANIM_SPELL_CAST_DIRECTED = 0x35, - ANIM_SPELL_CAST_OMNI = 0x36, - ANIM_SPELL_BATTLEROAR = 0x37, - ANIM_SPELL_READYABILITY = 0x38, - ANIM_SPELL_SPECIAL1H = 0x39, - ANIM_SPELL_SPECIAL2H = 0x3A, - ANIM_SPELL_SHIELDBASH = 0x3B, - ANIM_EMOTE_TALK = 0x3C, - ANIM_EMOTE_EAT = 0x3D, - ANIM_EMOTE_WORK = 0x3E, - ANIM_EMOTE_USE_STANDING = 0x3F, - ANIM_EMOTE_EXCLAMATION = 0x40, - ANIM_EMOTE_QUESTION = 0x41, - ANIM_EMOTE_BOW = 0x42, - ANIM_EMOTE_WAVE = 0x43, - ANIM_EMOTE_CHEER = 0x44, - ANIM_EMOTE_DANCE = 0x45, - ANIM_EMOTE_LAUGH = 0x46, - ANIM_EMOTE_SLEEP = 0x47, - ANIM_EMOTE_SIT_GROUND = 0x48, - ANIM_EMOTE_RUDE = 0x49, - ANIM_EMOTE_ROAR = 0x4A, - ANIM_EMOTE_KNEEL = 0x4B, - ANIM_EMOTE_KISS = 0x4C, - ANIM_EMOTE_CRY = 0x4D, - ANIM_EMOTE_CHICKEN = 0x4E, - ANIM_EMOTE_BEG = 0x4F, - ANIM_EMOTE_APPLAUD = 0x50, - ANIM_EMOTE_SHOUT = 0x51, - ANIM_EMOTE_FLEX = 0x52, - ANIM_EMOTE_SHY = 0x53, - ANIM_EMOTE_POINT = 0x54, - ANIM_ATTACK1HPIERCE = 0x55, - ANIM_ATTACK2HLOOSEPIERCE = 0x56, - ANIM_ATTACKOFF = 0x57, - ANIM_ATTACKOFFPIERCE = 0x58, - ANIM_SHEATHE = 0x59, - ANIM_HIPSHEATHE = 0x5A, - ANIM_MOUNT = 0x5B, - ANIM_RUN_LEANRIGHT = 0x5C, - ANIM_RUN_LEANLEFT = 0x5D, - ANIM_MOUNT_SPECIAL = 0x5E, - ANIM_KICK = 0x5F, - ANIM_SITDOWN = 0x60, - ANIM_SITTING = 0x61, - ANIM_SITUP = 0x62, - ANIM_SLEEPDOWN = 0x63, - ANIM_SLEEPING = 0x64, - ANIM_SLEEPUP = 0x65, - ANIM_SITCHAIRLOW = 0x66, - ANIM_SITCHAIRMEDIUM = 0x67, - ANIM_SITCHAIRHIGH = 0x68, - ANIM_LOADBOW = 0x69, - ANIM_LOADRIFLE = 0x6A, - ANIM_ATTACKTHROWN = 0x6B, - ANIM_READYTHROWN = 0x6C, - ANIM_HOLDBOW = 0x6D, - ANIM_HOLDRIFLE = 0x6E, - ANIM_HOLDTHROWN = 0x6F, - ANIM_LOADTHROWN = 0x70, - ANIM_EMOTE_SALUTE = 0x71, - ANIM_KNEELDOWN = 0x72, - ANIM_KNEELING = 0x73, - ANIM_KNEELUP = 0x74, - ANIM_ATTACKUNARMEDOFF = 0x75, - ANIM_SPECIALUNARMED = 0x76, - ANIM_STEALTHWALK = 0x77, - ANIM_STEALTHSTAND = 0x78, - ANIM_KNOCKDOWN = 0x79, - ANIM_EATING = 0x7A, - ANIM_USESTANDINGLOOP = 0x7B, - ANIM_CHANNELCASTDIRECTED = 0x7C, - ANIM_CHANNELCASTOMNI = 0x7D, - ANIM_WHIRLWIND = 0x7E, - ANIM_BIRTH = 0x7F, - ANIM_USESTANDINGSTART = 0x80, - ANIM_USESTANDINGEND = 0x81, - ANIM_HOWL = 0x82, - ANIM_DROWN = 0x83, - ANIM_DROWNED = 0x84, - ANIM_FISHINGCAST = 0x85, - ANIM_FISHINGLOOP = 0x86, - ANIM_FLY = 0x87, - ANIM_EMOTE_WORK_NO_SHEATHE = 0x88, - ANIM_EMOTE_STUN_NO_SHEATHE = 0x89, - ANIM_EMOTE_USE_STANDING_NO_SHEATHE= 0x8A, - ANIM_SPELL_SLEEP_DOWN = 0x8B, - ANIM_SPELL_KNEEL_START = 0x8C, - ANIM_SPELL_KNEEL_LOOP = 0x8D, - ANIM_SPELL_KNEEL_END = 0x8E, - ANIM_SPRINT = 0x8F, - ANIM_IN_FIGHT = 0x90, - - ANIM_GAMEOBJ_SPAWN = 145, - ANIM_GAMEOBJ_CLOSE = 146, - ANIM_GAMEOBJ_CLOSED = 147, - ANIM_GAMEOBJ_OPEN = 148, - ANIM_GAMEOBJ_OPENED = 149, - ANIM_GAMEOBJ_DESTROY = 150, - ANIM_GAMEOBJ_DESTROYED = 151, - ANIM_GAMEOBJ_REBUILD = 152, - ANIM_GAMEOBJ_CUSTOM0 = 153, - ANIM_GAMEOBJ_CUSTOM1 = 154, - ANIM_GAMEOBJ_CUSTOM2 = 155, - ANIM_GAMEOBJ_CUSTOM3 = 156, - ANIM_GAMEOBJ_DESPAWN = 157, - ANIM_HOLD = 158, - ANIM_DECAY = 159, - ANIM_BOWPULL = 160, - ANIM_BOWRELEASE = 161, - ANIM_SHIPSTART = 162, - ANIM_SHIPMOVEING = 163, - ANIM_SHIPSTOP = 164, - ANIM_GROUPARROW = 165, - ANIM_ARROW = 166, - ANIM_CORPSEARROW = 167, - ANIM_GUIDEARROW = 168, - ANIM_SWAY = 169, - ANIM_DRUIDCATPOUNCE = 170, - ANIM_DRUIDCATRIP = 171, - ANIM_DRUIDCATRAKE = 172, - ANIM_DRUIDCATRAVAGE = 173, - ANIM_DRUIDCATCLAW = 174, - ANIM_DRUIDCATCOWER = 175, - ANIM_DRUIDBEARSWIPE = 176, - ANIM_DRUIDBEARBITE = 177, - ANIM_DRUIDBEARMAUL = 178, - ANIM_DRUIDBEARBASH = 179, - ANIM_DRAGONTAIL = 180, - ANIM_DRAGONSTOMP = 181, - ANIM_DRAGONSPIT = 182, - ANIM_DRAGONSPITHOVER = 183, - ANIM_DRAGONSPITFLY = 184, - ANIM_EMOTEYES = 185, - ANIM_EMOTENO = 186, - ANIM_JUMPLANDRUN = 187, - ANIM_LOOTHOLD = 188, - ANIM_LOOTUP = 189, - ANIM_STANDHIGH = 190, - ANIM_IMPACT = 191, - ANIM_LIFTOFF = 192, - ANIM_HOVER = 193, - ANIM_SUCCUBUSENTICE = 194, - ANIM_EMOTETRAIN = 195, - ANIM_EMOTEDEAD = 196, - ANIM_EMOTEDANCEONCE = 197, - ANIM_DEFLECT = 198, - ANIM_EMOTEEATNOSHEATHE = 199, - ANIM_LAND = 200, - ANIM_SUBMERGE = 201, - ANIM_SUBMERGED = 202, - ANIM_CANNIBALIZE = 203, - ANIM_ARROWBIRTH = 204, - ANIM_GROURARROWBIRTH = 205, - ANIM_CORPSEARROWBIRTH = 206, - ANIM_GUIDEARROWBIRTH = 207 +#define MAX_POWERS 5 + +enum SpellSchools +{ + SPELL_SCHOOL_NORMAL = 0, + SPELL_SCHOOL_HOLY = 1, + SPELL_SCHOOL_FIRE = 2, + SPELL_SCHOOL_NATURE = 3, + SPELL_SCHOOL_FROST = 4, + SPELL_SCHOOL_SHADOW = 5, + SPELL_SCHOOL_ARCANE = 6 }; -enum LockType -{ - LOCKTYPE_PICKLOCK = 1, - LOCKTYPE_HERBALISM = 2, - LOCKTYPE_MINING = 3, - LOCKTYPE_DISARM_TRAP = 4, - LOCKTYPE_OPEN = 5, - LOCKTYPE_TREASURE = 6, - LOCKTYPE_CALCIFIED_ELVEN_GEMS = 7, - LOCKTYPE_CLOSE = 8, - LOCKTYPE_ARM_TRAP = 9, - LOCKTYPE_QUICK_OPEN = 10, - LOCKTYPE_QUICK_CLOSE = 11, - LOCKTYPE_OPEN_TINKERING = 12, - LOCKTYPE_OPEN_KNEELING = 13, - LOCKTYPE_OPEN_ATTACKING = 14, - LOCKTYPE_GAHZRIDIAN = 15, - LOCKTYPE_BLASTING = 16, - LOCKTYPE_SLOW_OPEN = 17, - LOCKTYPE_SLOW_CLOSE = 18, - LOCKTYPE_FISHING = 19 +#define MAX_SPELL_SCHOOL 7 + +enum ItemQualities +{ + ITEM_QUALITY_POOR = 0, //GREY + ITEM_QUALITY_NORMAL = 1, //WHITE + ITEM_QUALITY_UNCOMMON = 2, //GREEN + ITEM_QUALITY_RARE = 3, //BLUE + ITEM_QUALITY_EPIC = 4, //PURPLE + ITEM_QUALITY_LEGENDARY = 5, //ORANGE + ITEM_QUALITY_ARTIFACT = 6 //LIGHT YELLOW }; -enum TrainerType -{ - TRAINER_TYPE_CLASS = 0, - TRAINER_TYPE_MOUNTS = 1, - TRAINER_TYPE_TRADESKILLS = 2, - TRAINER_TYPE_PETS = 3 +enum sheathTypes +{ + SHEATHETYPE_NONE = 0, + SHEATHETYPE_MAINHAND = 1, + SHEATHETYPE_OFFHAND = 2, + SHEATHETYPE_LARGEWEAPONLEFT = 3, + SHEATHETYPE_LARGEWEAPONRIGHT = 4, + SHEATHETYPE_HIPWEAPONLEFT = 5, + SHEATHETYPE_HIPWEAPONRIGHT = 6, + SHEATHETYPE_SHIELD = 7 +}; + +enum CharacterSlot +{ + SLOT_HEAD = 0, + SLOT_NECK = 1, + SLOT_SHOULDERS = 2, + SLOT_SHIRT = 3, + SLOT_CHEST = 4, + SLOT_WAIST = 5, + SLOT_LEGS = 6, + SLOT_FEET = 7, + SLOT_WRISTS = 8, + SLOT_HANDS = 9, + SLOT_FINGER1 = 10, + SLOT_FINGER2 = 11, + SLOT_TRINKET1 = 12, + SLOT_TRINKET2 = 13, + SLOT_BACK = 14, + SLOT_MAIN_HAND = 15, + SLOT_OFF_HAND = 16, + SLOT_RANGED = 17, + SLOT_TABARD = 18, + SLOT_EMPTY = 19 +}; + +enum Language +{ + LANG_GLOBAL = 0, + LANG_UNIVERSAL = 0, + LANG_ORCISH = 1, + LANG_DARNASSIAN = 2, + LANG_TAURAHE = 3, + LANG_DWARVISH = 6, + LANG_COMMON = 7, + LANG_DEMONIC = 8, + LANG_TITAN = 9, + LANG_THALASSIAN = 10, + LANG_DRACONIC = 11, + LANG_KALIMAG = 12, + LANG_GNOMISH = 13, + LANG_TROLL = 14, + LANG_GUTTERSPEAK = 33, + LANG_DRAENEI = 35, + LANG_ADDON = 0xFFFFFFFF // used by addons +}; + +enum SpellEffects +{ + SPELL_EFFECT_INSTAKILL = 1, + SPELL_EFFECT_SCHOOL_DAMAGE = 2, + SPELL_EFFECT_DUMMY = 3, + SPELL_EFFECT_PORTAL_TELEPORT = 4, + SPELL_EFFECT_TELEPORT_UNITS = 5, + SPELL_EFFECT_APPLY_AURA = 6, + SPELL_EFFECT_ENVIRONMENTAL_DAMAGE = 7, + SPELL_EFFECT_MANA_DRAIN = 8, + SPELL_EFFECT_HEALTH_LEECH = 9, + SPELL_EFFECT_HEAL = 10, + SPELL_EFFECT_BIND = 11, + SPELL_EFFECT_PORTAL = 12, + SPELL_EFFECT_RITUAL_BASE = 13, + SPELL_EFFECT_RITUAL_SPECIALIZE = 14, + SPELL_EFFECT_RITUAL_ACTIVATE_PORTAL = 15, + SPELL_EFFECT_QUEST_COMPLETE = 16, + SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL = 17, + SPELL_EFFECT_RESURRECT = 18, + SPELL_EFFECT_ADD_EXTRA_ATTACKS = 19, + SPELL_EFFECT_DODGE = 20, + SPELL_EFFECT_EVADE = 21, + SPELL_EFFECT_PARRY = 22, + SPELL_EFFECT_BLOCK = 23, + SPELL_EFFECT_CREATE_ITEM = 24, + SPELL_EFFECT_WEAPON = 25, + SPELL_EFFECT_DEFENSE = 26, + SPELL_EFFECT_PERSISTENT_AREA_AURA = 27, + SPELL_EFFECT_SUMMON = 28, + SPELL_EFFECT_LEAP = 29, + SPELL_EFFECT_ENERGIZE = 30, + SPELL_EFFECT_WEAPON_PERCENT_DAMAGE = 31, + SPELL_EFFECT_TRIGGER_MISSILE = 32, + SPELL_EFFECT_OPEN_LOCK = 33, + SPELL_EFFECT_SUMMON_CHANGE_ITEM = 34, + SPELL_EFFECT_APPLY_AREA_AURA = 35, + SPELL_EFFECT_LEARN_SPELL = 36, + SPELL_EFFECT_SPELL_DEFENSE = 37, + SPELL_EFFECT_DISPEL = 38, + SPELL_EFFECT_LANGUAGE = 39, + SPELL_EFFECT_DUAL_WIELD = 40, + SPELL_EFFECT_SUMMON_WILD = 41, + SPELL_EFFECT_SUMMON_GUARDIAN = 42, + SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER= 43, + SPELL_EFFECT_SKILL_STEP = 44, + SPELL_EFFECT_UNDEFINED_45 = 45, + SPELL_EFFECT_SPAWN = 46, + SPELL_EFFECT_TRADE_SKILL = 47, + SPELL_EFFECT_STEALTH = 48, + SPELL_EFFECT_DETECT = 49, + // SPELL_EFFECT_SUMMON_OBJECT = 50, + SPELL_EFFECT_TRANS_DOOR = 50, + SPELL_EFFECT_FORCE_CRITICAL_HIT = 51, + SPELL_EFFECT_GUARANTEE_HIT = 52, + SPELL_EFFECT_ENCHANT_ITEM = 53, + SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY = 54, + SPELL_EFFECT_TAMECREATURE = 55, + SPELL_EFFECT_SUMMON_PET = 56, + SPELL_EFFECT_LEARN_PET_SPELL = 57, + SPELL_EFFECT_WEAPON_DAMAGE = 58, + SPELL_EFFECT_OPEN_LOCK_ITEM = 59, + SPELL_EFFECT_PROFICIENCY = 60, + SPELL_EFFECT_SEND_EVENT = 61, + SPELL_EFFECT_POWER_BURN = 62, + SPELL_EFFECT_THREAT = 63, + SPELL_EFFECT_TRIGGER_SPELL = 64, + SPELL_EFFECT_HEALTH_FUNNEL = 65, + SPELL_EFFECT_POWER_FUNNEL = 66, + SPELL_EFFECT_HEAL_MAX_HEALTH = 67, + SPELL_EFFECT_INTERRUPT_CAST = 68, + SPELL_EFFECT_DISTRACT = 69, + SPELL_EFFECT_PULL = 70, + SPELL_EFFECT_PICKPOCKET = 71, + SPELL_EFFECT_ADD_FARSIGHT = 72, + SPELL_EFFECT_SUMMON_POSSESSED = 73, + SPELL_EFFECT_SUMMON_TOTEM = 74, + SPELL_EFFECT_HEAL_MECHANICAL = 75, + SPELL_EFFECT_SUMMON_OBJECT_WILD = 76, + SPELL_EFFECT_SCRIPT_EFFECT = 77, + SPELL_EFFECT_ATTACK = 78, + SPELL_EFFECT_SANCTUARY = 79, + SPELL_EFFECT_ADD_COMBO_POINTS = 80, + SPELL_EFFECT_CREATE_HOUSE = 81, + SPELL_EFFECT_BIND_SIGHT = 82, + SPELL_EFFECT_DUEL = 83, + SPELL_EFFECT_STUCK = 84, + SPELL_EFFECT_SUMMON_PLAYER = 85, + SPELL_EFFECT_ACTIVATE_OBJECT = 86, + SPELL_EFFECT_SUMMON_TOTEM_SLOT1 = 87, + SPELL_EFFECT_SUMMON_TOTEM_SLOT2 = 88, + SPELL_EFFECT_SUMMON_TOTEM_SLOT3 = 89, + SPELL_EFFECT_SUMMON_TOTEM_SLOT4 = 90, + SPELL_EFFECT_THREAT_ALL = 91, + SPELL_EFFECT_ENCHANT_HELD_ITEM = 92, + SPELL_EFFECT_SUMMON_PHANTASM = 93, + SPELL_EFFECT_SELF_RESURRECT = 94, + SPELL_EFFECT_SKINNING = 95, + SPELL_EFFECT_CHARGE = 96, + SPELL_EFFECT_SUMMON_CRITTER = 97, + SPELL_EFFECT_KNOCK_BACK = 98, + SPELL_EFFECT_DISENCHANT = 99, + SPELL_EFFECT_INEBRIATE = 100, + SPELL_EFFECT_FEED_PET = 101, + SPELL_EFFECT_DISMISS_PET = 102, + SPELL_EFFECT_REPUTATION = 103, + SPELL_EFFECT_SUMMON_OBJECT_SLOT1 = 104, + SPELL_EFFECT_SUMMON_OBJECT_SLOT2 = 105, + SPELL_EFFECT_SUMMON_OBJECT_SLOT3 = 106, + SPELL_EFFECT_SUMMON_OBJECT_SLOT4 = 107, + SPELL_EFFECT_DISPEL_MECHANIC = 108, + SPELL_EFFECT_SUMMON_DEAD_PET = 109, + SPELL_EFFECT_DESTROY_ALL_TOTEMS = 110, + SPELL_EFFECT_DURABILITY_DAMAGE = 111, + SPELL_EFFECT_SUMMON_DEMON = 112, + SPELL_EFFECT_RESURRECT_NEW = 113, + SPELL_EFFECT_ATTACK_ME = 114, + SPELL_EFFECT_DURABILITY_DAMAGE_PCT = 115, + SPELL_EFFECT_SKIN_PLAYER_CORPSE = 116, + SPELL_EFFECT_SPIRIT_HEAL = 117, + SPELL_EFFECT_SKILL = 118, + SPELL_EFFECT_APPLY_AURA_NEW = 119, + SPELL_EFFECT_TELEPORT_GRAVEYARD = 120, + SPELL_EFFECT_NORMALIZED_WEAPON_DMG = 121, + SPELL_EFFECT_122 = 122, + SPELL_EFFECT_123 = 123, + SPELL_EFFECT_124 = 124, + SPELL_EFFECT_REDUCE_THREAT_PERCENT = 125, + SPELL_EFFECT_126 = 126, + SPELL_EFFECT_PROSPECTING = 127, + SPELL_EFFECT_128 = 128, + SPELL_EFFECT_129 = 129, + SPELL_EFFECT_130 = 130, + SPELL_EFFECT_131 = 131, + SPELL_EFFECT_132 = 132, + SPELL_EFFECT_133 = 133, + SPELL_EFFECT_134 = 134, + SPELL_EFFECT_135 = 135, + SPELL_EFFECT_136 = 136, + SPELL_EFFECT_137 = 137, + SPELL_EFFECT_138 = 138, + SPELL_EFFECT_139 = 139, + SPELL_EFFECT_140 = 140, + SPELL_EFFECT_141 = 141, + SPELL_EFFECT_142 = 142, + SPELL_EFFECT_143 = 143, + SPELL_EFFECT_144 = 144, + SPELL_EFFECT_145 = 145, + SPELL_EFFECT_146 = 146, + SPELL_EFFECT_147 = 147, + SPELL_EFFECT_148 = 148, + SPELL_EFFECT_149 = 149, + TOTAL_SPELL_EFFECTS = 150 +}; + +enum CharacterStates +{ + STATE_SITTING = 1, + STATE_SITTINGCHAIR = 2, + STATE_SLEEPING = 3, + STATE_SITTINGCHAIRLOW = 4, + STATE_SITTINGCHAIRMEDIUM = 5, + STATE_SITTINGCHAIRHIGH = 6, + STATE_DEAD = 7, + STATE_KNEEL = 8 +}; + +enum GameobjectTypes +{ + GAMEOBJECT_TYPE_DOOR = 0, + GAMEOBJECT_TYPE_BUTTON = 1, + GAMEOBJECT_TYPE_QUESTGIVER = 2, + GAMEOBJECT_TYPE_CHEST = 3, + GAMEOBJECT_TYPE_BINDER = 4, + GAMEOBJECT_TYPE_GENERIC = 5, + GAMEOBJECT_TYPE_TRAP = 6, + GAMEOBJECT_TYPE_CHAIR = 7, + GAMEOBJECT_TYPE_SPELL_FOCUS = 8, + GAMEOBJECT_TYPE_TEXT = 9, + GAMEOBJECT_TYPE_GOOBER = 10, + GAMEOBJECT_TYPE_TRANSPORT = 11, + GAMEOBJECT_TYPE_AREADAMAGE = 12, + GAMEOBJECT_TYPE_CAMERA = 13, + GAMEOBJECT_TYPE_MAP_OBJECT = 14, + GAMEOBJECT_TYPE_MO_TRANSPORT = 15, + GAMEOBJECT_TYPE_DUEL_ARBITER = 16, + GAMEOBJECT_TYPE_FISHINGNODE = 17, + GAMEOBJECT_TYPE_SUMMONING_RITUAL = 18, + GAMEOBJECT_TYPE_MAILBOX = 19, + GAMEOBJECT_TYPE_AUCTIONHOUSE = 20, + GAMEOBJECT_TYPE_GUARDPOST = 21, + GAMEOBJECT_TYPE_SPELLCASTER = 22, + GAMEOBJECT_TYPE_MEETINGSTONE = 23, + GAMEOBJECT_TYPE_FLAGSTAND = 24, + GAMEOBJECT_TYPE_FISHINGHOLE = 25, + GAMEOBJECT_TYPE_FLAGDROP = 26, + GAMEOBJECT_TYPE_MINI_GAME = 27, + GAMEOBJECT_TYPE_LOTTERY_KIOSK = 28, + GAMEOBJECT_TYPE_CAPTURE_POINT = 29, + GAMEOBJECT_TYPE_AURA_GENERATOR = 30, + GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY = 31, + GAMEOBJECT_TYPE_DO_NOT_USE_YET = 32, + GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING = 33, + GAMEOBJECT_TYPE_GUILD_BANK = 34, + MAX_GAMEOBJECT_TYPE = 35 // sending to client this or greater value can crash client. +}; + +enum TextEmote +{ + TEXTEMOTE_AGREE = 1, + TEXTEMOTE_AMAZE = 2, + TEXTEMOTE_ANGRY = 3, + TEXTEMOTE_APOLOGIZE = 4, + TEXTEMOTE_APPLAUD = 5, + TEXTEMOTE_BASHFUL = 6, + TEXTEMOTE_BECKON = 7, + TEXTEMOTE_BEG = 8, + TEXTEMOTE_BITE = 9, + TEXTEMOTE_BLEED = 10, + TEXTEMOTE_BLINK = 11, + TEXTEMOTE_BLUSH = 12, + TEXTEMOTE_BONK = 13, + TEXTEMOTE_BORED = 14, + TEXTEMOTE_BOUNCE = 15, + TEXTEMOTE_BRB = 16, + TEXTEMOTE_BOW = 17, + TEXTEMOTE_BURP = 18, + TEXTEMOTE_BYE = 19, + TEXTEMOTE_CACKLE = 20, + TEXTEMOTE_CHEER = 21, + TEXTEMOTE_CHICKEN = 22, + TEXTEMOTE_CHUCKLE = 23, + TEXTEMOTE_CLAP = 24, + TEXTEMOTE_CONFUSED = 25, + TEXTEMOTE_CONGRATULATE = 26, + TEXTEMOTE_COUGH = 27, + TEXTEMOTE_COWER = 28, + TEXTEMOTE_CRACK = 29, + TEXTEMOTE_CRINGE = 30, + TEXTEMOTE_CRY = 31, + TEXTEMOTE_CURIOUS = 32, + TEXTEMOTE_CURTSEY = 33, + TEXTEMOTE_DANCE = 34, + TEXTEMOTE_DRINK = 35, + TEXTEMOTE_DROOL = 36, + TEXTEMOTE_EAT = 37, + TEXTEMOTE_EYE = 38, + TEXTEMOTE_FART = 39, + TEXTEMOTE_FIDGET = 40, + TEXTEMOTE_FLEX = 41, + TEXTEMOTE_FROWN = 42, + TEXTEMOTE_GASP = 43, + TEXTEMOTE_GAZE = 44, + TEXTEMOTE_GIGGLE = 45, + TEXTEMOTE_GLARE = 46, + TEXTEMOTE_GLOAT = 47, + TEXTEMOTE_GREET = 48, + TEXTEMOTE_GRIN = 49, + TEXTEMOTE_GROAN = 50, + TEXTEMOTE_GROVEL = 51, + TEXTEMOTE_GUFFAW = 52, + TEXTEMOTE_HAIL = 53, + TEXTEMOTE_HAPPY = 54, + TEXTEMOTE_HELLO = 55, + TEXTEMOTE_HUG = 56, + TEXTEMOTE_HUNGRY = 57, + TEXTEMOTE_KISS = 58, + TEXTEMOTE_KNEEL = 59, + TEXTEMOTE_LAUGH = 60, + TEXTEMOTE_LAYDOWN = 61, + TEXTEMOTE_MESSAGE = 62, + TEXTEMOTE_MOAN = 63, + TEXTEMOTE_MOON = 64, + TEXTEMOTE_MOURN = 65, + TEXTEMOTE_NO = 66, + TEXTEMOTE_NOD = 67, + TEXTEMOTE_NOSEPICK = 68, + TEXTEMOTE_PANIC = 69, + TEXTEMOTE_PEER = 70, + TEXTEMOTE_PLEAD = 71, + TEXTEMOTE_POINT = 72, + TEXTEMOTE_POKE = 73, + TEXTEMOTE_PRAY = 74, + TEXTEMOTE_ROAR = 75, + TEXTEMOTE_ROFL = 76, + TEXTEMOTE_RUDE = 77, + TEXTEMOTE_SALUTE = 78, + TEXTEMOTE_SCRATCH = 79, + TEXTEMOTE_SEXY = 80, + TEXTEMOTE_SHAKE = 81, + TEXTEMOTE_SHOUT = 82, + TEXTEMOTE_SHRUG = 83, + TEXTEMOTE_SHY = 84, + TEXTEMOTE_SIGH = 85, + TEXTEMOTE_SIT = 86, + TEXTEMOTE_SLEEP = 87, + TEXTEMOTE_SNARL = 88, + TEXTEMOTE_SPIT = 89, + TEXTEMOTE_STARE = 90, + TEXTEMOTE_SURPRISED = 91, + TEXTEMOTE_SURRENDER = 92, + TEXTEMOTE_TALK = 93, + TEXTEMOTE_TALKEX = 94, + TEXTEMOTE_TALKQ = 95, + TEXTEMOTE_TAP = 96, + TEXTEMOTE_THANK = 97, + TEXTEMOTE_THREATEN = 98, + TEXTEMOTE_TIRED = 99, + TEXTEMOTE_VICTORY = 100, + TEXTEMOTE_WAVE = 101, + TEXTEMOTE_WELCOME = 102, + TEXTEMOTE_WHINE = 103, + TEXTEMOTE_WHISTLE = 104, + TEXTEMOTE_WORK = 105, + TEXTEMOTE_YAWN = 106, + TEXTEMOTE_BOGGLE = 107, + TEXTEMOTE_CALM = 108, + TEXTEMOTE_COLD = 109, + TEXTEMOTE_COMFORT = 110, + TEXTEMOTE_CUDDLE = 111, + TEXTEMOTE_DUCK = 112, + TEXTEMOTE_INSULT = 113, + TEXTEMOTE_INTRODUCE = 114, + TEXTEMOTE_JK = 115, + TEXTEMOTE_LICK = 116, + TEXTEMOTE_LISTEN = 117, + TEXTEMOTE_LOST = 118, + TEXTEMOTE_MOCK = 119, + TEXTEMOTE_PONDER = 120, + TEXTEMOTE_POUNCE = 121, + TEXTEMOTE_PRAISE = 122, + TEXTEMOTE_PURR = 123, + TEXTEMOTE_PUZZLE = 124, + TEXTEMOTE_RAISE = 125, + TEXTEMOTE_READY = 126, + TEXTEMOTE_SHIMMY = 127, + TEXTEMOTE_SHIVER = 128, + TEXTEMOTE_SHOO = 129, + TEXTEMOTE_SLAP = 130, + TEXTEMOTE_SMIRK = 131, + TEXTEMOTE_SNIFF = 132, + TEXTEMOTE_SNUB = 133, + TEXTEMOTE_SOOTHE = 134, + TEXTEMOTE_STINK = 135, + TEXTEMOTE_TAUNT = 136, + TEXTEMOTE_TEASE = 137, + TEXTEMOTE_THIRSTY = 138, + TEXTEMOTE_VETO = 139, + TEXTEMOTE_SNICKER = 140, + TEXTEMOTE_STAND = 141, + TEXTEMOTE_TICKLE = 142, + TEXTEMOTE_VIOLIN = 143, + TEXTEMOTE_SMILE = 163, + TEXTEMOTE_RASP = 183, + TEXTEMOTE_PITY = 203, + TEXTEMOTE_GROWL = 204, + TEXTEMOTE_BARK = 205, + TEXTEMOTE_SCARED = 223, + TEXTEMOTE_FLOP = 224, + TEXTEMOTE_LOVE = 225, + TEXTEMOTE_MOO = 226, + TEXTEMOTE_OPENFIRE = 327, + TEXTEMOTE_FLIRT = 328, + TEXTEMOTE_JOKE = 329, + TEXTEMOTE_COMMEND = 243, + TEXTEMOTE_WINK = 363, + TEXTEMOTE_PAT = 364, + TEXTEMOTE_SERIOUS = 365, + TEXTEMOTE_MOUNTSPECIAL = 366 +}; + +enum Emote +{ + EMOTE_ONESHOT_NONE = 0, + EMOTE_ONESHOT_TALK = 1, + EMOTE_ONESHOT_BOW = 2, + EMOTE_ONESHOT_WAVE = 3, + EMOTE_ONESHOT_CHEER = 4, + EMOTE_ONESHOT_EXCLAMATION = 5, + EMOTE_ONESHOT_QUESTION = 6, + EMOTE_ONESHOT_EAT = 7, + EMOTE_STATE_DANCE = 10, + EMOTE_ONESHOT_LAUGH = 11, + EMOTE_STATE_SLEEP = 12, + EMOTE_STATE_SIT = 13, + EMOTE_ONESHOT_RUDE = 14, + EMOTE_ONESHOT_ROAR = 15, + EMOTE_ONESHOT_KNEEL = 16, + EMOTE_ONESHOT_KISS = 17, + EMOTE_ONESHOT_CRY = 18, + EMOTE_ONESHOT_CHICKEN = 19, + EMOTE_ONESHOT_BEG = 20, + EMOTE_ONESHOT_APPLAUD = 21, + EMOTE_ONESHOT_SHOUT = 22, + EMOTE_ONESHOT_FLEX = 23, + EMOTE_ONESHOT_SHY = 24, + EMOTE_ONESHOT_POINT = 25, + EMOTE_STATE_STAND = 26, + EMOTE_STATE_READYUNARMED = 27, + EMOTE_STATE_WORK = 28, + EMOTE_STATE_POINT = 29, + EMOTE_STATE_NONE = 30, + EMOTE_ONESHOT_WOUND = 33, + EMOTE_ONESHOT_WOUNDCRITICAL = 34, + EMOTE_ONESHOT_ATTACKUNARMED = 35, + EMOTE_ONESHOT_ATTACK1H = 36, + EMOTE_ONESHOT_ATTACK2HTIGHT = 37, + EMOTE_ONESHOT_ATTACK2HLOOSE = 38, + EMOTE_ONESHOT_PARRYUNARMED = 39, + EMOTE_ONESHOT_PARRYSHIELD = 43, + EMOTE_ONESHOT_READYUNARMED = 44, + EMOTE_ONESHOT_READY1H = 45, + EMOTE_ONESHOT_READYBOW = 48, + EMOTE_ONESHOT_SPELLPRECAST = 50, + EMOTE_ONESHOT_SPELLCAST = 51, + EMOTE_ONESHOT_BATTLEROAR = 53, + EMOTE_ONESHOT_SPECIALATTACK1H = 54, + EMOTE_ONESHOT_KICK = 60, + EMOTE_ONESHOT_ATTACKTHROWN = 61, + EMOTE_STATE_STUN = 64, + EMOTE_STATE_DEAD = 65, + EMOTE_ONESHOT_SALUTE = 66, + EMOTE_STATE_KNEEL = 68, + EMOTE_STATE_USESTANDING = 69, + EMOTE_ONESHOT_WAVE_NOSHEATHE = 70, + EMOTE_ONESHOT_CHEER_NOSHEATHE = 71, + EMOTE_ONESHOT_EAT_NOSHEATHE = 92, + EMOTE_STATE_STUN_NOSHEATHE = 93, + EMOTE_ONESHOT_DANCE = 94, + EMOTE_ONESHOT_SALUTE_NOSHEATH = 113, + EMOTE_STATE_USESTANDING_NOSHEATHE = 133, + EMOTE_ONESHOT_LAUGH_NOSHEATHE = 153, + EMOTE_STATE_WORK_NOSHEATHE = 173, + EMOTE_STATE_SPELLPRECAST = 193, + EMOTE_ONESHOT_READYRIFLE = 213, + EMOTE_STATE_READYRIFLE = 214, + EMOTE_STATE_WORK_NOSHEATHE_MINING = 233, + EMOTE_STATE_WORK_NOSHEATHE_CHOPWOOD= 234, + EMOTE_zzOLDONESHOT_LIFTOFF = 253, + EMOTE_ONESHOT_LIFTOFF = 254, + EMOTE_ONESHOT_YES = 273, + EMOTE_ONESHOT_NO = 274, + EMOTE_ONESHOT_TRAIN = 275, + EMOTE_ONESHOT_LAND = 293, + EMOTE_STATE_AT_EASE = 313, + EMOTE_STATE_READY1H = 333, + EMOTE_STATE_SPELLKNEELSTART = 353, + EMOTE_STATE_SUBMERGED = 373, + EMOTE_ONESHOT_SUBMERGE = 374, + EMOTE_STATE_READY2H = 375, + EMOTE_STATE_READYBOW = 376, + EMOTE_ONESHOT_MOUNTSPECIAL = 377, + EMOTE_STATE_TALK = 378, + EMOTE_STATE_FISHING = 379, + EMOTE_ONESHOT_FISHING = 380, + EMOTE_ONESHOT_LOOT = 381, + EMOTE_STATE_WHIRLWIND = 382, + EMOTE_STATE_DROWNED = 383, + EMOTE_STATE_HOLD_BOW = 384, + EMOTE_STATE_HOLD_RIFLE = 385, + EMOTE_STATE_HOLD_THROWN = 386, + EMOTE_ONESHOT_DROWN = 387, + EMOTE_ONESHOT_STOMP = 388, + EMOTE_ONESHOT_ATTACKOFF = 389, + EMOTE_ONESHOT_ATTACKOFFPIERCE = 390, + EMOTE_STATE_ROAR = 391, + EMOTE_STATE_LAUGH = 392, + EMOTE_ONESHOT_CREATURE_SPECIAL = 393, + EMOTE_ONESHOT_JUMPLANDRUN = 394, + EMOTE_ONESHOT_JUMPEND = 395, + EMOTE_ONESHOT_TALK_NOSHEATHE = 396, + EMOTE_ONESHOT_POINT_NOSHEATHE = 397, + EMOTE_STATE_CANNIBALIZE = 398, + EMOTE_ONESHOT_JUMPSTART = 399, + EMOTE_STATE_DANCESPECIAL = 400, + EMOTE_ONESHOT_DANCESPECIAL = 401, + EMOTE_ONESHOT_CUSTOMSPELL01 = 402, + EMOTE_ONESHOT_CUSTOMSPELL02 = 403, + EMOTE_ONESHOT_CUSTOMSPELL03 = 404, + EMOTE_ONESHOT_CUSTOMSPELL04 = 405, + EMOTE_ONESHOT_CUSTOMSPELL05 = 406, + EMOTE_ONESHOT_CUSTOMSPELL06 = 407, + EMOTE_ONESHOT_CUSTOMSPELL07 = 408, + EMOTE_ONESHOT_CUSTOMSPELL08 = 409, + EMOTE_ONESHOT_CUSTOMSPELL09 = 410, + EMOTE_ONESHOT_CUSTOMSPELL10 = 411, + EMOTE_STATE_EXCLAIM = 412, + EMOTE_STATE_SIT_CHAIR_MED = 415, + EMOTE_STATE_SPELLEFFECT_HOLD = 422 +}; + +enum Anim +{ + ANIM_STAND = 0x0, + ANIM_DEATH = 0x1, + ANIM_SPELL = 0x2, + ANIM_STOP = 0x3, + ANIM_WALK = 0x4, + ANIM_RUN = 0x5, + ANIM_DEAD = 0x6, + ANIM_RISE = 0x7, + ANIM_STANDWOUND = 0x8, + ANIM_COMBATWOUND = 0x9, + ANIM_COMBATCRITICAL = 0xA, + ANIM_SHUFFLE_LEFT = 0xB, + ANIM_SHUFFLE_RIGHT = 0xC, + ANIM_WALK_BACKWARDS = 0xD, + ANIM_STUN = 0xE, + ANIM_HANDS_CLOSED = 0xF, + ANIM_ATTACKUNARMED = 0x10, + ANIM_ATTACK1H = 0x11, + ANIM_ATTACK2HTIGHT = 0x12, + ANIM_ATTACK2HLOOSE = 0x13, + ANIM_PARRYUNARMED = 0x14, + ANIM_PARRY1H = 0x15, + ANIM_PARRY2HTIGHT = 0x16, + ANIM_PARRY2HLOOSE = 0x17, + ANIM_PARRYSHIELD = 0x18, + ANIM_READYUNARMED = 0x19, + ANIM_READY1H = 0x1A, + ANIM_READY2HTIGHT = 0x1B, + ANIM_READY2HLOOSE = 0x1C, + ANIM_READYBOW = 0x1D, + ANIM_DODGE = 0x1E, + ANIM_SPELLPRECAST = 0x1F, + ANIM_SPELLCAST = 0x20, + ANIM_SPELLCASTAREA = 0x21, + ANIM_NPCWELCOME = 0x22, + ANIM_NPCGOODBYE = 0x23, + ANIM_BLOCK = 0x24, + ANIM_JUMPSTART = 0x25, + ANIM_JUMP = 0x26, + ANIM_JUMPEND = 0x27, + ANIM_FALL = 0x28, + ANIM_SWIMIDLE = 0x29, + ANIM_SWIM = 0x2A, + ANIM_SWIM_LEFT = 0x2B, + ANIM_SWIM_RIGHT = 0x2C, + ANIM_SWIM_BACKWARDS = 0x2D, + ANIM_ATTACKBOW = 0x2E, + ANIM_FIREBOW = 0x2F, + ANIM_READYRIFLE = 0x30, + ANIM_ATTACKRIFLE = 0x31, + ANIM_LOOT = 0x32, + ANIM_SPELL_PRECAST_DIRECTED = 0x33, + ANIM_SPELL_PRECAST_OMNI = 0x34, + ANIM_SPELL_CAST_DIRECTED = 0x35, + ANIM_SPELL_CAST_OMNI = 0x36, + ANIM_SPELL_BATTLEROAR = 0x37, + ANIM_SPELL_READYABILITY = 0x38, + ANIM_SPELL_SPECIAL1H = 0x39, + ANIM_SPELL_SPECIAL2H = 0x3A, + ANIM_SPELL_SHIELDBASH = 0x3B, + ANIM_EMOTE_TALK = 0x3C, + ANIM_EMOTE_EAT = 0x3D, + ANIM_EMOTE_WORK = 0x3E, + ANIM_EMOTE_USE_STANDING = 0x3F, + ANIM_EMOTE_EXCLAMATION = 0x40, + ANIM_EMOTE_QUESTION = 0x41, + ANIM_EMOTE_BOW = 0x42, + ANIM_EMOTE_WAVE = 0x43, + ANIM_EMOTE_CHEER = 0x44, + ANIM_EMOTE_DANCE = 0x45, + ANIM_EMOTE_LAUGH = 0x46, + ANIM_EMOTE_SLEEP = 0x47, + ANIM_EMOTE_SIT_GROUND = 0x48, + ANIM_EMOTE_RUDE = 0x49, + ANIM_EMOTE_ROAR = 0x4A, + ANIM_EMOTE_KNEEL = 0x4B, + ANIM_EMOTE_KISS = 0x4C, + ANIM_EMOTE_CRY = 0x4D, + ANIM_EMOTE_CHICKEN = 0x4E, + ANIM_EMOTE_BEG = 0x4F, + ANIM_EMOTE_APPLAUD = 0x50, + ANIM_EMOTE_SHOUT = 0x51, + ANIM_EMOTE_FLEX = 0x52, + ANIM_EMOTE_SHY = 0x53, + ANIM_EMOTE_POINT = 0x54, + ANIM_ATTACK1HPIERCE = 0x55, + ANIM_ATTACK2HLOOSEPIERCE = 0x56, + ANIM_ATTACKOFF = 0x57, + ANIM_ATTACKOFFPIERCE = 0x58, + ANIM_SHEATHE = 0x59, + ANIM_HIPSHEATHE = 0x5A, + ANIM_MOUNT = 0x5B, + ANIM_RUN_LEANRIGHT = 0x5C, + ANIM_RUN_LEANLEFT = 0x5D, + ANIM_MOUNT_SPECIAL = 0x5E, + ANIM_KICK = 0x5F, + ANIM_SITDOWN = 0x60, + ANIM_SITTING = 0x61, + ANIM_SITUP = 0x62, + ANIM_SLEEPDOWN = 0x63, + ANIM_SLEEPING = 0x64, + ANIM_SLEEPUP = 0x65, + ANIM_SITCHAIRLOW = 0x66, + ANIM_SITCHAIRMEDIUM = 0x67, + ANIM_SITCHAIRHIGH = 0x68, + ANIM_LOADBOW = 0x69, + ANIM_LOADRIFLE = 0x6A, + ANIM_ATTACKTHROWN = 0x6B, + ANIM_READYTHROWN = 0x6C, + ANIM_HOLDBOW = 0x6D, + ANIM_HOLDRIFLE = 0x6E, + ANIM_HOLDTHROWN = 0x6F, + ANIM_LOADTHROWN = 0x70, + ANIM_EMOTE_SALUTE = 0x71, + ANIM_KNEELDOWN = 0x72, + ANIM_KNEELING = 0x73, + ANIM_KNEELUP = 0x74, + ANIM_ATTACKUNARMEDOFF = 0x75, + ANIM_SPECIALUNARMED = 0x76, + ANIM_STEALTHWALK = 0x77, + ANIM_STEALTHSTAND = 0x78, + ANIM_KNOCKDOWN = 0x79, + ANIM_EATING = 0x7A, + ANIM_USESTANDINGLOOP = 0x7B, + ANIM_CHANNELCASTDIRECTED = 0x7C, + ANIM_CHANNELCASTOMNI = 0x7D, + ANIM_WHIRLWIND = 0x7E, + ANIM_BIRTH = 0x7F, + ANIM_USESTANDINGSTART = 0x80, + ANIM_USESTANDINGEND = 0x81, + ANIM_HOWL = 0x82, + ANIM_DROWN = 0x83, + ANIM_DROWNED = 0x84, + ANIM_FISHINGCAST = 0x85, + ANIM_FISHINGLOOP = 0x86, + ANIM_FLY = 0x87, + ANIM_EMOTE_WORK_NO_SHEATHE = 0x88, + ANIM_EMOTE_STUN_NO_SHEATHE = 0x89, + ANIM_EMOTE_USE_STANDING_NO_SHEATHE= 0x8A, + ANIM_SPELL_SLEEP_DOWN = 0x8B, + ANIM_SPELL_KNEEL_START = 0x8C, + ANIM_SPELL_KNEEL_LOOP = 0x8D, + ANIM_SPELL_KNEEL_END = 0x8E, + ANIM_SPRINT = 0x8F, + ANIM_IN_FIGHT = 0x90, + + ANIM_GAMEOBJ_SPAWN = 145, + ANIM_GAMEOBJ_CLOSE = 146, + ANIM_GAMEOBJ_CLOSED = 147, + ANIM_GAMEOBJ_OPEN = 148, + ANIM_GAMEOBJ_OPENED = 149, + ANIM_GAMEOBJ_DESTROY = 150, + ANIM_GAMEOBJ_DESTROYED = 151, + ANIM_GAMEOBJ_REBUILD = 152, + ANIM_GAMEOBJ_CUSTOM0 = 153, + ANIM_GAMEOBJ_CUSTOM1 = 154, + ANIM_GAMEOBJ_CUSTOM2 = 155, + ANIM_GAMEOBJ_CUSTOM3 = 156, + ANIM_GAMEOBJ_DESPAWN = 157, + ANIM_HOLD = 158, + ANIM_DECAY = 159, + ANIM_BOWPULL = 160, + ANIM_BOWRELEASE = 161, + ANIM_SHIPSTART = 162, + ANIM_SHIPMOVEING = 163, + ANIM_SHIPSTOP = 164, + ANIM_GROUPARROW = 165, + ANIM_ARROW = 166, + ANIM_CORPSEARROW = 167, + ANIM_GUIDEARROW = 168, + ANIM_SWAY = 169, + ANIM_DRUIDCATPOUNCE = 170, + ANIM_DRUIDCATRIP = 171, + ANIM_DRUIDCATRAKE = 172, + ANIM_DRUIDCATRAVAGE = 173, + ANIM_DRUIDCATCLAW = 174, + ANIM_DRUIDCATCOWER = 175, + ANIM_DRUIDBEARSWIPE = 176, + ANIM_DRUIDBEARBITE = 177, + ANIM_DRUIDBEARMAUL = 178, + ANIM_DRUIDBEARBASH = 179, + ANIM_DRAGONTAIL = 180, + ANIM_DRAGONSTOMP = 181, + ANIM_DRAGONSPIT = 182, + ANIM_DRAGONSPITHOVER = 183, + ANIM_DRAGONSPITFLY = 184, + ANIM_EMOTEYES = 185, + ANIM_EMOTENO = 186, + ANIM_JUMPLANDRUN = 187, + ANIM_LOOTHOLD = 188, + ANIM_LOOTUP = 189, + ANIM_STANDHIGH = 190, + ANIM_IMPACT = 191, + ANIM_LIFTOFF = 192, + ANIM_HOVER = 193, + ANIM_SUCCUBUSENTICE = 194, + ANIM_EMOTETRAIN = 195, + ANIM_EMOTEDEAD = 196, + ANIM_EMOTEDANCEONCE = 197, + ANIM_DEFLECT = 198, + ANIM_EMOTEEATNOSHEATHE = 199, + ANIM_LAND = 200, + ANIM_SUBMERGE = 201, + ANIM_SUBMERGED = 202, + ANIM_CANNIBALIZE = 203, + ANIM_ARROWBIRTH = 204, + ANIM_GROURARROWBIRTH = 205, + ANIM_CORPSEARROWBIRTH = 206, + ANIM_GUIDEARROWBIRTH = 207 +}; + +enum LockType +{ + LOCKTYPE_PICKLOCK = 1, + LOCKTYPE_HERBALISM = 2, + LOCKTYPE_MINING = 3, + LOCKTYPE_DISARM_TRAP = 4, + LOCKTYPE_OPEN = 5, + LOCKTYPE_TREASURE = 6, + LOCKTYPE_CALCIFIED_ELVEN_GEMS = 7, + LOCKTYPE_CLOSE = 8, + LOCKTYPE_ARM_TRAP = 9, + LOCKTYPE_QUICK_OPEN = 10, + LOCKTYPE_QUICK_CLOSE = 11, + LOCKTYPE_OPEN_TINKERING = 12, + LOCKTYPE_OPEN_KNEELING = 13, + LOCKTYPE_OPEN_ATTACKING = 14, + LOCKTYPE_GAHZRIDIAN = 15, + LOCKTYPE_BLASTING = 16, + LOCKTYPE_SLOW_OPEN = 17, + LOCKTYPE_SLOW_CLOSE = 18, + LOCKTYPE_FISHING = 19 +}; + +enum TrainerType +{ + TRAINER_TYPE_CLASS = 0, + TRAINER_TYPE_MOUNTS = 1, + TRAINER_TYPE_TRADESKILLS = 2, + TRAINER_TYPE_PETS = 3 }; #define SHAPESHIFT_FORM_CAT 1 @@ -922,410 +952,412 @@ enum TrainerType #define SHAPESHIFT_STEALTH 30 #define SHAPESHIFT_MOONKIN 31 -enum CreatureFamily -{ - CREATURE_FAMILY_WOLF = 1, - CREATURE_FAMILY_CAT = 2, - CREATURE_FAMILY_SPIDER = 3, - CREATURE_FAMILY_BEAR = 4, - CREATURE_FAMILY_BOAR = 5, - CREATURE_FAMILY_CROCILISK = 6, - CREATURE_FAMILY_CARRION_BIRD = 7, - CREATURE_FAMILY_CRAB = 8, - CREATURE_FAMILY_GORILLA = 9, - CREATURE_FAMILY_RAPTOR = 11, - CREATURE_FAMILY_TALLSTRIDER = 12, - CREATURE_FAMILY_FELHUNTER = 15, - CREATURE_FAMILY_VOIDWALKER = 16, - CREATURE_FAMILY_SUCCUBUS = 17, - CREATURE_FAMILY_DOOMGUARD = 19, - CREATURE_FAMILY_SCORPID = 20, - CREATURE_FAMILY_TURTLE = 21, - CREATURE_FAMILY_IMP = 23, - CREATURE_FAMILY_BAT = 24, - CREATURE_FAMILY_HYENA = 25, - CREATURE_FAMILY_OWL = 26, - CREATURE_FAMILY_WIND_SERPENT = 27, - CREATURE_FAMILY_REMOTE_CONTROL = 28, - CREATURE_FAMILY_FELGUARD = 29, - CREATURE_FAMILY_DRAGONHAWK = 30, - CREATURE_FAMILY_RAVAGER = 31, - CREATURE_FAMILY_WARP_STALKER = 32, - CREATURE_FAMILY_SPOREBAT = 33, - CREATURE_FAMILY_NETHER_RAY = 34, - CREATURE_FAMILY_SERPENT = 35 -}; - -enum CreatureEliteType -{ - CREATURE_ELITE_NORMAL = 0, - CREATURE_ELITE_ELITE = 1, - CREATURE_ELITE_RAREELITE = 2, - CREATURE_ELITE_WORLDBOSS = 3, - CREATURE_ELITE_RARE = 4 -}; - -enum QuestTypes -{ - QUEST_TYPE_ELITE = 1, - QUEST_TYPE_LIFE = 21, - QUEST_TYPE_PVP = 41, - QUEST_TYPE_RAID = 62, - QUEST_TYPE_DUNGEON = 81, - QUEST_TYPE_WORLD_EVENT = 82, - QUEST_TYPE_LEGENDARY = 83, - QUEST_TYPE_ESCORT = 84, - QUEST_TYPE_HEROIC = 85, - QUEST_TYPE_DAILY = 87 -}; - -enum CreatureType -{ - CREATURE_TYPE_BEAST = 1, - CREATURE_TYPE_DRAGON = 2, - CREATURE_TYPE_DEMON = 3, - CREATURE_TYPE_ELEMENTAL = 4, - CREATURE_TYPE_GIANT = 5, - CREATURE_TYPE_UNDEAD = 6, - CREATURE_TYPE_HUMANOID = 7, - CREATURE_TYPE_CRITTER = 8, - CREATURE_TYPE_MECHANICAL = 9, - CREATURE_TYPE_NOTSPECIFIED = 10, - CREATURE_TYPE_TOTEM = 11 -}; - -enum QuestSort -{ - QUEST_SORT_EPIC = 1, - QUEST_SORT_WAILING_CAVERNS_OLD = 21, - QUEST_SORT_SEASONAL = 22, - QUEST_SORT_UNDERCITY_OLD = 23, - QUEST_SORT_HERBALISM = 24, - QUEST_SORT_SCARLET_MONASTERY_OLD= 25, - QUEST_SORT_ULDAMN_OLD = 41, - QUEST_SORT_WARLOCK = 61, - QUEST_SORT_WARRIOR = 81, - QUEST_SORT_SHAMAN = 82, - QUEST_SORT_FISHING = 101, - QUEST_SORT_BLACKSMITHING = 121, - QUEST_SORT_PALADIN = 141, - QUEST_SORT_MAGE = 161, - QUEST_SORT_ROGUE = 162, - QUEST_SORT_ALCHEMY = 181, - QUEST_SORT_LEATHERWORKING = 182, - QUEST_SORT_ENGINERING = 201, - QUEST_SORT_TREASURE_MAP = 221, - QUEST_SORT_SUNKEN_TEMPLE_OLD = 241, - QUEST_SORT_HUNTER = 261, - QUEST_SORT_PRIEST = 262, - QUEST_SORT_DRUID = 263, - QUEST_SORT_TAILORING = 264, - QUEST_SORT_SPECIAL = 284, - QUEST_SORT_COOKING = 304, - QUEST_SORT_FIRST_AID = 324, - QUEST_SORT_LEGENDARY = 344, - QUEST_SORT_DARKMOON_FAIRE = 364, - QUEST_SORT_AHN_QIRAJ_WAR = 365, - QUEST_SORT_LUNAR_FESTIVAL = 366, - QUEST_SORT_REPUTATION = 367, - QUEST_SORT_INVASION = 368, - QUEST_SORT_MIDSUMMER = 369 +enum CreatureFamily +{ + CREATURE_FAMILY_WOLF = 1, + CREATURE_FAMILY_CAT = 2, + CREATURE_FAMILY_SPIDER = 3, + CREATURE_FAMILY_BEAR = 4, + CREATURE_FAMILY_BOAR = 5, + CREATURE_FAMILY_CROCILISK = 6, + CREATURE_FAMILY_CARRION_BIRD = 7, + CREATURE_FAMILY_CRAB = 8, + CREATURE_FAMILY_GORILLA = 9, + CREATURE_FAMILY_RAPTOR = 11, + CREATURE_FAMILY_TALLSTRIDER = 12, + CREATURE_FAMILY_FELHUNTER = 15, + CREATURE_FAMILY_VOIDWALKER = 16, + CREATURE_FAMILY_SUCCUBUS = 17, + CREATURE_FAMILY_DOOMGUARD = 19, + CREATURE_FAMILY_SCORPID = 20, + CREATURE_FAMILY_TURTLE = 21, + CREATURE_FAMILY_IMP = 23, + CREATURE_FAMILY_BAT = 24, + CREATURE_FAMILY_HYENA = 25, + CREATURE_FAMILY_OWL = 26, + CREATURE_FAMILY_WIND_SERPENT = 27, + CREATURE_FAMILY_REMOTE_CONTROL = 28, + CREATURE_FAMILY_FELGUARD = 29, + CREATURE_FAMILY_DRAGONHAWK = 30, + CREATURE_FAMILY_RAVAGER = 31, + CREATURE_FAMILY_WARP_STALKER = 32, + CREATURE_FAMILY_SPOREBAT = 33, + CREATURE_FAMILY_NETHER_RAY = 34, + CREATURE_FAMILY_SERPENT = 35, + CREATURE_FAMILY_SEA_LION = 36 }; -enum SkillType -{ - SKILL_FROST = 6, - SKILL_FIRE = 8, - SKILL_ARMS = 26, - SKILL_COMBAT = 38, - SKILL_SUBTLETY = 39, - SKILL_POISONS = 40, - SKILL_SWORDS = 43, - SKILL_AXES = 44, - SKILL_BOWS = 45, - SKILL_GUNS = 46, - SKILL_BEAST_MASTERY = 50, - SKILL_SURVIVAL = 51, - SKILL_MACES = 54, - SKILL_HOLY = 56, - SKILL_2H_SWORDS = 55, - SKILL_SHADOW = 78, - SKILL_DEFENSE = 95, - SKILL_LANG_COMMON = 98, - SKILL_RACIAL_DWARVEN = 101, - SKILL_LANG_ORCISH = 109, - SKILL_LANG_DWARVEN = 111, - SKILL_LANG_DARNASSIAN = 113, - SKILL_LANG_TAURAHE = 115, - SKILL_DUAL_WIELD = 118, - SKILL_RACIAL_TAUREN = 124, - SKILL_ORC_RACIAL = 125, - SKILL_RACIAL_NIGHT_ELF = 126, - SKILL_FIRST_AID = 129, - SKILL_FERAL_COMBAT = 134, - SKILL_STAVES = 136, - SKILL_LANG_THALASSIAN = 137, - SKILL_LANG_DRACONIC = 138, - SKILL_LANG_DEMON_TONGUE = 139, - SKILL_LANG_TITAN = 140, - SKILL_LANG_OLD_TONGUE = 141, - SKILL_SURVIVAL2 = 142, - SKILL_RIDING_HORSE = 148, - SKILL_RIDING_WOLF = 149, - SKILL_RIDING_RAM = 152, - SKILL_RIDING_TIGER = 150, - SKILL_SWIMING = 155, - SKILL_2H_MACES = 160, - SKILL_UNARMED = 162, - SKILL_MARKSMANSHIP = 163, - SKILL_BLACKSMITHING = 164, - SKILL_LEATHERWORKING = 165, - SKILL_ALCHEMY = 171, - SKILL_2H_AXES = 172, - SKILL_DAGGERS = 173, - SKILL_THROWN = 176, - SKILL_HERBALISM = 182, - SKILL_GENERIC_DND = 183, - SKILL_RETRIBUTION = 184, - SKILL_COOKING = 185, - SKILL_MINING = 186, - SKILL_PET_IMP = 188, - SKILL_PET_FELHUNTER = 189, - SKILL_TAILORING = 197, - SKILL_ENGINERING = 202, - SKILL_PET_SPIDER = 203, - SKILL_PET_VOIDWALKER = 204, - SKILL_PET_SUCCUBUS = 205, - SKILL_PET_INFERNAL = 206, - SKILL_PET_DOOMGUARD = 207, - SKILL_PET_WOLF = 208, - SKILL_PET_CAT = 209, - SKILL_PET_BEAR = 210, - SKILL_PET_BOAR = 211, - SKILL_PET_CROCILISK = 212, - SKILL_PET_CARRION_BIRD = 213, - SKILL_PET_GORILLA = 215, - SKILL_PET_CRAB = 214, - SKILL_PET_RAPTOR = 217, - SKILL_PET_TALLSTRIDER = 218, - SKILL_RACIAL_UNDED = 220, - SKILL_WEAPON_TALENTS = 222, - SKILL_CROSSBOWS = 226, - SKILL_SPEARS = 227, - SKILL_WANDS = 228, - SKILL_POLEARMS = 229, - SKILL_PET_SCORPID = 236, - SKILL_ARCANE = 237, - SKILL_OPEN_LOCK = 242, - SKILL_PET_TURTLE = 251, - SKILL_ASSASSINATION = 253, - SKILL_FURY = 256, - SKILL_PROTECTION = 257, - SKILL_BEAST_TRAINING = 261, - SKILL_PROTECTION2 = 267, - SKILL_PET_TALENTS = 270, - SKILL_PLATE_MAIL = 293, - SKILL_LANG_GNOMISH = 313, - SKILL_LANG_TROLL = 315, - SKILL_ENCHANTING = 333, - SKILL_DEMONOLOGY = 354, - SKILL_AFFLICTION = 355, - SKILL_FISHING = 356, - SKILL_ENHANCEMENT = 373, - SKILL_RESTORATION = 374, - SKILL_ELEMENTAL_COMBAT = 375, - SKILL_SKINNING = 393, - SKILL_MAIL = 413, - SKILL_LEATHER = 414, - SKILL_CLOTH = 415, - SKILL_SHIELD = 433, - SKILL_FIST_WEAPONS = 473, - SKILL_RIDING_RAPTOR = 533, - SKILL_RIDING_MECHANOSTRIDER = 553, - SKILL_RIDING_UNDEAD_HORSE = 554, - SKILL_RESTORATION2 = 573, - SKILL_BALANCE = 574, - SKILL_DESTRUCTION = 593, - SKILL_HOLY2 = 594, - SKILL_DISCIPLINE = 613, - SKILL_LOCKPICKING = 633, - SKILL_PET_BAT = 653, - SKILL_PET_HYENA = 654, - SKILL_PET_OWL = 655, - SKILL_PET_WIND_SERPENT = 656, - SKILL_LANG_GUTTERSPEAK = 673, - SKILL_RIDING_KODO = 713, - SKILL_RACIAL_TROLL = 733, - SKILL_RACIAL_GNOME = 753, - SKILL_RACIAL_HUMAN = 754, - SKILL_JEWELCRAFTING = 755, - SKILL_RACIAL_BLOODELF = 756, - SKILL_PET_EVENT_RC = 758, - SKILL_LANG_DRAENEI = 759, - SKILL_RACIAL_DRAENEI = 760, - SKILL_PET_FELGUARD = 761, - SKILL_RIDING = 762, - SKILL_PET_DRAGONHAWK = 763, - SKILL_PET_NETHER_RAY = 764, - SKILL_PET_SPOREBAT = 765, - SKILL_PET_WARP_STALKER = 766, - SKILL_PET_RAVAGER = 767, - SKILL_PET_SERPENT = 768 -}; - - -enum SkillCategory -{ - SKILL_CATEGORY_ATTRIBUTES = 5, - SKILL_CATEGORY_WEAPON = 6, - SKILL_CATEGORY_CLASS = 7, - SKILL_CATEGORY_ARMOR = 8, - SKILL_CATEGORY_SECONDARY = 9, // secondary professions - SKILL_CATEGORY_LANGUAGES = 10, - SKILL_CATEGORY_PROFESSION = 11 // primary professions -}; - -enum TotemCategory -{ - TC_SKINNING_SKIFE = 1, - TC_EARTH_TOTEM = 2, - TC_AIR_TOTEM = 3, - TC_FIRE_TOTEM = 4, - TC_WATER_TOTEM = 5, - TC_COPPER_ROD = 6, - TC_SILVER_ROD = 7, - TC_GOLDEN_ROD = 8, - TC_TRUESILVER_ROD = 9, - TC_ARCANITE_ROD = 10, - TC_MINING_PICK = 11, - TC_PHILOSOPHERS_STONE = 12, - TC_BLACKSMITH_HAMMER = 13, - TC_ARCLIGHT_SPANNER = 14, - TC_GYROMATIC_MA = 15, - TC_MASTER_TOTEM = 21, - TC_FEL_IRON_ROD = 41, - TC_ADAMANTITE_ROD = 62, - TC_ETERNIUM_ROD = 63 -}; - -enum UnitDynFlags -{ - UNIT_DYNFLAG_LOOTABLE = 0x0001, - UNIT_DYNFLAG_TRACK_UNIT = 0x0002, - UNIT_DYNFLAG_OTHER_TAGGER = 0x0004, - UNIT_DYNFLAG_ROOTED = 0x0008, - UNIT_DYNFLAG_SPECIALINFO = 0x0010, - UNIT_DYNFLAG_DEAD = 0x0020 -}; - -enum UnitFlags1 -{ - UNIT_FLAG_NOT_ATTACKABLE = 0x0002, - UNIT_FLAG_ATTACKABLE = 0x0008, - UNIT_FLAG_NOT_ATTACKABLE_1 = 0x0080, - UNIT_FLAG_NON_PVP_PLAYER = (UNIT_FLAG_ATTACKABLE + UNIT_FLAG_NOT_ATTACKABLE_1), - UNIT_FLAG_ANIMATION_FROZEN = 0x0400, - UNIT_FLAG_WAR_PLAYER = 0x1000 +enum CreatureEliteType +{ + CREATURE_ELITE_NORMAL = 0, + CREATURE_ELITE_ELITE = 1, + CREATURE_ELITE_RAREELITE = 2, + CREATURE_ELITE_WORLDBOSS = 3, + CREATURE_ELITE_RARE = 4 }; -enum ChatMsg -{ - CHAT_MSG_SAY = 0x00, - CHAT_MSG_PARTY = 0x01, - CHAT_MSG_RAID = 0x02, - CHAT_MSG_GUILD = 0x03, - CHAT_MSG_OFFICER = 0x04, - CHAT_MSG_YELL = 0x05, - CHAT_MSG_WHISPER = 0x06, - CHAT_MSG_WHISPER_INFORM = 0x07, - CHAT_MSG_EMOTE = 0x08, - CHAT_MSG_TEXT_EMOTE = 0x09, - CHAT_MSG_SYSTEM = 0x0A, - CHAT_MSG_MONSTER_SAY = 0x0B, - CHAT_MSG_MONSTER_YELL = 0x0C, - CHAT_MSG_MONSTER_EMOTE = 0x0D, - CHAT_MSG_CHANNEL = 0x0E, - CHAT_MSG_CHANNEL_JOIN = 0x0F, - CHAT_MSG_CHANNEL_LEAVE = 0x10, - CHAT_MSG_CHANNEL_LIST = 0x11, - CHAT_MSG_CHANNEL_NOTICE = 0x12, - CHAT_MSG_CHANNEL_NOTICE_USER = 0x13, - CHAT_MSG_AFK = 0x14, - CHAT_MSG_DND = 0x15, - CHAT_MSG_IGNORED = 0x16, - CHAT_MSG_SKILL = 0x17, - CHAT_MSG_LOOT = 0x18, - CHAT_MSG_COMBAT_MISC_INFO = 0x19, - CHAT_MSG_MONSTER_WHISPER = 0x1A, - CHAT_MSG_COMBAT_SELF_HITS = 0x1B, - CHAT_MSG_COMBAT_SELF_MISSES = 0x1C, - CHAT_MSG_COMBAT_PET_HITS = 0x1D, - CHAT_MSG_COMBAT_PET_MISSES = 0x1E, - CHAT_MSG_COMBAT_PARTY_HITS = 0x1F, - CHAT_MSG_COMBAT_PARTY_MISSES = 0x20, - CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS = 0x21, - CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES = 0x22, - CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS = 0x23, - CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES = 0x24, - CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS = 0x25, - CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES = 0x26, - CHAT_MSG_COMBAT_CREATURE_VS_PARTY_HITS = 0x27, - CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES = 0x28, - CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS = 0x29, - CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES = 0x2A, - CHAT_MSG_COMBAT_FRIENDLY_DEATH = 0x2B, - CHAT_MSG_COMBAT_HOSTILE_DEATH = 0x2C, - CHAT_MSG_COMBAT_XP_GAIN = 0x2D, - CHAT_MSG_SPELL_SELF_DAMAGE = 0x2E, - CHAT_MSG_SPELL_SELF_BUFF = 0x2F, - CHAT_MSG_SPELL_PET_DAMAGE = 0x30, - CHAT_MSG_SPELL_PET_BUFF = 0x31, - CHAT_MSG_SPELL_PARTY_DAMAGE = 0x32, - CHAT_MSG_SPELL_PARTY_BUFF = 0x33, - CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE = 0x34, - CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF = 0x35, - CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE = 0x36, - CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF = 0x37, - CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE = 0x38, - CHAT_MSG_SPELL_CREATURE_VS_SELF_BUFF = 0x39, - CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE = 0x3A, - CHAT_MSG_SPELL_CREATURE_VS_PARTY_BUFF = 0x3B, - CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE = 0x3C, - CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF = 0x3D, - CHAT_MSG_SPELL_TRADESKILLS = 0x3E, - CHAT_MSG_SPELL_DAMAGESHIELDS_ON_SELF = 0x3F, - CHAT_MSG_SPELL_DAMAGESHIELDS_ON_OTHERS = 0x40, - CHAT_MSG_SPELL_AURA_GONE_SELF = 0x41, - CHAT_MSG_SPELL_AURA_GONE_PARTY = 0x42, - CHAT_MSG_SPELL_AURA_GONE_OTHER = 0x43, - CHAT_MSG_SPELL_ITEM_ENCHANTMENTS = 0x44, - CHAT_MSG_SPELL_BREAK_AURA = 0x45, - CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE = 0x46, - CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS = 0x47, - CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE = 0x48, - CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS = 0x49, - CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE = 0x4A, - CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS = 0x4B, - CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE = 0x4C, - CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS = 0x4D, - CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE = 0x4E, - CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS = 0x4F, - CHAT_MSG_SPELL_FAILED_LOCALPLAYER = 0x50, - CHAT_MSG_COMBAT_HONOR_GAIN = 0x51, - CHAT_MSG_BG_SYSTEM_NEUTRAL = 0x52, - CHAT_MSG_BG_SYSTEM_ALLIANCE = 0x53, - CHAT_MSG_BG_SYSTEM_HORDE = 0x54, - CHAT_MSG_COMBAT_FACTION_CHANGE = 0x55, - CHAT_MSG_MONEY = 0x56, - CHAT_MSG_RAID_LEADER = 0x57, - CHAT_MSG_RAID_WARNING = 0x58, - CHAT_MSG_FOREIGN_TELL = 0x59, - CHAT_MSG_RAID_BOSS_EMOTE = 0x5A, - CHAT_MSG_FILTERED = 0x5B, - CHAT_MSG_BATTLEGROUND = 0x5C, - CHAT_MSG_BATTLEGROUND_LEADER = 0x5D, - CHAT_MSG_MONSTER_PARTY = 0x5E, - CHAT_MSG_RESTRICTED = 0x5F, +enum QuestTypes +{ + QUEST_TYPE_ELITE = 1, + QUEST_TYPE_LIFE = 21, + QUEST_TYPE_PVP = 41, + QUEST_TYPE_RAID = 62, + QUEST_TYPE_DUNGEON = 81, + QUEST_TYPE_WORLD_EVENT = 82, + QUEST_TYPE_LEGENDARY = 83, + QUEST_TYPE_ESCORT = 84, + QUEST_TYPE_HEROIC = 85, + QUEST_TYPE_DAILY = 87 +}; + +enum CreatureType +{ + CREATURE_TYPE_BEAST = 1, + CREATURE_TYPE_DRAGON = 2, + CREATURE_TYPE_DEMON = 3, + CREATURE_TYPE_ELEMENTAL = 4, + CREATURE_TYPE_GIANT = 5, + CREATURE_TYPE_UNDEAD = 6, + CREATURE_TYPE_HUMANOID = 7, + CREATURE_TYPE_CRITTER = 8, + CREATURE_TYPE_MECHANICAL = 9, + CREATURE_TYPE_NOTSPECIFIED = 10, + CREATURE_TYPE_TOTEM = 11 +}; + +enum QuestSort +{ + QUEST_SORT_EPIC = 1, + QUEST_SORT_WAILING_CAVERNS_OLD = 21, + QUEST_SORT_SEASONAL = 22, + QUEST_SORT_UNDERCITY_OLD = 23, + QUEST_SORT_HERBALISM = 24, + QUEST_SORT_SCARLET_MONASTERY_OLD= 25, + QUEST_SORT_ULDAMN_OLD = 41, + QUEST_SORT_WARLOCK = 61, + QUEST_SORT_WARRIOR = 81, + QUEST_SORT_SHAMAN = 82, + QUEST_SORT_FISHING = 101, + QUEST_SORT_BLACKSMITHING = 121, + QUEST_SORT_PALADIN = 141, + QUEST_SORT_MAGE = 161, + QUEST_SORT_ROGUE = 162, + QUEST_SORT_ALCHEMY = 181, + QUEST_SORT_LEATHERWORKING = 182, + QUEST_SORT_ENGINERING = 201, + QUEST_SORT_TREASURE_MAP = 221, + QUEST_SORT_SUNKEN_TEMPLE_OLD = 241, + QUEST_SORT_HUNTER = 261, + QUEST_SORT_PRIEST = 262, + QUEST_SORT_DRUID = 263, + QUEST_SORT_TAILORING = 264, + QUEST_SORT_SPECIAL = 284, + QUEST_SORT_COOKING = 304, + QUEST_SORT_FIRST_AID = 324, + QUEST_SORT_LEGENDARY = 344, + QUEST_SORT_DARKMOON_FAIRE = 364, + QUEST_SORT_AHN_QIRAJ_WAR = 365, + QUEST_SORT_LUNAR_FESTIVAL = 366, + QUEST_SORT_REPUTATION = 367, + QUEST_SORT_INVASION = 368, + QUEST_SORT_MIDSUMMER = 369 +}; + +enum SkillType +{ + SKILL_FROST = 6, + SKILL_FIRE = 8, + SKILL_ARMS = 26, + SKILL_COMBAT = 38, + SKILL_SUBTLETY = 39, + SKILL_POISONS = 40, + SKILL_SWORDS = 43, + SKILL_AXES = 44, + SKILL_BOWS = 45, + SKILL_GUNS = 46, + SKILL_BEAST_MASTERY = 50, + SKILL_SURVIVAL = 51, + SKILL_MACES = 54, + SKILL_HOLY = 56, + SKILL_2H_SWORDS = 55, + SKILL_SHADOW = 78, + SKILL_DEFENSE = 95, + SKILL_LANG_COMMON = 98, + SKILL_RACIAL_DWARVEN = 101, + SKILL_LANG_ORCISH = 109, + SKILL_LANG_DWARVEN = 111, + SKILL_LANG_DARNASSIAN = 113, + SKILL_LANG_TAURAHE = 115, + SKILL_DUAL_WIELD = 118, + SKILL_RACIAL_TAUREN = 124, + SKILL_ORC_RACIAL = 125, + SKILL_RACIAL_NIGHT_ELF = 126, + SKILL_FIRST_AID = 129, + SKILL_FERAL_COMBAT = 134, + SKILL_STAVES = 136, + SKILL_LANG_THALASSIAN = 137, + SKILL_LANG_DRACONIC = 138, + SKILL_LANG_DEMON_TONGUE = 139, + SKILL_LANG_TITAN = 140, + SKILL_LANG_OLD_TONGUE = 141, + SKILL_SURVIVAL2 = 142, + SKILL_RIDING_HORSE = 148, + SKILL_RIDING_WOLF = 149, + SKILL_RIDING_RAM = 152, + SKILL_RIDING_TIGER = 150, + SKILL_SWIMING = 155, + SKILL_2H_MACES = 160, + SKILL_UNARMED = 162, + SKILL_MARKSMANSHIP = 163, + SKILL_BLACKSMITHING = 164, + SKILL_LEATHERWORKING = 165, + SKILL_ALCHEMY = 171, + SKILL_2H_AXES = 172, + SKILL_DAGGERS = 173, + SKILL_THROWN = 176, + SKILL_HERBALISM = 182, + SKILL_GENERIC_DND = 183, + SKILL_RETRIBUTION = 184, + SKILL_COOKING = 185, + SKILL_MINING = 186, + SKILL_PET_IMP = 188, + SKILL_PET_FELHUNTER = 189, + SKILL_TAILORING = 197, + SKILL_ENGINERING = 202, + SKILL_PET_SPIDER = 203, + SKILL_PET_VOIDWALKER = 204, + SKILL_PET_SUCCUBUS = 205, + SKILL_PET_INFERNAL = 206, + SKILL_PET_DOOMGUARD = 207, + SKILL_PET_WOLF = 208, + SKILL_PET_CAT = 209, + SKILL_PET_BEAR = 210, + SKILL_PET_BOAR = 211, + SKILL_PET_CROCILISK = 212, + SKILL_PET_CARRION_BIRD = 213, + SKILL_PET_GORILLA = 215, + SKILL_PET_CRAB = 214, + SKILL_PET_RAPTOR = 217, + SKILL_PET_TALLSTRIDER = 218, + SKILL_RACIAL_UNDED = 220, + SKILL_WEAPON_TALENTS = 222, + SKILL_CROSSBOWS = 226, + SKILL_SPEARS = 227, + SKILL_WANDS = 228, + SKILL_POLEARMS = 229, + SKILL_PET_SCORPID = 236, + SKILL_ARCANE = 237, + SKILL_OPEN_LOCK = 242, + SKILL_PET_TURTLE = 251, + SKILL_ASSASSINATION = 253, + SKILL_FURY = 256, + SKILL_PROTECTION = 257, + SKILL_BEAST_TRAINING = 261, + SKILL_PROTECTION2 = 267, + SKILL_PET_TALENTS = 270, + SKILL_PLATE_MAIL = 293, + SKILL_LANG_GNOMISH = 313, + SKILL_LANG_TROLL = 315, + SKILL_ENCHANTING = 333, + SKILL_DEMONOLOGY = 354, + SKILL_AFFLICTION = 355, + SKILL_FISHING = 356, + SKILL_ENHANCEMENT = 373, + SKILL_RESTORATION = 374, + SKILL_ELEMENTAL_COMBAT = 375, + SKILL_SKINNING = 393, + SKILL_MAIL = 413, + SKILL_LEATHER = 414, + SKILL_CLOTH = 415, + SKILL_SHIELD = 433, + SKILL_FIST_WEAPONS = 473, + SKILL_RIDING_RAPTOR = 533, + SKILL_RIDING_MECHANOSTRIDER = 553, + SKILL_RIDING_UNDEAD_HORSE = 554, + SKILL_RESTORATION2 = 573, + SKILL_BALANCE = 574, + SKILL_DESTRUCTION = 593, + SKILL_HOLY2 = 594, + SKILL_DISCIPLINE = 613, + SKILL_LOCKPICKING = 633, + SKILL_PET_BAT = 653, + SKILL_PET_HYENA = 654, + SKILL_PET_OWL = 655, + SKILL_PET_WIND_SERPENT = 656, + SKILL_LANG_GUTTERSPEAK = 673, + SKILL_RIDING_KODO = 713, + SKILL_RACIAL_TROLL = 733, + SKILL_RACIAL_GNOME = 753, + SKILL_RACIAL_HUMAN = 754, + SKILL_JEWELCRAFTING = 755, + SKILL_RACIAL_BLOODELF = 756, + SKILL_PET_EVENT_RC = 758, + SKILL_LANG_DRAENEI = 759, + SKILL_RACIAL_DRAENEI = 760, + SKILL_PET_FELGUARD = 761, + SKILL_RIDING = 762, + SKILL_PET_DRAGONHAWK = 763, + SKILL_PET_NETHER_RAY = 764, + SKILL_PET_SPOREBAT = 765, + SKILL_PET_WARP_STALKER = 766, + SKILL_PET_RAVAGER = 767, + SKILL_PET_SERPENT = 768 +}; + + +enum SkillCategory +{ + SKILL_CATEGORY_ATTRIBUTES = 5, + SKILL_CATEGORY_WEAPON = 6, + SKILL_CATEGORY_CLASS = 7, + SKILL_CATEGORY_ARMOR = 8, + SKILL_CATEGORY_SECONDARY = 9, // secondary professions + SKILL_CATEGORY_LANGUAGES = 10, + SKILL_CATEGORY_PROFESSION = 11, // primary professions + SKILL_CATEGORY_NOT_DISPLAYED = 12 +}; + +enum TotemCategory +{ + TC_SKINNING_SKIFE = 1, + TC_EARTH_TOTEM = 2, + TC_AIR_TOTEM = 3, + TC_FIRE_TOTEM = 4, + TC_WATER_TOTEM = 5, + TC_COPPER_ROD = 6, + TC_SILVER_ROD = 7, + TC_GOLDEN_ROD = 8, + TC_TRUESILVER_ROD = 9, + TC_ARCANITE_ROD = 10, + TC_MINING_PICK = 11, + TC_PHILOSOPHERS_STONE = 12, + TC_BLACKSMITH_HAMMER = 13, + TC_ARCLIGHT_SPANNER = 14, + TC_GYROMATIC_MA = 15, + TC_MASTER_TOTEM = 21, + TC_FEL_IRON_ROD = 41, + TC_ADAMANTITE_ROD = 62, + TC_ETERNIUM_ROD = 63 +}; + +enum UnitDynFlags +{ + UNIT_DYNFLAG_LOOTABLE = 0x0001, + UNIT_DYNFLAG_TRACK_UNIT = 0x0002, + UNIT_DYNFLAG_OTHER_TAGGER = 0x0004, + UNIT_DYNFLAG_ROOTED = 0x0008, + UNIT_DYNFLAG_SPECIALINFO = 0x0010, + UNIT_DYNFLAG_DEAD = 0x0020 +}; + +enum UnitFlags1 +{ + UNIT_FLAG_NOT_ATTACKABLE = 0x0002, + UNIT_FLAG_ATTACKABLE = 0x0008, + UNIT_FLAG_NOT_ATTACKABLE_1 = 0x0080, + UNIT_FLAG_NON_PVP_PLAYER = (UNIT_FLAG_ATTACKABLE + UNIT_FLAG_NOT_ATTACKABLE_1), + UNIT_FLAG_ANIMATION_FROZEN = 0x0400, + UNIT_FLAG_WAR_PLAYER = 0x1000 +}; + +enum ChatMsg +{ + CHAT_MSG_SAY = 0x00, + CHAT_MSG_PARTY = 0x01, + CHAT_MSG_RAID = 0x02, + CHAT_MSG_GUILD = 0x03, + CHAT_MSG_OFFICER = 0x04, + CHAT_MSG_YELL = 0x05, + CHAT_MSG_WHISPER = 0x06, + CHAT_MSG_WHISPER_INFORM = 0x07, + CHAT_MSG_EMOTE = 0x08, + CHAT_MSG_TEXT_EMOTE = 0x09, + CHAT_MSG_SYSTEM = 0x0A, + CHAT_MSG_MONSTER_SAY = 0x0B, + CHAT_MSG_MONSTER_YELL = 0x0C, + CHAT_MSG_MONSTER_EMOTE = 0x0D, + CHAT_MSG_CHANNEL = 0x0E, + CHAT_MSG_CHANNEL_JOIN = 0x0F, + CHAT_MSG_CHANNEL_LEAVE = 0x10, + CHAT_MSG_CHANNEL_LIST = 0x11, + CHAT_MSG_CHANNEL_NOTICE = 0x12, + CHAT_MSG_CHANNEL_NOTICE_USER = 0x13, + CHAT_MSG_AFK = 0x14, + CHAT_MSG_DND = 0x15, + CHAT_MSG_IGNORED = 0x16, + CHAT_MSG_SKILL = 0x17, + CHAT_MSG_LOOT = 0x18, + CHAT_MSG_COMBAT_MISC_INFO = 0x19, + CHAT_MSG_MONSTER_WHISPER = 0x1A, + CHAT_MSG_COMBAT_SELF_HITS = 0x1B, + CHAT_MSG_COMBAT_SELF_MISSES = 0x1C, + CHAT_MSG_COMBAT_PET_HITS = 0x1D, + CHAT_MSG_COMBAT_PET_MISSES = 0x1E, + CHAT_MSG_COMBAT_PARTY_HITS = 0x1F, + CHAT_MSG_COMBAT_PARTY_MISSES = 0x20, + CHAT_MSG_COMBAT_FRIENDLYPLAYER_HITS = 0x21, + CHAT_MSG_COMBAT_FRIENDLYPLAYER_MISSES = 0x22, + CHAT_MSG_COMBAT_HOSTILEPLAYER_HITS = 0x23, + CHAT_MSG_COMBAT_HOSTILEPLAYER_MISSES = 0x24, + CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS = 0x25, + CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES = 0x26, + CHAT_MSG_COMBAT_CREATURE_VS_PARTY_HITS = 0x27, + CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES = 0x28, + CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_HITS = 0x29, + CHAT_MSG_COMBAT_CREATURE_VS_CREATURE_MISSES = 0x2A, + CHAT_MSG_COMBAT_FRIENDLY_DEATH = 0x2B, + CHAT_MSG_COMBAT_HOSTILE_DEATH = 0x2C, + CHAT_MSG_COMBAT_XP_GAIN = 0x2D, + CHAT_MSG_SPELL_SELF_DAMAGE = 0x2E, + CHAT_MSG_SPELL_SELF_BUFF = 0x2F, + CHAT_MSG_SPELL_PET_DAMAGE = 0x30, + CHAT_MSG_SPELL_PET_BUFF = 0x31, + CHAT_MSG_SPELL_PARTY_DAMAGE = 0x32, + CHAT_MSG_SPELL_PARTY_BUFF = 0x33, + CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE = 0x34, + CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF = 0x35, + CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE = 0x36, + CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF = 0x37, + CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE = 0x38, + CHAT_MSG_SPELL_CREATURE_VS_SELF_BUFF = 0x39, + CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE = 0x3A, + CHAT_MSG_SPELL_CREATURE_VS_PARTY_BUFF = 0x3B, + CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE = 0x3C, + CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF = 0x3D, + CHAT_MSG_SPELL_TRADESKILLS = 0x3E, + CHAT_MSG_SPELL_DAMAGESHIELDS_ON_SELF = 0x3F, + CHAT_MSG_SPELL_DAMAGESHIELDS_ON_OTHERS = 0x40, + CHAT_MSG_SPELL_AURA_GONE_SELF = 0x41, + CHAT_MSG_SPELL_AURA_GONE_PARTY = 0x42, + CHAT_MSG_SPELL_AURA_GONE_OTHER = 0x43, + CHAT_MSG_SPELL_ITEM_ENCHANTMENTS = 0x44, + CHAT_MSG_SPELL_BREAK_AURA = 0x45, + CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE = 0x46, + CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS = 0x47, + CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE = 0x48, + CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS = 0x49, + CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE = 0x4A, + CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS = 0x4B, + CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE = 0x4C, + CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS = 0x4D, + CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE = 0x4E, + CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS = 0x4F, + CHAT_MSG_SPELL_FAILED_LOCALPLAYER = 0x50, + CHAT_MSG_COMBAT_HONOR_GAIN = 0x51, + CHAT_MSG_BG_SYSTEM_NEUTRAL = 0x52, + CHAT_MSG_BG_SYSTEM_ALLIANCE = 0x53, + CHAT_MSG_BG_SYSTEM_HORDE = 0x54, + CHAT_MSG_COMBAT_FACTION_CHANGE = 0x55, + CHAT_MSG_MONEY = 0x56, + CHAT_MSG_RAID_LEADER = 0x57, + CHAT_MSG_RAID_WARNING = 0x58, + CHAT_MSG_FOREIGN_TELL = 0x59, + CHAT_MSG_RAID_BOSS_EMOTE = 0x5A, + CHAT_MSG_FILTERED = 0x5B, + CHAT_MSG_BATTLEGROUND = 0x5C, + CHAT_MSG_BATTLEGROUND_LEADER = 0x5D, + CHAT_MSG_MONSTER_PARTY = 0x5E, + CHAT_MSG_RESTRICTED = 0x5F, }; enum SpellCastTargetFlags diff --git a/src/Client/World/UpdateData.cpp b/src/Client/World/UpdateData.cpp index 88e31bf..2063a1a 100644 --- a/src/Client/World/UpdateData.cpp +++ b/src/Client/World/UpdateData.cpp @@ -208,7 +208,7 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket) void WorldSession::_MovementUpdate(uint8 objtypeid, uint64 uguid, WorldPacket& recvPacket) { - uint8 flags; + uint8 flags,unk8; uint32 unk32,flags2,time,transtime,higuid; float unkfx,unkfy,unkfz,x,y,z,o,tx,ty,tz,to; uint64 transguid; @@ -223,7 +223,7 @@ void WorldSession::_MovementUpdate(uint8 objtypeid, uint64 uguid, WorldPacket& r if(flags & UPDATEFLAG_LIVING) { - recvPacket >> flags2 >> time; + recvPacket >> flags2 >> unk8 >> time; } logdev("MovementUpdate TypeID=%u GUID="I64FMT" pObj=%X flags=%u flags2=%u",objtypeid,uguid,obj,flags,flags2); diff --git a/src/Client/World/UpdateFields.h b/src/Client/World/UpdateFields.h index 37f95b0..5ce0ab0 100644 --- a/src/Client/World/UpdateFields.h +++ b/src/Client/World/UpdateFields.h @@ -19,308 +19,302 @@ #ifndef _UPDATEFIELDS_AUTO_H #define _UPDATEFIELDS_AUTO_H -// Auto generated for version 2.1.3, build 6898 +// Auto generated for version 0, 3, 2, 7655 enum EObjectFields { - OBJECT_FIELD_GUID = 0x0000, // 2 4 1 - OBJECT_FIELD_TYPE = 0x0002, // 1 1 1 - OBJECT_FIELD_ENTRY = 0x0003, // 1 1 1 - OBJECT_FIELD_SCALE_X = 0x0004, // 1 3 1 - OBJECT_FIELD_PADDING = 0x0005, // 1 1 0 + OBJECT_FIELD_GUID = 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + OBJECT_FIELD_TYPE = 0x0002, // Size: 1, Type: INT, Flags: PUBLIC + OBJECT_FIELD_ENTRY = 0x0003, // Size: 1, Type: INT, Flags: PUBLIC + OBJECT_FIELD_SCALE_X = 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC + OBJECT_FIELD_PADDING = 0x0005, // Size: 1, Type: INT, Flags: NONE OBJECT_END = 0x0006, }; enum EItemFields { - ITEM_FIELD_OWNER = 0x0006, // 2 4 1 - ITEM_FIELD_CONTAINED = 0x0008, // 2 4 1 - ITEM_FIELD_CREATOR = 0x000A, // 2 4 1 - ITEM_FIELD_GIFTCREATOR = 0x000C, // 2 4 1 - ITEM_FIELD_STACK_COUNT = 0x000E, // 1 1 20 - ITEM_FIELD_DURATION = 0x000F, // 1 1 20 - ITEM_FIELD_SPELL_CHARGES = 0x0010, // 5 1 20 - ITEM_FIELD_FLAGS = 0x0015, // 1 1 1 - /* - There is two types of enchantments: property based and suffix based. - Item can have only one of the two. - Suffix based linked to item.randomproperty_2 field and property based - to item.randomproperty_1 field (item prototype). - Suffix based enchantments sent to the client as negative value, in - addition they require ITEM_FIELD_SUFFIX_FACTOR field to be send in - order to calculate the bonus value. Property based enchantments are send - as positive values and do not require any aditional values since the bonuses - are already stored inside spellitemenchantment. Suffix based enchantments uses - 6-8 fields in EnchantmentSlot while property based uses 8-10 in EnchantmentSlot. - */ - ITEM_FIELD_ENCHANTMENT = 0x0016, // 33 1 1 - ITEM_FIELD_PROPERTY_SEED = 0x0037, // 1 1 1 - ITEM_FIELD_SUFFIX_FACTOR = ITEM_FIELD_PROPERTY_SEED, //custom - ITEM_FIELD_RANDOM_PROPERTIES_ID = 0x0038, // 1 1 1 - ITEM_FIELD_ITEM_TEXT_ID = 0x0039, // 1 1 4 - ITEM_FIELD_DURABILITY = 0x003A, // 1 1 20 - ITEM_FIELD_MAXDURABILITY = 0x003B, // 1 1 20 - ITEM_END = 0x003C, + ITEM_FIELD_OWNER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + ITEM_FIELD_CONTAINED = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC + ITEM_FIELD_CREATOR = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PUBLIC + ITEM_FIELD_GIFTCREATOR = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC + ITEM_FIELD_STACK_COUNT = OBJECT_END + 0x0008, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_DURATION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_SPELL_CHARGES = OBJECT_END + 0x000A, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_FLAGS = OBJECT_END + 0x000F, // Size: 1, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT = OBJECT_END + 0x0010, // Size: 33, Type: INT, Flags: PUBLIC + ITEM_FIELD_PROPERTY_SEED = OBJECT_END + 0x0031, // Size: 1, Type: INT, Flags: PUBLIC + + // custom + ITEM_FIELD_SUFFIX_FACTOR = ITEM_FIELD_PROPERTY_SEED, + + ITEM_FIELD_RANDOM_PROPERTIES_ID = OBJECT_END + 0x0032, // Size: 1, Type: INT, Flags: PUBLIC + ITEM_FIELD_ITEM_TEXT_ID = OBJECT_END + 0x0033, // Size: 1, Type: INT, Flags: OWNER_ONLY + ITEM_FIELD_DURABILITY = OBJECT_END + 0x0034, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x0035, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_END = OBJECT_END + 0x0036, }; enum EContainerFields { - CONTAINER_FIELD_NUM_SLOTS = 0x003C, // 1 1 1 - CONTAINER_ALIGN_PAD = 0x003D, // 1 5 0 - CONTAINER_FIELD_SLOT_1 = 0x003E, // 72 4 1 - CONTAINER_END = 0x0086, + CONTAINER_FIELD_NUM_SLOTS = ITEM_END + 0x0000, // Size: 1, Type: INT, Flags: PUBLIC + CONTAINER_ALIGN_PAD = ITEM_END + 0x0001, // Size: 1, Type: BYTES, Flags: NONE + CONTAINER_FIELD_SLOT_1 = ITEM_END + 0x0002, // Size: 72, Type: LONG, Flags: PUBLIC + CONTAINER_END = ITEM_END + 0x004A, }; enum EUnitFields { - UNIT_FIELD_CHARM = 0x0006, // 2 4 1 - UNIT_FIELD_SUMMON = 0x0008, // 2 4 1 - UNIT_FIELD_CHARMEDBY = 0x000A, // 2 4 1 - UNIT_FIELD_SUMMONEDBY = 0x000C, // 2 4 1 - UNIT_FIELD_CREATEDBY = 0x000E, // 2 4 1 - UNIT_FIELD_TARGET = 0x0010, // 2 4 1 - UNIT_FIELD_PERSUADED = 0x0012, // 2 4 1 - UNIT_FIELD_CHANNEL_OBJECT = 0x0014, // 2 4 1 - UNIT_FIELD_HEALTH = 0x0016, // 1 1 256 - UNIT_FIELD_POWER1 = 0x0017, // 1 1 1 - UNIT_FIELD_POWER2 = 0x0018, // 1 1 1 - UNIT_FIELD_POWER3 = 0x0019, // 1 1 1 - UNIT_FIELD_POWER4 = 0x001A, // 1 1 1 - UNIT_FIELD_POWER5 = 0x001B, // 1 1 1 - UNIT_FIELD_MAXHEALTH = 0x001C, // 1 1 256 - UNIT_FIELD_MAXPOWER1 = 0x001D, // 1 1 1 - UNIT_FIELD_MAXPOWER2 = 0x001E, // 1 1 1 - UNIT_FIELD_MAXPOWER3 = 0x001F, // 1 1 1 - UNIT_FIELD_MAXPOWER4 = 0x0020, // 1 1 1 - UNIT_FIELD_MAXPOWER5 = 0x0021, // 1 1 1 - UNIT_FIELD_LEVEL = 0x0022, // 1 1 1 - UNIT_FIELD_FACTIONTEMPLATE = 0x0023, // 1 1 1 - UNIT_FIELD_BYTES_0 = 0x0024, // 1 5 1 - UNIT_VIRTUAL_ITEM_SLOT_DISPLAY = 0x0025, // 3 1 1 - UNIT_VIRTUAL_ITEM_INFO = 0x0028, // 6 5 1 - UNIT_FIELD_FLAGS = 0x002E, // 1 1 1 - UNIT_FIELD_FLAGS_2 = 0x002F, // 1 1 1 - UNIT_FIELD_AURA = 0x0030, // 56 1 1 - UNIT_FIELD_AURAFLAGS = 0x0068, // 7 5 1 - UNIT_FIELD_AURALEVELS = 0x006F, // 14 5 1 - UNIT_FIELD_AURAAPPLICATIONS = 0x007D, // 14 5 1 - UNIT_FIELD_AURASTATE = 0x008B, // 1 1 1 - UNIT_FIELD_BASEATTACKTIME = 0x008C, // 2 1 1 - UNIT_FIELD_OFFHANDATTACKTIME = UNIT_FIELD_BASEATTACKTIME + 1, // custom - UNIT_FIELD_RANGEDATTACKTIME = 0x008E, // 1 1 2 - UNIT_FIELD_BOUNDINGRADIUS = 0x008F, // 1 3 1 - UNIT_FIELD_COMBATREACH = 0x0090, // 1 3 1 - UNIT_FIELD_DISPLAYID = 0x0091, // 1 1 1 - UNIT_FIELD_NATIVEDISPLAYID = 0x0092, // 1 1 1 - UNIT_FIELD_MOUNTDISPLAYID = 0x0093, // 1 1 1 - UNIT_FIELD_MINDAMAGE = 0x0094, // 1 3 38 - UNIT_FIELD_MAXDAMAGE = 0x0095, // 1 3 38 - UNIT_FIELD_MINOFFHANDDAMAGE = 0x0096, // 1 3 38 - UNIT_FIELD_MAXOFFHANDDAMAGE = 0x0097, // 1 3 38 - UNIT_FIELD_BYTES_1 = 0x0098, // 1 5 1 - UNIT_FIELD_PETNUMBER = 0x0099, // 1 1 1 - UNIT_FIELD_PET_NAME_TIMESTAMP = 0x009A, // 1 1 1 - UNIT_FIELD_PETEXPERIENCE = 0x009B, // 1 1 4 - UNIT_FIELD_PETNEXTLEVELEXP = 0x009C, // 1 1 4 - UNIT_DYNAMIC_FLAGS = 0x009D, // 1 1 256 - UNIT_CHANNEL_SPELL = 0x009E, // 1 1 1 - UNIT_MOD_CAST_SPEED = 0x009F, // 1 3 1 - UNIT_CREATED_BY_SPELL = 0x00A0, // 1 1 1 - UNIT_NPC_FLAGS = 0x00A1, // 1 1 1 - UNIT_NPC_EMOTESTATE = 0x00A2, // 1 1 1 - UNIT_TRAINING_POINTS = 0x00A3, // 1 2 4 - UNIT_FIELD_STAT0 = 0x00A4, // 1 1 6 - UNIT_FIELD_STAT1 = 0x00A5, // 1 1 6 - UNIT_FIELD_STAT2 = 0x00A6, // 1 1 6 - UNIT_FIELD_STAT3 = 0x00A7, // 1 1 6 - UNIT_FIELD_STAT4 = 0x00A8, // 1 1 6 - UNIT_FIELD_POSSTAT0 = 0x00A9, // 1 1 6 - UNIT_FIELD_POSSTAT1 = 0x00AA, // 1 1 6 - UNIT_FIELD_POSSTAT2 = 0x00AB, // 1 1 6 - UNIT_FIELD_POSSTAT3 = 0x00AC, // 1 1 6 - UNIT_FIELD_POSSTAT4 = 0x00AD, // 1 1 6 - UNIT_FIELD_NEGSTAT0 = 0x00AE, // 1 1 6 - UNIT_FIELD_NEGSTAT1 = 0x00AF, // 1 1 6 - UNIT_FIELD_NEGSTAT2 = 0x00B0, // 1 1 6 - UNIT_FIELD_NEGSTAT3 = 0x00B1, // 1 1 6 - UNIT_FIELD_NEGSTAT4 = 0x00B2, // 1 1 6 - UNIT_FIELD_RESISTANCES = 0x00B3, // 7 1 38 - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = 0x00BA, // 7 1 6 - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = 0x00C1, // 7 1 6 - UNIT_FIELD_BASE_MANA = 0x00C8, // 1 1 6 - UNIT_FIELD_BASE_HEALTH = 0x00C9, // 1 1 6 - UNIT_FIELD_BYTES_2 = 0x00CA, // 1 5 1 - UNIT_FIELD_ATTACK_POWER = 0x00CB, // 1 1 6 - UNIT_FIELD_ATTACK_POWER_MODS = 0x00CC, // 1 2 6 - UNIT_FIELD_ATTACK_POWER_MULTIPLIER = 0x00CD, // 1 3 6 - UNIT_FIELD_RANGED_ATTACK_POWER = 0x00CE, // 1 1 6 - UNIT_FIELD_RANGED_ATTACK_POWER_MODS = 0x00CF, // 1 2 6 - UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = 0x00D0, // 1 3 6 - UNIT_FIELD_MINRANGEDDAMAGE = 0x00D1, // 1 3 6 - UNIT_FIELD_MAXRANGEDDAMAGE = 0x00D2, // 1 3 6 - UNIT_FIELD_POWER_COST_MODIFIER = 0x00D3, // 7 1 6 - UNIT_FIELD_POWER_COST_MULTIPLIER = 0x00DA, // 7 3 6 - UNIT_FIELD_PADDING = 0x00E1, // 1 1 0 - UNIT_END = 0x00E2, + UNIT_FIELD_CHARM = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_SUMMON = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_CHARMEDBY = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_SUMMONEDBY = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_CREATEDBY = OBJECT_END + 0x0008, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_TARGET = OBJECT_END + 0x000A, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_PERSUADED = OBJECT_END + 0x000C, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_CHANNEL_OBJECT = OBJECT_END + 0x000E, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_HEALTH = OBJECT_END + 0x0010, // Size: 1, Type: INT, Flags: DYNAMIC + UNIT_FIELD_POWER1 = OBJECT_END + 0x0011, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER2 = OBJECT_END + 0x0012, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER3 = OBJECT_END + 0x0013, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER4 = OBJECT_END + 0x0014, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER5 = OBJECT_END + 0x0015, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x0016, // Size: 1, Type: INT, Flags: DYNAMIC + UNIT_FIELD_MAXPOWER1 = OBJECT_END + 0x0017, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER2 = OBJECT_END + 0x0018, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER3 = OBJECT_END + 0x0019, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER4 = OBJECT_END + 0x001A, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER5 = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_LEVEL = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_BYTES_0 = OBJECT_END + 0x001E, // Size: 1, Type: BYTES, Flags: PUBLIC + UNIT_VIRTUAL_ITEM_SLOT_DISPLAY = OBJECT_END + 0x001F, // Size: 3, Type: INT, Flags: PUBLIC + UNIT_VIRTUAL_ITEM_INFO = OBJECT_END + 0x0022, // Size: 6, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_FLAGS = OBJECT_END + 0x0028, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x0029, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_AURA = OBJECT_END + 0x002A, // Size: 56, Type: INT, Flags: PUBLIC + UNIT_FIELD_AURAFLAGS = OBJECT_END + 0x0062, // Size: 14, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_AURALEVELS = OBJECT_END + 0x0070, // Size: 14, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_AURAAPPLICATIONS = OBJECT_END + 0x007E, // Size: 14, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_AURASTATE = OBJECT_END + 0x008C, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x008D, // Size: 2, Type: INT, Flags: PUBLIC - PLAYER_DUEL_ARBITER = 0x00E2, // 2 4 1 - PLAYER_FLAGS = 0x00E4, // 1 1 1 - PLAYER_GUILDID = 0x00E5, // 1 1 1 - PLAYER_GUILDRANK = 0x00E6, // 1 1 1 - PLAYER_BYTES = 0x00E7, // 1 5 1 - PLAYER_BYTES_2 = 0x00E8, // 1 5 1 - PLAYER_BYTES_3 = 0x00E9, // 1 5 1 - PLAYER_DUEL_TEAM = 0x00EA, // 1 1 1 - PLAYER_GUILD_TIMESTAMP = 0x00EB, // 1 1 1 - PLAYER_QUEST_LOG_1_1 = 0x00EC, // 1 1 64 - PLAYER_QUEST_LOG_1_2 = 0x00ED, // 2 1 2 - PLAYER_QUEST_LOG_2_1 = 0x00EF, // 1 1 64 - PLAYER_QUEST_LOG_2_2 = 0x00F0, // 2 1 2 - PLAYER_QUEST_LOG_3_1 = 0x00F2, // 1 1 64 - PLAYER_QUEST_LOG_3_2 = 0x00F3, // 2 1 2 - PLAYER_QUEST_LOG_4_1 = 0x00F5, // 1 1 64 - PLAYER_QUEST_LOG_4_2 = 0x00F6, // 2 1 2 - PLAYER_QUEST_LOG_5_1 = 0x00F8, // 1 1 64 - PLAYER_QUEST_LOG_5_2 = 0x00F9, // 2 1 2 - PLAYER_QUEST_LOG_6_1 = 0x00FB, // 1 1 64 - PLAYER_QUEST_LOG_6_2 = 0x00FC, // 2 1 2 - PLAYER_QUEST_LOG_7_1 = 0x00FE, // 1 1 64 - PLAYER_QUEST_LOG_7_2 = 0x00FF, // 2 1 2 - PLAYER_QUEST_LOG_8_1 = 0x0101, // 1 1 64 - PLAYER_QUEST_LOG_8_2 = 0x0102, // 2 1 2 - PLAYER_QUEST_LOG_9_1 = 0x0104, // 1 1 64 - PLAYER_QUEST_LOG_9_2 = 0x0105, // 2 1 2 - PLAYER_QUEST_LOG_10_1 = 0x0107, // 1 1 64 - PLAYER_QUEST_LOG_10_2 = 0x0108, // 2 1 2 - PLAYER_QUEST_LOG_11_1 = 0x010A, // 1 1 64 - PLAYER_QUEST_LOG_11_2 = 0x010B, // 2 1 2 - PLAYER_QUEST_LOG_12_1 = 0x010D, // 1 1 64 - PLAYER_QUEST_LOG_12_2 = 0x010E, // 2 1 2 - PLAYER_QUEST_LOG_13_1 = 0x0110, // 1 1 64 - PLAYER_QUEST_LOG_13_2 = 0x0111, // 2 1 2 - PLAYER_QUEST_LOG_14_1 = 0x0113, // 1 1 64 - PLAYER_QUEST_LOG_14_2 = 0x0114, // 2 1 2 - PLAYER_QUEST_LOG_15_1 = 0x0116, // 1 1 64 - PLAYER_QUEST_LOG_15_2 = 0x0117, // 2 1 2 - PLAYER_QUEST_LOG_16_1 = 0x0119, // 1 1 64 - PLAYER_QUEST_LOG_16_2 = 0x011A, // 2 1 2 - PLAYER_QUEST_LOG_17_1 = 0x011C, // 1 1 64 - PLAYER_QUEST_LOG_17_2 = 0x011D, // 2 1 2 - PLAYER_QUEST_LOG_18_1 = 0x011F, // 1 1 64 - PLAYER_QUEST_LOG_18_2 = 0x0120, // 2 1 2 - PLAYER_QUEST_LOG_19_1 = 0x0122, // 1 1 64 - PLAYER_QUEST_LOG_19_2 = 0x0123, // 2 1 2 - PLAYER_QUEST_LOG_20_1 = 0x0125, // 1 1 64 - PLAYER_QUEST_LOG_20_2 = 0x0126, // 2 1 2 - PLAYER_QUEST_LOG_21_1 = 0x0128, // 1 1 64 - PLAYER_QUEST_LOG_21_2 = 0x0129, // 2 1 2 - PLAYER_QUEST_LOG_22_1 = 0x012B, // 1 1 64 - PLAYER_QUEST_LOG_22_2 = 0x012C, // 2 1 2 - PLAYER_QUEST_LOG_23_1 = 0x012E, // 1 1 64 - PLAYER_QUEST_LOG_23_2 = 0x012F, // 2 1 2 - PLAYER_QUEST_LOG_24_1 = 0x0131, // 1 1 64 - PLAYER_QUEST_LOG_24_2 = 0x0132, // 2 1 2 - PLAYER_QUEST_LOG_25_1 = 0x0134, // 1 1 64 - PLAYER_QUEST_LOG_25_2 = 0x0135, // 2 1 2 - PLAYER_VISIBLE_ITEM_1_CREATOR = 0x0137, // 2 4 1 - PLAYER_VISIBLE_ITEM_1_0 = 0x0139, // 12 1 1 - PLAYER_VISIBLE_ITEM_1_PROPERTIES = 0x0145, // 1 2 1 - PLAYER_VISIBLE_ITEM_1_PAD = 0x0146, // 1 1 1 - PLAYER_VISIBLE_ITEM_2_CREATOR = 0x0147, // 2 4 1 - PLAYER_VISIBLE_ITEM_2_0 = 0x0149, // 12 1 1 - PLAYER_VISIBLE_ITEM_2_PROPERTIES = 0x0155, // 1 2 1 - PLAYER_VISIBLE_ITEM_2_PAD = 0x0156, // 1 1 1 - PLAYER_VISIBLE_ITEM_3_CREATOR = 0x0157, // 2 4 1 - PLAYER_VISIBLE_ITEM_3_0 = 0x0159, // 12 1 1 - PLAYER_VISIBLE_ITEM_3_PROPERTIES = 0x0165, // 1 2 1 - PLAYER_VISIBLE_ITEM_3_PAD = 0x0166, // 1 1 1 - PLAYER_VISIBLE_ITEM_4_CREATOR = 0x0167, // 2 4 1 - PLAYER_VISIBLE_ITEM_4_0 = 0x0169, // 12 1 1 - PLAYER_VISIBLE_ITEM_4_PROPERTIES = 0x0175, // 1 2 1 - PLAYER_VISIBLE_ITEM_4_PAD = 0x0176, // 1 1 1 - PLAYER_VISIBLE_ITEM_5_CREATOR = 0x0177, // 2 4 1 - PLAYER_VISIBLE_ITEM_5_0 = 0x0179, // 12 1 1 - PLAYER_VISIBLE_ITEM_5_PROPERTIES = 0x0185, // 1 2 1 - PLAYER_VISIBLE_ITEM_5_PAD = 0x0186, // 1 1 1 - PLAYER_VISIBLE_ITEM_6_CREATOR = 0x0187, // 2 4 1 - PLAYER_VISIBLE_ITEM_6_0 = 0x0189, // 12 1 1 - PLAYER_VISIBLE_ITEM_6_PROPERTIES = 0x0195, // 1 2 1 - PLAYER_VISIBLE_ITEM_6_PAD = 0x0196, // 1 1 1 - PLAYER_VISIBLE_ITEM_7_CREATOR = 0x0197, // 2 4 1 - PLAYER_VISIBLE_ITEM_7_0 = 0x0199, // 12 1 1 - PLAYER_VISIBLE_ITEM_7_PROPERTIES = 0x01A5, // 1 2 1 - PLAYER_VISIBLE_ITEM_7_PAD = 0x01A6, // 1 1 1 - PLAYER_VISIBLE_ITEM_8_CREATOR = 0x01A7, // 2 4 1 - PLAYER_VISIBLE_ITEM_8_0 = 0x01A9, // 12 1 1 - PLAYER_VISIBLE_ITEM_8_PROPERTIES = 0x01B5, // 1 2 1 - PLAYER_VISIBLE_ITEM_8_PAD = 0x01B6, // 1 1 1 - PLAYER_VISIBLE_ITEM_9_CREATOR = 0x01B7, // 2 4 1 - PLAYER_VISIBLE_ITEM_9_0 = 0x01B9, // 12 1 1 - PLAYER_VISIBLE_ITEM_9_PROPERTIES = 0x01C5, // 1 2 1 - PLAYER_VISIBLE_ITEM_9_PAD = 0x01C6, // 1 1 1 - PLAYER_VISIBLE_ITEM_10_CREATOR = 0x01C7, // 2 4 1 - PLAYER_VISIBLE_ITEM_10_0 = 0x01C9, // 12 1 1 - PLAYER_VISIBLE_ITEM_10_PROPERTIES = 0x01D5, // 1 2 1 - PLAYER_VISIBLE_ITEM_10_PAD = 0x01D6, // 1 1 1 - PLAYER_VISIBLE_ITEM_11_CREATOR = 0x01D7, // 2 4 1 - PLAYER_VISIBLE_ITEM_11_0 = 0x01D9, // 12 1 1 - PLAYER_VISIBLE_ITEM_11_PROPERTIES = 0x01E5, // 1 2 1 - PLAYER_VISIBLE_ITEM_11_PAD = 0x01E6, // 1 1 1 - PLAYER_VISIBLE_ITEM_12_CREATOR = 0x01E7, // 2 4 1 - PLAYER_VISIBLE_ITEM_12_0 = 0x01E9, // 12 1 1 - PLAYER_VISIBLE_ITEM_12_PROPERTIES = 0x01F5, // 1 2 1 - PLAYER_VISIBLE_ITEM_12_PAD = 0x01F6, // 1 1 1 - PLAYER_VISIBLE_ITEM_13_CREATOR = 0x01F7, // 2 4 1 - PLAYER_VISIBLE_ITEM_13_0 = 0x01F9, // 12 1 1 - PLAYER_VISIBLE_ITEM_13_PROPERTIES = 0x0205, // 1 2 1 - PLAYER_VISIBLE_ITEM_13_PAD = 0x0206, // 1 1 1 - PLAYER_VISIBLE_ITEM_14_CREATOR = 0x0207, // 2 4 1 - PLAYER_VISIBLE_ITEM_14_0 = 0x0209, // 12 1 1 - PLAYER_VISIBLE_ITEM_14_PROPERTIES = 0x0215, // 1 2 1 - PLAYER_VISIBLE_ITEM_14_PAD = 0x0216, // 1 1 1 - PLAYER_VISIBLE_ITEM_15_CREATOR = 0x0217, // 2 4 1 - PLAYER_VISIBLE_ITEM_15_0 = 0x0219, // 12 1 1 - PLAYER_VISIBLE_ITEM_15_PROPERTIES = 0x0225, // 1 2 1 - PLAYER_VISIBLE_ITEM_15_PAD = 0x0226, // 1 1 1 - PLAYER_VISIBLE_ITEM_16_CREATOR = 0x0227, // 2 4 1 - PLAYER_VISIBLE_ITEM_16_0 = 0x0229, // 12 1 1 - PLAYER_VISIBLE_ITEM_16_PROPERTIES = 0x0235, // 1 2 1 - PLAYER_VISIBLE_ITEM_16_PAD = 0x0236, // 1 1 1 - PLAYER_VISIBLE_ITEM_17_CREATOR = 0x0237, // 2 4 1 - PLAYER_VISIBLE_ITEM_17_0 = 0x0239, // 12 1 1 - PLAYER_VISIBLE_ITEM_17_PROPERTIES = 0x0245, // 1 2 1 - PLAYER_VISIBLE_ITEM_17_PAD = 0x0246, // 1 1 1 - PLAYER_VISIBLE_ITEM_18_CREATOR = 0x0247, // 2 4 1 - PLAYER_VISIBLE_ITEM_18_0 = 0x0249, // 12 1 1 - PLAYER_VISIBLE_ITEM_18_PROPERTIES = 0x0255, // 1 2 1 - PLAYER_VISIBLE_ITEM_18_PAD = 0x0256, // 1 1 1 - PLAYER_VISIBLE_ITEM_19_CREATOR = 0x0257, // 2 4 1 - PLAYER_VISIBLE_ITEM_19_0 = 0x0259, // 12 1 1 - PLAYER_VISIBLE_ITEM_19_PROPERTIES = 0x0265, // 1 2 1 - PLAYER_VISIBLE_ITEM_19_PAD = 0x0266, // 1 1 1 - PLAYER_CHOSEN_TITLE = 0x0267, // 1 1 1 - PLAYER_FIELD_INV_SLOT_HEAD = 0x0268, // 46 4 2 - PLAYER_FIELD_PACK_SLOT_1 = 0x0296, // 32 4 2 - PLAYER_FIELD_BANK_SLOT_1 = 0x02B6, // 56 4 2 - PLAYER_FIELD_BANKBAG_SLOT_1 = 0x02EE, // 14 4 2 - PLAYER_FIELD_VENDORBUYBACK_SLOT_1 = 0x02FC, // 24 4 2 - PLAYER_FIELD_KEYRING_SLOT_1 = 0x0314, // 64 4 2 - PLAYER_FARSIGHT = 0x0354, // 2 4 2 - PLAYER__FIELD_KNOWN_TITLES = 0x0356, // 2 4 2 - PLAYER_XP = 0x0358, // 1 1 2 - PLAYER_NEXT_LEVEL_XP = 0x0359, // 1 1 2 - PLAYER_SKILL_INFO_1_1 = 0x035A, // 384 2 2 - PLAYER_CHARACTER_POINTS1 = 0x04DA, // 1 1 2 - PLAYER_CHARACTER_POINTS2 = 0x04DB, // 1 1 2 - PLAYER_TRACK_CREATURES = 0x04DC, // 1 1 2 - PLAYER_TRACK_RESOURCES = 0x04DD, // 1 1 2 - PLAYER_BLOCK_PERCENTAGE = 0x04DE, // 1 3 2 - PLAYER_DODGE_PERCENTAGE = 0x04DF, // 1 3 2 - PLAYER_PARRY_PERCENTAGE = 0x04E0, // 1 3 2 - PLAYER_CRIT_PERCENTAGE = 0x04E1, // 1 3 2 - PLAYER_RANGED_CRIT_PERCENTAGE = 0x04E2, // 1 3 2 - PLAYER_OFFHAND_CRIT_PERCENTAGE = 0x04E3, // 1 3 2 - PLAYER_SPELL_CRIT_PERCENTAGE1 = 0x04E4, // 7 3 2 + // custom + UNIT_FIELD_OFFHANDATTACKTIME = UNIT_FIELD_BASEATTACKTIME + 1, + + UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x008F, // Size: 1, Type: INT, Flags: PRIVATE + UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x0090, // Size: 1, Type: FLOAT, Flags: PUBLIC + UNIT_FIELD_COMBATREACH = OBJECT_END + 0x0091, // Size: 1, Type: FLOAT, Flags: PUBLIC + UNIT_FIELD_DISPLAYID = OBJECT_END + 0x0092, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x0093, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x0094, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x0095, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x0096, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x0097, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x0098, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_BYTES_1 = OBJECT_END + 0x0099, // Size: 1, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_PETNUMBER = OBJECT_END + 0x009A, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x009B, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x009C, // Size: 1, Type: INT, Flags: OWNER_ONLY + UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x009D, // Size: 1, Type: INT, Flags: OWNER_ONLY + UNIT_DYNAMIC_FLAGS = OBJECT_END + 0x009E, // Size: 1, Type: INT, Flags: DYNAMIC + UNIT_CHANNEL_SPELL = OBJECT_END + 0x009F, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_MOD_CAST_SPEED = OBJECT_END + 0x00A0, // Size: 1, Type: FLOAT, Flags: PUBLIC + UNIT_CREATED_BY_SPELL = OBJECT_END + 0x00A1, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_NPC_FLAGS = OBJECT_END + 0x00A2, // Size: 1, Type: INT, Flags: DYNAMIC + UNIT_NPC_EMOTESTATE = OBJECT_END + 0x00A3, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_TRAINING_POINTS = OBJECT_END + 0x00A4, // Size: 1, Type: TWO_SHORT, Flags: OWNER_ONLY + UNIT_FIELD_STAT0 = OBJECT_END + 0x00A5, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_STAT1 = OBJECT_END + 0x00A6, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_STAT2 = OBJECT_END + 0x00A7, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_STAT3 = OBJECT_END + 0x00A8, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_STAT4 = OBJECT_END + 0x00A9, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT0 = OBJECT_END + 0x00AA, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT1 = OBJECT_END + 0x00AB, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT2 = OBJECT_END + 0x00AC, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT3 = OBJECT_END + 0x00AD, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT4 = OBJECT_END + 0x00AE, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT0 = OBJECT_END + 0x00AF, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT1 = OBJECT_END + 0x00B0, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT2 = OBJECT_END + 0x00B1, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT3 = OBJECT_END + 0x00B2, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT4 = OBJECT_END + 0x00B3, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCES = OBJECT_END + 0x00B4, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x00BB, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x00C2, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_BASE_MANA = OBJECT_END + 0x00C9, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x00CA, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_BYTES_2 = OBJECT_END + 0x00CB, // Size: 1, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x00CC, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_ATTACK_POWER_MODS = OBJECT_END + 0x00CD, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x00CE, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x00CF, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RANGED_ATTACK_POWER_MODS = OBJECT_END + 0x00D0, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x00D1, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x00D2, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x00D3, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x00D4, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x00DB, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_END = OBJECT_END + 0x00E2, + + PLAYER_DUEL_ARBITER = UNIT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_FLAGS = UNIT_END + 0x0002, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_GUILDID = UNIT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_GUILDRANK = UNIT_END + 0x0004, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_BYTES = UNIT_END + 0x0005, // Size: 1, Type: BYTES, Flags: PUBLIC + PLAYER_BYTES_2 = UNIT_END + 0x0006, // Size: 1, Type: BYTES, Flags: PUBLIC + PLAYER_BYTES_3 = UNIT_END + 0x0007, // Size: 1, Type: BYTES, Flags: PUBLIC + PLAYER_DUEL_TEAM = UNIT_END + 0x0008, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_GUILD_TIMESTAMP = UNIT_END + 0x0009, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_QUEST_LOG_1_1 = UNIT_END + 0x000A, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_1_2 = UNIT_END + 0x000B, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_2_1 = UNIT_END + 0x000D, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_2_2 = UNIT_END + 0x000E, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_3_1 = UNIT_END + 0x0010, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_3_2 = UNIT_END + 0x0011, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_4_1 = UNIT_END + 0x0013, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_4_2 = UNIT_END + 0x0014, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_5_1 = UNIT_END + 0x0016, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_5_2 = UNIT_END + 0x0017, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_6_1 = UNIT_END + 0x0019, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_6_2 = UNIT_END + 0x001A, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_7_1 = UNIT_END + 0x001C, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_7_2 = UNIT_END + 0x001D, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_8_1 = UNIT_END + 0x001F, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_8_2 = UNIT_END + 0x0020, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_9_1 = UNIT_END + 0x0022, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_9_2 = UNIT_END + 0x0023, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_10_1 = UNIT_END + 0x0025, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_10_2 = UNIT_END + 0x0026, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_11_1 = UNIT_END + 0x0028, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_11_2 = UNIT_END + 0x0029, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_12_1 = UNIT_END + 0x002B, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_12_2 = UNIT_END + 0x002C, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_13_1 = UNIT_END + 0x002E, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_13_2 = UNIT_END + 0x002F, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_14_1 = UNIT_END + 0x0031, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_14_2 = UNIT_END + 0x0032, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_15_1 = UNIT_END + 0x0034, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_15_2 = UNIT_END + 0x0035, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_16_1 = UNIT_END + 0x0037, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_16_2 = UNIT_END + 0x0038, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_17_1 = UNIT_END + 0x003A, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_17_2 = UNIT_END + 0x003B, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_18_1 = UNIT_END + 0x003D, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_18_2 = UNIT_END + 0x003E, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_19_1 = UNIT_END + 0x0040, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_19_2 = UNIT_END + 0x0041, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_20_1 = UNIT_END + 0x0043, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_20_2 = UNIT_END + 0x0044, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_21_1 = UNIT_END + 0x0046, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_21_2 = UNIT_END + 0x0047, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_22_1 = UNIT_END + 0x0049, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_22_2 = UNIT_END + 0x004A, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_23_1 = UNIT_END + 0x004C, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_23_2 = UNIT_END + 0x004D, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_24_1 = UNIT_END + 0x004F, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_24_2 = UNIT_END + 0x0050, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_QUEST_LOG_25_1 = UNIT_END + 0x0052, // Size: 1, Type: INT, Flags: GROUP_ONLY + PLAYER_QUEST_LOG_25_2 = UNIT_END + 0x0053, // Size: 2, Type: INT, Flags: PRIVATE + PLAYER_VISIBLE_ITEM_1_CREATOR = UNIT_END + 0x0055, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_1_0 = UNIT_END + 0x0057, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_1_PROPERTIES = UNIT_END + 0x0063, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_1_PAD = UNIT_END + 0x0064, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_2_CREATOR = UNIT_END + 0x0065, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_2_0 = UNIT_END + 0x0067, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_2_PROPERTIES = UNIT_END + 0x0073, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_2_PAD = UNIT_END + 0x0074, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_3_CREATOR = UNIT_END + 0x0075, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_3_0 = UNIT_END + 0x0077, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_3_PROPERTIES = UNIT_END + 0x0083, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_3_PAD = UNIT_END + 0x0084, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_4_CREATOR = UNIT_END + 0x0085, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_4_0 = UNIT_END + 0x0087, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_4_PROPERTIES = UNIT_END + 0x0093, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_4_PAD = UNIT_END + 0x0094, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_5_CREATOR = UNIT_END + 0x0095, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_5_0 = UNIT_END + 0x0097, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_5_PROPERTIES = UNIT_END + 0x00A3, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_5_PAD = UNIT_END + 0x00A4, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_6_CREATOR = UNIT_END + 0x00A5, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_6_0 = UNIT_END + 0x00A7, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_6_PROPERTIES = UNIT_END + 0x00B3, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_6_PAD = UNIT_END + 0x00B4, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_7_CREATOR = UNIT_END + 0x00B5, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_7_0 = UNIT_END + 0x00B7, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_7_PROPERTIES = UNIT_END + 0x00C3, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_7_PAD = UNIT_END + 0x00C4, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_8_CREATOR = UNIT_END + 0x00C5, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_8_0 = UNIT_END + 0x00C7, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_8_PROPERTIES = UNIT_END + 0x00D3, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_8_PAD = UNIT_END + 0x00D4, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_9_CREATOR = UNIT_END + 0x00D5, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_9_0 = UNIT_END + 0x00D7, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_9_PROPERTIES = UNIT_END + 0x00E3, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_9_PAD = UNIT_END + 0x00E4, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_10_CREATOR = UNIT_END + 0x00E5, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_10_0 = UNIT_END + 0x00E7, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_10_PROPERTIES = UNIT_END + 0x00F3, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_10_PAD = UNIT_END + 0x00F4, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_11_CREATOR = UNIT_END + 0x00F5, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_11_0 = UNIT_END + 0x00F7, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_11_PROPERTIES = UNIT_END + 0x0103, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_11_PAD = UNIT_END + 0x0104, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_12_CREATOR = UNIT_END + 0x0105, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_12_0 = UNIT_END + 0x0107, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_12_PROPERTIES = UNIT_END + 0x0113, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_12_PAD = UNIT_END + 0x0114, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_13_CREATOR = UNIT_END + 0x0115, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_13_0 = UNIT_END + 0x0117, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_13_PROPERTIES = UNIT_END + 0x0123, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_13_PAD = UNIT_END + 0x0124, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_14_CREATOR = UNIT_END + 0x0125, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_14_0 = UNIT_END + 0x0127, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_14_PROPERTIES = UNIT_END + 0x0133, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_14_PAD = UNIT_END + 0x0134, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_15_CREATOR = UNIT_END + 0x0135, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_15_0 = UNIT_END + 0x0137, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_15_PROPERTIES = UNIT_END + 0x0143, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_15_PAD = UNIT_END + 0x0144, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_16_CREATOR = UNIT_END + 0x0145, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_16_0 = UNIT_END + 0x0147, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_16_PROPERTIES = UNIT_END + 0x0153, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_16_PAD = UNIT_END + 0x0154, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_17_CREATOR = UNIT_END + 0x0155, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_17_0 = UNIT_END + 0x0157, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_17_PROPERTIES = UNIT_END + 0x0163, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_17_PAD = UNIT_END + 0x0164, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_18_CREATOR = UNIT_END + 0x0165, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_18_0 = UNIT_END + 0x0167, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_18_PROPERTIES = UNIT_END + 0x0173, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_18_PAD = UNIT_END + 0x0174, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_19_CREATOR = UNIT_END + 0x0175, // Size: 2, Type: LONG, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_19_0 = UNIT_END + 0x0177, // Size: 12, Type: INT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_19_PROPERTIES = UNIT_END + 0x0183, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + PLAYER_VISIBLE_ITEM_19_PAD = UNIT_END + 0x0184, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_CHOSEN_TITLE = UNIT_END + 0x0185, // Size: 1, Type: INT, Flags: PUBLIC + PLAYER_FIELD_INV_SLOT_HEAD = UNIT_END + 0x0186, // Size: 46, Type: LONG, Flags: PRIVATE + PLAYER_FIELD_PACK_SLOT_1 = UNIT_END + 0x01B4, // Size: 32, Type: LONG, Flags: PRIVATE + PLAYER_FIELD_BANK_SLOT_1 = UNIT_END + 0x01D4, // Size: 56, Type: LONG, Flags: PRIVATE + PLAYER_FIELD_BANKBAG_SLOT_1 = UNIT_END + 0x020C, // Size: 14, Type: LONG, Flags: PRIVATE + PLAYER_FIELD_VENDORBUYBACK_SLOT_1 = UNIT_END + 0x021A, // Size: 24, Type: LONG, Flags: PRIVATE + PLAYER_FIELD_KEYRING_SLOT_1 = UNIT_END + 0x0232, // Size: 64, Type: LONG, Flags: PRIVATE + PLAYER_FARSIGHT = UNIT_END + 0x0272, // Size: 2, Type: LONG, Flags: PRIVATE + PLAYER__FIELD_KNOWN_TITLES = UNIT_END + 0x0274, // Size: 2, Type: LONG, Flags: PRIVATE + PLAYER_XP = UNIT_END + 0x0276, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_NEXT_LEVEL_XP = UNIT_END + 0x0277, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_SKILL_INFO_1_1 = UNIT_END + 0x0278, // Size: 384, Type: TWO_SHORT, Flags: PRIVATE + PLAYER_CHARACTER_POINTS1 = UNIT_END + 0x03F8, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_CHARACTER_POINTS2 = UNIT_END + 0x03F9, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_TRACK_CREATURES = UNIT_END + 0x03FA, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_TRACK_RESOURCES = UNIT_END + 0x03FB, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_BLOCK_PERCENTAGE = UNIT_END + 0x03FC, // Size: 1, Type: FLOAT, Flags: PRIVATE + PLAYER_DODGE_PERCENTAGE = UNIT_END + 0x03FD, // Size: 1, Type: FLOAT, Flags: PRIVATE + PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x03FE, // Size: 1, Type: FLOAT, Flags: PRIVATE + PLAYER_EXPERTISE = UNIT_END + 0x03FF, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x0400, // Size: 1, Type: FLOAT, Flags: PRIVATE + PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x0401, // Size: 1, Type: FLOAT, Flags: PRIVATE + PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x0402, // Size: 1, Type: FLOAT, Flags: PRIVATE + PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x0403, // Size: 7, Type: FLOAT, Flags: PRIVATE // custom PLAYER_HOLY_SPELL_CRIT_PERCENTAGE = PLAYER_SPELL_CRIT_PERCENTAGE1+1, @@ -330,120 +324,146 @@ enum EUnitFields PLAYER_SHADOW_SPELL_CRIT_PERCENTAGE = PLAYER_SPELL_CRIT_PERCENTAGE1+5, PLAYER_ARCANE_SPELL_CRIT_PERCENTAGE = PLAYER_SPELL_CRIT_PERCENTAGE1+6, - PLAYER_EXPLORED_ZONES_1 = 0x04EB, // 64 5 2 - PLAYER_REST_STATE_EXPERIENCE = 0x052B, // 1 1 2 - PLAYER_FIELD_COINAGE = 0x052C, // 1 1 2 - PLAYER_FIELD_MOD_DAMAGE_DONE_POS = 0x052D, // 7 1 2 - PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = 0x0534, // 7 1 2 - PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = 0x053B, // 7 1 2 - PLAYER_FIELD_MOD_HEALING_DONE_POS = 0x0542, // 1 1 2 - PLAYER_FIELD_MOD_TARGET_RESISTANCE = 0x0543, // 1 1 2 - PLAYER_FIELD_BYTES = 0x0544, // 1 5 2 - PLAYER_AMMO_ID = 0x0545, // 1 1 2 - PLAYER_SELF_RES_SPELL = 0x0546, // 1 1 2 - PLAYER_FIELD_PVP_MEDALS = 0x0547, // 1 1 2 - PLAYER_FIELD_BUYBACK_PRICE_1 = 0x0548, // 12 1 2 - PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = 0x0554, // 12 1 2 - PLAYER_FIELD_KILLS = 0x0560, // 1 2 2 - PLAYER_FIELD_TODAY_CONTRIBUTION = 0x0561, // 1 1 2 - PLAYER_FIELD_YESTERDAY_CONTRIBUTION = 0x0562, // 1 1 2 - PLAYER_FIELD_LIFETIME_HONORBALE_KILLS = 0x0563, // 1 1 2 - PLAYER_FIELD_BYTES2 = 0x0564, // 1 5 2 - PLAYER_FIELD_WATCHED_FACTION_INDEX = 0x0565, // 1 1 2 - PLAYER_FIELD_COMBAT_RATING_1 = 0x0566, // 23 1 2 + PLAYER_SHIELD_BLOCK = UNIT_END + 0x040A, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x040B, // Size: 64, Type: BYTES, Flags: PRIVATE + PLAYER_REST_STATE_EXPERIENCE = UNIT_END + 0x044B, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_COINAGE = UNIT_END + 0x044C, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x044D, // Size: 7, Type: INT, Flags: PRIVATE + PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x0454, // Size: 7, Type: INT, Flags: PRIVATE + PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x045B, // Size: 7, Type: INT, Flags: PRIVATE + PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x0462, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x0463, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_BYTES = UNIT_END + 0x0464, // Size: 1, Type: BYTES, Flags: PRIVATE + PLAYER_AMMO_ID = UNIT_END + 0x0465, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_SELF_RES_SPELL = UNIT_END + 0x0466, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x0467, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x0468, // Size: 12, Type: INT, Flags: PRIVATE + PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x0474, // Size: 12, Type: INT, Flags: PRIVATE + PLAYER_FIELD_KILLS = UNIT_END + 0x0480, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE + PLAYER_FIELD_TODAY_CONTRIBUTION = UNIT_END + 0x0481, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_YESTERDAY_CONTRIBUTION = UNIT_END + 0x0482, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_LIFETIME_HONORBALE_KILLS = UNIT_END + 0x0483, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_BYTES2 = UNIT_END + 0x0484, // Size: 1, Type: BYTES, Flags: PRIVATE + PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x0485, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x0486, // Size: 24, Type: INT, Flags: PRIVATE - // custom + // custom // client names: + // CR_WEAPON_SKILL PLAYER_FIELD_ALL_WEAPONS_SKILL_RATING = PLAYER_FIELD_COMBAT_RATING_1, + // CR_DEFENSE_SKILL PLAYER_FIELD_DEFENCE_RATING = PLAYER_FIELD_COMBAT_RATING_1+1, + // CR_DODGE PLAYER_FIELD_DODGE_RATING = PLAYER_FIELD_COMBAT_RATING_1+2, + // CR_PARRY PLAYER_FIELD_PARRY_RATING = PLAYER_FIELD_COMBAT_RATING_1+3, + // CR_BLOCK PLAYER_FIELD_BLOCK_RATING = PLAYER_FIELD_COMBAT_RATING_1+4, + // CR_HIT_MELEE PLAYER_FIELD_MELEE_HIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+5, + // CR_HIT_RANGED PLAYER_FIELD_RANGED_HIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+6, + // CR_HIT_SPELL PLAYER_FIELD_SPELL_HIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+7, + // CR_CRIT_MELEE PLAYER_FIELD_MELEE_CRIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+8, + // CR_CRIT_RANGED PLAYER_FIELD_RANGED_CRIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+9, + // CR_CRIT_SPELL PLAYER_FIELD_SPELL_CRIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+10, - PLAYER_FIELD_HIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+11, // unsure, was PLAYER_FIELD_UNK1_RATING - PLAYER_FIELD_CRIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+12, // unsure, was PLAYER_FIELD_UNK2_RATING + // CR_HIT_TAKEN_MELEE + PLAYER_FIELD_HIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+11, + // CR_HIT_TAKEN_RANGED + PLAYER_FIELD_CRIT_RATING = PLAYER_FIELD_COMBAT_RATING_1+12, + // CR_HIT_TAKEN_SPELL PLAYER_FIELD_UNK3_RATING = PLAYER_FIELD_COMBAT_RATING_1+13, + // CR_CRIT_TAKEN_MELEE PLAYER_FIELD_UNK4_RATING = PLAYER_FIELD_COMBAT_RATING_1+14, + // CR_CRIT_TAKEN_RANGED PLAYER_FIELD_UNK5_RATING = PLAYER_FIELD_COMBAT_RATING_1+15, + // CR_CRIT_TAKEN_SPELL PLAYER_FIELD_RESILIENCE_RATING = PLAYER_FIELD_COMBAT_RATING_1+16, + // CR_HASTE_MELEE PLAYER_FIELD_MELEE_HASTE_RATING = PLAYER_FIELD_COMBAT_RATING_1+17, - PLAYER_FIELD_RANGED_HASTE_RATING = PLAYER_FIELD_COMBAT_RATING_1+19, - PLAYER_FIELD_SPELL_HASTE_RATING = PLAYER_FIELD_COMBAT_RATING_1+20, - PLAYER_FIELD_MELEE_WEAPON_SKILL_RATING = PLAYER_FIELD_COMBAT_RATING_1+21, - PLAYER_FIELD_OFFHAND_WEAPON_SKILL_RATING = PLAYER_FIELD_COMBAT_RATING_1+22, - PLAYER_FIELD_RANGED_WEAPON_SKILL_RATING = PLAYER_FIELD_COMBAT_RATING_1+23, + // CR_HASTE_RANGED + PLAYER_FIELD_RANGED_HASTE_RATING = PLAYER_FIELD_COMBAT_RATING_1+18, + // CR_HASTE_SPELL + PLAYER_FIELD_SPELL_HASTE_RATING = PLAYER_FIELD_COMBAT_RATING_1+19, + // CR_WEAPON_SKILL_MAINHAND + PLAYER_FIELD_MELEE_WEAPON_SKILL_RATING = PLAYER_FIELD_COMBAT_RATING_1+20, + // CR_WEAPON_SKILL_OFFHAND + PLAYER_FIELD_OFFHAND_WEAPON_SKILL_RATING = PLAYER_FIELD_COMBAT_RATING_1+21, + // CR_WEAPON_SKILL_RANGED + PLAYER_FIELD_RANGED_WEAPON_SKILL_RATING = PLAYER_FIELD_COMBAT_RATING_1+22, + // CR_EXPERTISE + PLAYER_FIELD_EXPERTISE_RATING = PLAYER_FIELD_COMBAT_RATING_1+23, - PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = 0x057D, // 15 1 2 + PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x049E, // Size: 18, Type: INT, Flags: PRIVATE // custom PLAYER_FIELD_ARENA_TEAM_ID_2v2 = PLAYER_FIELD_ARENA_TEAM_INFO_1_1, - PLAYER_FIELD_ARENA_TEAM_ID_3v3 = PLAYER_FIELD_ARENA_TEAM_INFO_1_1+5, - PLAYER_FIELD_ARENA_TEAM_ID_5v5 = PLAYER_FIELD_ARENA_TEAM_INFO_1_1+10, + PLAYER_FIELD_ARENA_TEAM_ID_3v3 = PLAYER_FIELD_ARENA_TEAM_INFO_1_1+6, + PLAYER_FIELD_ARENA_TEAM_ID_5v5 = PLAYER_FIELD_ARENA_TEAM_INFO_1_1+12, - PLAYER_FIELD_HONOR_CURRENCY = 0x058C, // 1 1 2 - PLAYER_FIELD_ARENA_CURRENCY = 0x058D, // 1 1 2 - PLAYER_FIELD_MOD_MANA_REGEN = 0x058E, // 1 3 2 - PLAYER_FIELD_MOD_MANA_REGEN_INTERRUPT = 0x058F, // 1 3 2 - PLAYER_FIELD_MAX_LEVEL = 0x0590, // 1 1 2 - PLAYER_FIELD_DAILY_QUESTS_1 = 0x0591, // 10 1 2 - PLAYER_FIELD_PADDING = 0x059B, // 1 1 0 - PLAYER_END = 0x059C, + PLAYER_FIELD_HONOR_CURRENCY = UNIT_END + 0x04B0, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_ARENA_CURRENCY = UNIT_END + 0x04B1, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_MOD_MANA_REGEN = UNIT_END + 0x04B2, // Size: 1, Type: FLOAT, Flags: PRIVATE + PLAYER_FIELD_MOD_MANA_REGEN_INTERRUPT = UNIT_END + 0x04B3, // Size: 1, Type: FLOAT, Flags: PRIVATE + PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x04B4, // Size: 1, Type: INT, Flags: PRIVATE + PLAYER_FIELD_DAILY_QUESTS_1 = UNIT_END + 0x04B5, // Size: 10, Type: INT, Flags: PRIVATE + PLAYER_FIELD_PADDING = UNIT_END + 0x04BF, // Size: 1, Type: INT, Flags: NONE + PLAYER_END = UNIT_END + 0x04C0, }; enum EGameObjectFields { - OBJECT_FIELD_CREATED_BY = 0x0006, // 2 4 1 - GAMEOBJECT_DISPLAYID = 0x0008, // 1 1 1 - GAMEOBJECT_FLAGS = 0x0009, // 1 1 1 - GAMEOBJECT_ROTATION = 0x000A, // 4 3 1 - GAMEOBJECT_STATE = 0x000E, // 1 1 1 - GAMEOBJECT_POS_X = 0x000F, // 1 3 1 - GAMEOBJECT_POS_Y = 0x0010, // 1 3 1 - GAMEOBJECT_POS_Z = 0x0011, // 1 3 1 - GAMEOBJECT_FACING = 0x0012, // 1 3 1 - GAMEOBJECT_DYN_FLAGS = 0x0013, // 1 1 256 - GAMEOBJECT_FACTION = 0x0014, // 1 1 1 - GAMEOBJECT_TYPE_ID = 0x0015, // 1 1 1 - GAMEOBJECT_LEVEL = 0x0016, // 1 1 1 - GAMEOBJECT_ARTKIT = 0x0017, // 1 1 1 - GAMEOBJECT_ANIMPROGRESS = 0x0018, // 1 1 256 - GAMEOBJECT_PADDING = 0x0019, // 1 1 0 - GAMEOBJECT_END = 0x001A, + OBJECT_FIELD_CREATED_BY = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + GAMEOBJECT_DISPLAYID = OBJECT_END + 0x0002, // Size: 1, Type: INT, Flags: PUBLIC + GAMEOBJECT_FLAGS = OBJECT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC + GAMEOBJECT_ROTATION = OBJECT_END + 0x0004, // Size: 4, Type: FLOAT, Flags: PUBLIC + GAMEOBJECT_STATE = OBJECT_END + 0x0008, // Size: 1, Type: INT, Flags: PUBLIC + GAMEOBJECT_POS_X = OBJECT_END + 0x0009, // Size: 1, Type: FLOAT, Flags: PUBLIC + GAMEOBJECT_POS_Y = OBJECT_END + 0x000A, // Size: 1, Type: FLOAT, Flags: PUBLIC + GAMEOBJECT_POS_Z = OBJECT_END + 0x000B, // Size: 1, Type: FLOAT, Flags: PUBLIC + GAMEOBJECT_FACING = OBJECT_END + 0x000C, // Size: 1, Type: FLOAT, Flags: PUBLIC + GAMEOBJECT_DYN_FLAGS = OBJECT_END + 0x000D, // Size: 1, Type: INT, Flags: DYNAMIC + GAMEOBJECT_FACTION = OBJECT_END + 0x000E, // Size: 1, Type: INT, Flags: PUBLIC + GAMEOBJECT_TYPE_ID = OBJECT_END + 0x000F, // Size: 1, Type: INT, Flags: PUBLIC + GAMEOBJECT_LEVEL = OBJECT_END + 0x0010, // Size: 1, Type: INT, Flags: PUBLIC + GAMEOBJECT_ARTKIT = OBJECT_END + 0x0011, // Size: 1, Type: INT, Flags: PUBLIC + GAMEOBJECT_ANIMPROGRESS = OBJECT_END + 0x0012, // Size: 1, Type: INT, Flags: DYNAMIC + GAMEOBJECT_PADDING = OBJECT_END + 0x0013, // Size: 1, Type: INT, Flags: NONE + GAMEOBJECT_END = OBJECT_END + 0x0014, }; enum EDynamicObjectFields { - DYNAMICOBJECT_CASTER = 0x0006, // 2 4 1 - DYNAMICOBJECT_BYTES = 0x0008, // 1 5 1 - DYNAMICOBJECT_SPELLID = 0x0009, // 1 1 1 - DYNAMICOBJECT_RADIUS = 0x000A, // 1 3 1 - DYNAMICOBJECT_POS_X = 0x000B, // 1 3 1 - DYNAMICOBJECT_POS_Y = 0x000C, // 1 3 1 - DYNAMICOBJECT_POS_Z = 0x000D, // 1 3 1 - DYNAMICOBJECT_FACING = 0x000E, // 1 3 1 - DYNAMICOBJECT_PAD = 0x000F, // 1 5 1 - DYNAMICOBJECT_END = 0x0010, + DYNAMICOBJECT_CASTER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + DYNAMICOBJECT_BYTES = OBJECT_END + 0x0002, // Size: 1, Type: BYTES, Flags: PUBLIC + DYNAMICOBJECT_SPELLID = OBJECT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC + DYNAMICOBJECT_RADIUS = OBJECT_END + 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC + DYNAMICOBJECT_POS_X = OBJECT_END + 0x0005, // Size: 1, Type: FLOAT, Flags: PUBLIC + DYNAMICOBJECT_POS_Y = OBJECT_END + 0x0006, // Size: 1, Type: FLOAT, Flags: PUBLIC + DYNAMICOBJECT_POS_Z = OBJECT_END + 0x0007, // Size: 1, Type: FLOAT, Flags: PUBLIC + DYNAMICOBJECT_FACING = OBJECT_END + 0x0008, // Size: 1, Type: FLOAT, Flags: PUBLIC + DYNAMICOBJECT_PAD = OBJECT_END + 0x0009, // Size: 1, Type: BYTES, Flags: PUBLIC + DYNAMICOBJECT_END = OBJECT_END + 0x000A, }; enum ECorpseFields { - CORPSE_FIELD_OWNER = 0x0006, // 2 4 1 - CORPSE_FIELD_FACING = 0x0008, // 1 3 1 - CORPSE_FIELD_POS_X = 0x0009, // 1 3 1 - CORPSE_FIELD_POS_Y = 0x000A, // 1 3 1 - CORPSE_FIELD_POS_Z = 0x000B, // 1 3 1 - CORPSE_FIELD_DISPLAY_ID = 0x000C, // 1 1 1 - CORPSE_FIELD_ITEM = 0x000D, // 19 1 1 - CORPSE_FIELD_BYTES_1 = 0x0020, // 1 5 1 - CORPSE_FIELD_BYTES_2 = 0x0021, // 1 5 1 - CORPSE_FIELD_GUILD = 0x0022, // 1 1 1 - CORPSE_FIELD_FLAGS = 0x0023, // 1 1 1 - CORPSE_FIELD_DYNAMIC_FLAGS = 0x0024, // 1 1 256 - CORPSE_FIELD_PAD = 0x0025, // 1 1 0 - CORPSE_END = 0x0026, + CORPSE_FIELD_OWNER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + CORPSE_FIELD_FACING = OBJECT_END + 0x0002, // Size: 1, Type: FLOAT, Flags: PUBLIC + CORPSE_FIELD_POS_X = OBJECT_END + 0x0003, // Size: 1, Type: FLOAT, Flags: PUBLIC + CORPSE_FIELD_POS_Y = OBJECT_END + 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC + CORPSE_FIELD_POS_Z = OBJECT_END + 0x0005, // Size: 1, Type: FLOAT, Flags: PUBLIC + CORPSE_FIELD_DISPLAY_ID = OBJECT_END + 0x0006, // Size: 1, Type: INT, Flags: PUBLIC + CORPSE_FIELD_ITEM = OBJECT_END + 0x0007, // Size: 19, Type: INT, Flags: PUBLIC + CORPSE_FIELD_BYTES_1 = OBJECT_END + 0x001A, // Size: 1, Type: BYTES, Flags: PUBLIC + CORPSE_FIELD_BYTES_2 = OBJECT_END + 0x001B, // Size: 1, Type: BYTES, Flags: PUBLIC + CORPSE_FIELD_GUILD = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: PUBLIC + CORPSE_FIELD_FLAGS = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: PUBLIC + CORPSE_FIELD_DYNAMIC_FLAGS = OBJECT_END + 0x001E, // Size: 1, Type: INT, Flags: DYNAMIC + CORPSE_FIELD_PAD = OBJECT_END + 0x001F, // Size: 1, Type: INT, Flags: NONE + CORPSE_END = OBJECT_END + 0x0020, }; #endif diff --git a/src/Client/World/WorldSession.cpp b/src/Client/World/WorldSession.cpp index 83c29b9..c85abc6 100644 --- a/src/Client/World/WorldSession.cpp +++ b/src/Client/World/WorldSession.cpp @@ -56,6 +56,12 @@ WorldSession::~WorldSession() DEBUG(logdebug("~WorldSession() this=0x%X _instance=0x%X",this,_instance)); } +void WorldSession::SetMustDie(void) +{ + _mustdie = true; + logdebug("WorldSession: Must die now."); +} + void WorldSession::Start(void) { log("Connecting to '%s' on port %u",GetInstance()->GetConf()->worldhost.c_str(),GetInstance()->GetConf()->worldport); @@ -70,9 +76,11 @@ void WorldSession::Start(void) // if we cant connect, wait until the socket gives up (after 5 secs) while( (!MustDie()) && (!_socket->IsOk()) && (!GetInstance()->Stopped()) ) { + logdev("WorldSession::Start(): Socket not ok, waiting..."); _sh.Select(3,0); GetInstance()->Sleep(100); } + logdev("WorldSession::Start() done, mustdie:%u, socket_ok:%u stopped:%u",MustDie(),_socket->IsOk(),GetInstance()->Stopped()); } void WorldSession::_LoadCache(void) @@ -169,7 +177,7 @@ void WorldSession::HandleWorldPacket(WorldPacket *packet) (this->*table[hpos].handler)(*packet); // if there is a script attached to that opcode, call it now. - // note: the pkt rpos needs to be reset in by the scripts! + // note: the pkt rpos needs to be reset by the scripts! std::string scname = "opcode::"; scname += stringToLower(GetOpcodeName(packet->GetOpcode())); if(sc->ScriptExists(scname)) @@ -186,6 +194,8 @@ void WorldSession::HandleWorldPacket(WorldPacket *packet) { logerror("Exception while handling opcode %u!",packet->GetOpcode()); logerror("Data: pktsize=%u, handler=0x%X queuesize=%u",packet->size(),table[hpos].handler,pktQueue.size()); + logerror("Packet Hexdump:"); + logerror("%s",toHexDump((uint8*)packet->contents(),packet->size(),true).c_str()); } delete packet; @@ -229,6 +239,7 @@ OpcodeHandler *WorldSession::_GetOpcodeHandlerTable() const {SMSG_COMPRESSED_UPDATE_OBJECT, &WorldSession::_HandleCompressedUpdateObjectOpcode}, {SMSG_UPDATE_OBJECT, &WorldSession::_HandleUpdateObjectOpcode}, {SMSG_CAST_RESULT, &WorldSession::_HandleCastResultOpcode}, + {SMSG_CAST_SUCCESS, &WorldSession::_HandleCastSuccessOpcode}, {SMSG_ITEM_QUERY_SINGLE_RESPONSE, &WorldSession::_HandleItemQuerySingleResponseOpcode}, {SMSG_DESTROY_OBJECT, &WorldSession::_HandleDestroyObjectOpcode}, {SMSG_INITIAL_SPELLS, &WorldSession::_HandleInitialSpellsOpcode}, @@ -756,15 +767,15 @@ void WorldSession::_HandleMovementOpcode(WorldPacket& recvPacket) void WorldSession::_HandleTelePortAckOpcode(WorldPacket& recvPacket) { - uint32 unk32,time; - uint64 guid; - - float x, y, z, o; + uint32 unk32,time; + uint64 guid; + uint8 unk8; + float x, y, z, o; guid = recvPacket.GetPackedGuid(); - recvPacket >> unk32 >> unk32 >> time >> x >> y >> z >> o >> unk32; + recvPacket >> unk32 >> unk32 >> unk8 >> time >> x >> y >> z >> o >> unk32; - logdetail("Got teleported, data: x: %f, y: %f, z: %f, o: %f, guid: "I64FMT, x, y, z, o, guid); + logdetail("Got teleported, data: x: %f, y: %f, z: %f, o: %f, guid: "I64FMT, x, y, z, o, guid); // TODO: put this into a capsule class later, that autodetects movement flags etc. WorldPacket response; @@ -816,18 +827,23 @@ void WorldSession::_HandleChannelNotifyOpcode(WorldPacket& recvPacket) void WorldSession::_HandleCastResultOpcode(WorldPacket& recvPacket) { - uint32 spellid; - uint8 flag,result; - recvPacket >> spellid >> flag; - if(flag) - { - recvPacket >> result; - logdetail("Cast of spell %u failed. flag=%u, result=%u",spellid,flag,result); - } - else - { - logdetail("Cast of spell %u successful.",spellid); - } + uint32 spellid,otherr = 0; + uint8 result; + recvPacket >> spellid >> result; + if (recvPacket.rpos()+1 < recvPacket.size()) + recvPacket >> otherr; + logdetail("Cast of spell %u failed. result=%u, additional info=%u",spellid,result,otherr); +} + +void WorldSession::_HandleCastSuccessOpcode(WorldPacket& recvPacket) +{ + uint32 spellId; + uint64 casterGuid; + + casterGuid = recvPacket.GetPackedGuid(); + + recvPacket >> spellId; + logdetail("Cast of spell %u successful.",spellId); } void WorldSession::_HandleInitialSpellsOpcode(WorldPacket& recvPacket) @@ -881,7 +897,8 @@ void WorldSession::_HandleEmoteOpcode(WorldPacket& recvPacket) if(plrname.empty()) { SendQueryPlayerName(guid); - plrname="Unknown Entity"; + _DelayWorldPacket(recvPacket, GetLagMS() * 1.2f); + return; } } @@ -1066,3 +1083,4 @@ void WorldSession::_HandleWhoOpcode(WorldPacket& recvPacket) // TODO: delete world on LogoutComplete once implemented + diff --git a/src/Client/World/WorldSession.h b/src/Client/World/WorldSession.h index 3451a85..4449c10 100644 --- a/src/Client/World/WorldSession.h +++ b/src/Client/World/WorldSession.h @@ -54,7 +54,7 @@ public: void Update(void); void Start(void); inline bool MustDie(void) { return _mustdie; } - inline void SetMustDie(void) { _mustdie = true; } + void SetMustDie(void); void SendWorldPacket(WorldPacket&); inline bool InWorld(void) { return _logged; } inline uint32 GetLagMS(void) { return _lag_ms; } @@ -107,6 +107,7 @@ private: void _HandleTelePortAckOpcode(WorldPacket& recvPacket); void _HandleChannelNotifyOpcode(WorldPacket& recvPacket); void _HandleCastResultOpcode(WorldPacket& recvPacket); + void _HandleCastSuccessOpcode(WorldPacket& recvPacket); void _HandleCompressedUpdateObjectOpcode(WorldPacket& recvPacket); void _HandleUpdateObjectOpcode(WorldPacket& recvPacket); void _HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket); @@ -143,4 +144,4 @@ private: uint32 _lag_ms; }; -#endif \ No newline at end of file +#endif diff --git a/src/Client/World/WorldSocket.cpp b/src/Client/World/WorldSocket.cpp index 84e4bfe..05b2691 100644 --- a/src/Client/World/WorldSocket.cpp +++ b/src/Client/World/WorldSocket.cpp @@ -2,6 +2,7 @@ #include "WorldPacket.h" #include "WorldSession.h" #include "WorldSocket.h" +#include "Opcodes.h" WorldSocket::WorldSocket(SocketHandler &h, WorldSession *s) : TcpSocket(h) { @@ -81,7 +82,7 @@ void WorldSocket::OnRead() _crypt.DecryptRecv((uint8*)&hdr,sizeof(ServerPktHeader)); _remaining = ntohs(hdr.size)-2; _opcode = hdr.cmd; - if(_opcode > 1000) // no opcode has yet a number over 1000 + if(_opcode > MAX_OPCODE_ID) // no opcode has yet a number over 1000 { logcritical("CRYPT ERROR: opcode=%u, remain=%u",_opcode,_remaining); // this should never be the case! GetSession()->GetInstance()->SetError(); // no way to recover the crypt, must exit