Advertisement
Rochet2

enumss

May 11th, 2015
882
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 144.16 KB | None | 0 0
  1. local enums = {}
  2.  
  3. local coreName = GetCoreName()
  4. local expansion = GetCoreExpansion()
  5. -- Define checks here. These are functions that when called return true or false. The key is the function name tag as string in the enum definitions
  6. local checks = {
  7.     mangos = function() return coreName == "MaNGOS" or coreName == "cMaNGOS" end,
  8.     trinity = function() return coreName == "TrinityCore" end,
  9.    
  10.     added_tbc = function() return expansion >= 1 end,
  11.     added_wotlk = function() return expansion >= 2 end,
  12.     added_cata = function() return expansion >= 3 end,
  13.    
  14.     removed_tbc = function() return expansion < 1 end,
  15.     removed_wotlk = function() return expansion < 2 end,
  16.     removed_cata = function() return expansion < 3 end,
  17. }
  18. -- This function will take a value and then return what it represents.
  19. -- Normally value is returned, but if table is passed the returned value will be any value in the table that is not a key to checks table, assuming any check in the table didnt fail
  20. local function eval(valortbl)
  21.     local val = valortbl
  22.     if type(valortbl) == "table" then
  23.         val = nil
  24.         for k, v in ipairs(valortbl) do
  25.             if type(v) == "table" then
  26.                 -- If we are on a table, evaluate it to some number or nil. Assign it if not nil, inner tables always overwrite lower values.
  27.                 val = eval(v) or val
  28.             elseif checks[v] and not checks[v]() then
  29.                 -- If we are on a tag and it doesn't pass, throw out this item
  30.                 val = nil
  31.                 break
  32.             else
  33.                 -- We are on a value, assign it, but dont overwrite
  34.                 val = val or v
  35.             end
  36.         end
  37.     end
  38.     return val
  39. end
  40. -- local function enum(_enum)
  41. --     for k, v in pairs(_enum) do
  42. --         _enum[k] = eval(v)
  43. --     end
  44. --     return _enum
  45. -- end
  46. local enumnames = {}
  47. local emt = {
  48.     __index = function(t, k)
  49.         error("Attempted to access non-existent enum item "..enumnames[t].."."..k, 2)
  50.     end
  51. }
  52. local function makemeta(enums)
  53.     for ename, t in pairs(enums) do
  54.         -- Add a metatable so that accessing a bad value causes an error.
  55.         enums[ename] = setmetatable(t, emt)
  56.         enumnames[t] = ename
  57.     end
  58.     return enums
  59. end
  60. local smt = {
  61.     __newindex = function(self, k, v)
  62.         rawset(self, k, eval(v))
  63.     end
  64. }
  65. local function enum()
  66.     -- Create a table with a metatable that evaluates assigned values automatically
  67.     return setmetatable({}, smt)
  68. end
  69.  
  70. -- Missing: [BattlegroundBracketId], [InventoryResult], cata [Opcodes], [UnitFlags], [EItemFields], [EUnitFields], [EGameObjectFields]
  71.  
  72. enums.CorpseType = enum()
  73. enums.CorpseType.BONES               = 0
  74. enums.CorpseType.RESURRECTABLE_PVE   = 1
  75. enums.CorpseType.RESURRECTABLE_PVP   = 2
  76.  
  77. enums.GOState = enum()
  78. enums.GOState.ACTIVE               = 0 -- show in world as used and not reset (closed door open)
  79. enums.GOState.READY                = 1 -- show in world as ready (closed door close)
  80. enums.GOState.ACTIVE_ALTERNATIVE   = 2 -- show in world as used in alt way and not reset (closed door open by cannon fire)
  81. enums.GOState.TRANSPORT_ACTIVE     = {24, "added_cata"}
  82. enums.GOState.TRANSPORT_STOPPED    = {25, "added_cata"}
  83.  
  84. enums.LootState = enum()
  85. enums.LootState.GO_NOT_READY                = 0
  86. enums.LootState.GO_READY                    = 1 -- can be ready but despawned, and then not possible activate until spawn
  87. enums.LootState.GO_ACTIVATED                = 2
  88. enums.LootState.GO_JUST_DEACTIVATED         = 3
  89.  
  90. enums.QuestFlags = enum()
  91. enums.QuestFlags.NONE                       = 0x00000000
  92. enums.QuestFlags.STAY_ALIVE                 = 0x00000001 -- Not used currently
  93. enums.QuestFlags.PARTY_ACCEPT               = 0x00000002 -- Not used currently. If player in party, all players that can accept this quest will receive confirmation box to accept quest CMSG_QUEST_CONFIRM_ACCEPT/SMSG_QUEST_CONFIRM_ACCEPT
  94. enums.QuestFlags.EXPLORATION                = 0x00000004 -- Not used currently
  95. enums.QuestFlags.SHARABLE                   = 0x00000008 -- Can be shared: Player::CanShareQuest()
  96. enums.QuestFlags.HAS_CONDITION              = 0x00000010 -- Not used currently
  97. enums.QuestFlags.HIDE_REWARD_POI            = 0x00000020 -- Not used currently: Unsure of content
  98. enums.QuestFlags.RAID                       = 0x00000040 -- Not used currently
  99. enums.QuestFlags.TBC                        = {0x00000080, "added_tbc"} -- Not used currently: Available if TBC expansion enabled only
  100. enums.QuestFlags.NO_MONEY_FROM_XP           = 0x00000100 -- Not used currently: Experience is not converted to gold at max level
  101. enums.QuestFlags.HIDDEN_REWARDS             = 0x00000200 -- Items and money rewarded only sent in SMSG_QUESTGIVER_OFFER_REWARD (not in SMSG_QUESTGIVER_QUEST_DETAILS or in client quest log(SMSG_QUEST_QUERY_RESPONSE))
  102. enums.QuestFlags.TRACKING                   = 0x00000400 -- These quests are automatically rewarded on quest complete and they will never appear in quest log client side.
  103. enums.QuestFlags.DEPRECATE_REPUTATION       = {0x00000800, "added_tbc"} -- Not used currently: Blood elf/Draenei starting zone quests
  104. enums.QuestFlags.DAILY                      = {0x00001000, "added_tbc"} -- Daily quest. Can be done once a day. Quests reset at regular intervals for all players.
  105. enums.QuestFlags.FLAGS_PVP                  = {0x00002000, "added_wotlk"} -- Having this quest in log forces PvP flag
  106. enums.QuestFlags.UNAVAILABLE                = {0x00004000, "added_wotlk"} -- Used on quests that are not generically available
  107. enums.QuestFlags.WEEKLY                     = {0x00008000, "added_wotlk"}
  108. enums.QuestFlags.AUTOCOMPLETE               = {0x00010000, "added_wotlk"} -- Quests with this flag player submit automatically by special button in player gui
  109. enums.QuestFlags.DISPLAY_ITEM_IN_TRACKER    = {0x00020000, "added_wotlk"} -- Displays usable item in quest tracker
  110. enums.QuestFlags.OBJ_TEXT                   = {0x00040000, "added_wotlk"} -- use Objective text as Complete text
  111. enums.QuestFlags.AUTO_ACCEPT                = {0x00080000, "added_wotlk"} -- The client recognizes this flag as auto-accept. However, NONE of the current quests (3.3.5a) have this flag. Maybe blizz used to use it, or will use it in the future.
  112. enums.QuestFlags.UNK1                       = {0x00100000, "added_cata"}
  113. enums.QuestFlags.PLAYER_CAST                = {0x00200000, "added_cata"} -- Player cast reward spell on complete
  114. enums.QuestFlags.UNK2                       = {0x00400000, "added_cata"}
  115. enums.QuestFlags.PORTRAIT                   = {0x00800000, "added_cata"} -- Portrait in quest log
  116. -- enums.QuestFlags.UNK4                    = {0x01000000, "added_cata"}
  117. -- ... 4.x added flags up to 0x80000000 - all unknown for now
  118.  
  119. enums.RemoveMethod = enum()
  120. enums.RemoveMethod.GROUP_DEFAULT       = 0
  121. enums.RemoveMethod.GROUP_KICK          = 1
  122. enums.RemoveMethod.GROUP_LEAVE         = 2
  123. enums.RemoveMethod.GROUP_KICK_LFG      = 3
  124.  
  125. enums.SelectAggroTarget = enum()
  126. enums.SelectAggroTarget.RANDOM        = 0 -- Just selects a random target
  127. enums.SelectAggroTarget.TOPAGGRO      = 1 -- Selects targes from top aggro to bottom
  128. enums.SelectAggroTarget.BOTTOMAGGRO   = 2 -- Selects targets from bottom aggro to top
  129. enums.SelectAggroTarget.NEAREST       = 3
  130. enums.SelectAggroTarget.FARTHEST      = 4
  131.  
  132. enums.SpellSchools = enum()
  133. enums.SpellSchools.NORMAL              = 0 -- Physical, Armor
  134. enums.SpellSchools.HOLY                = 1
  135. enums.SpellSchools.FIRE                = 2
  136. enums.SpellSchools.NATURE              = 3
  137. enums.SpellSchools.FROST               = 4
  138. enums.SpellSchools.SHADOW              = 5
  139. enums.SpellSchools.ARCANE              = 6
  140.  
  141. enums.SpellSchoolMask = enum()
  142. enums.SpellSchoolMask.NONE        = 0x00 -- not exist
  143. enums.SpellSchoolMask.NORMAL      = bit_lshift(1, enums.SpellSchools.NORMAL) -- PHYSICAL (Armor)
  144. enums.SpellSchoolMask.HOLY        = bit_lshift(1, enums.SpellSchools.HOLY)
  145. enums.SpellSchoolMask.FIRE        = bit_lshift(1, enums.SpellSchools.FIRE)
  146. enums.SpellSchoolMask.NATURE      = bit_lshift(1, enums.SpellSchools.NATURE)
  147. enums.SpellSchoolMask.FROST       = bit_lshift(1, enums.SpellSchools.FROST)
  148. enums.SpellSchoolMask.SHADOW      = bit_lshift(1, enums.SpellSchools.SHADOW)
  149. enums.SpellSchoolMask.ARCANE      = bit_lshift(1, enums.SpellSchools.ARCANE)
  150.  
  151. -- unions
  152. -- 124, not include normal and holy damage
  153. enums.SpellSchoolMask.SPELL       = (enums.SpellSchoolMask.FIRE + enums.SpellSchoolMask.NATURE + enums.SpellSchoolMask.FROST + enums.SpellSchoolMask.SHADOW + enums.SpellSchoolMask.ARCANE)
  154. -- 126
  155. enums.SpellSchoolMask.MAGIC       = (enums.SpellSchoolMask.HOLY + enums.SpellSchoolMask.SPELL)
  156. -- 127
  157. enums.SpellSchoolMask.ALL         = (enums.SpellSchoolMask.NORMAL + enums.SpellSchoolMask.MAGIC)
  158.  
  159. enums.TeamId = enum()
  160. enums.TeamId.ALLIANCE                  = 0
  161. enums.TeamId.HORDE                     = 1
  162. enums.TeamId.NEUTRAL                   = 2
  163.  
  164. enums.Team = enum()
  165. enums.Team.NONE         = 0 -- both A and H
  166. enums.Team.HORDE        = 67
  167. enums.Team.ALLIANCE     = 469
  168. enums.Team.INVALID      = {1, "mangos"}
  169.  
  170. enums.WeatherType = enum()
  171. enums.WeatherType.FINE         = 0
  172. enums.WeatherType.RAIN         = 1
  173. enums.WeatherType.SNOW         = 2
  174. enums.WeatherType.STORM        = 3
  175. enums.WeatherType.THUNDERS     = {86, "added_tbc"}
  176. enums.WeatherType.BLACKRAIN    = {90, "added_tbc"}
  177.  
  178. enums.UnitState = enum() -- had TC UNIT_STAT_ or mangos UNIT_STATE_ prefix
  179. -- persistent state (applied by aura/etc until expire)
  180. enums.UnitState.MELEE_ATTACKING             = {{0x00000001, "mangos"}, 0x00000002} -- unit is melee attacking someone Unit::Attack
  181. enums.UnitState.ATTACK_PLAYER               = {{0x00000002, "mangos"}, 0x00004000} -- unit attack player or player's controlled unit and have contested pvpv timer setup, until timer expire, combat end and etc, player is melee attacking someone
  182. -- enums.UnitState.MELEE_ATTACK_BY          = {0x00000004, "trinity"} -- player is melee attack by someone
  183. enums.UnitState.CASTING                     = {0x00008000, "trinity"}
  184. enums.UnitState.DIED                        = {{0x00000004, "mangos"}, 0x00000001} -- Unit::SetFeignDeath, player has fake death aura
  185. enums.UnitState.STUNNED                     = 0x00000008 -- Aura::HandleAuraModStun
  186. enums.UnitState.ROOT                        = {{0x00000010, "mangos"}, 0x00000400} -- Aura::HandleAuraModRoot
  187. enums.UnitState.ISOLATED                    = {{0x00000020, "mangos"}, 0x00002000} -- area auras do not affect other players, Aura::HandleAuraModSchoolImmunity
  188.  
  189. -- persistent movement generator state (all time while movement generator applied to unit (independent from top state of movegen)
  190. enums.UnitState.TAXI_FLIGHT                 = {{0x00000080, "mangos"}, 0x00000100} -- player is in flight mode (in fact interrupted at far teleport until next map telport landing) -- IN_FLIGHT
  191. enums.UnitState.DISTRACTED                  = {{0x00000100, "mangos"}, 0x00001000} -- DistractedMovementGenerator active
  192.  
  193. -- persistent movement generator state with non-persistent mirror states for stop support
  194. -- (can be removed temporary by stop command or another movement generator apply)
  195. -- not use _MOVE versions for generic movegen state, it can be removed temporary for unit stop and etc
  196. enums.UnitState.CONFUSED                    = {{0x00000200, "mangos"}, 0x00000800} -- ConfusedMovementGenerator active/onstack
  197. enums.UnitState.CONFUSED_MOVE               = {{0x00000400, "mangos"}, 0x01000000}
  198. enums.UnitState.ROAMING                     = {{0x00000800, "mangos"}, 0x00000010} -- RandomMovementGenerator/PointMovementGenerator/WaypointMovementGenerator active (now always set)
  199. enums.UnitState.ROAMING_MOVE                = {{0x00001000, "mangos"}, 0x00800000}
  200. enums.UnitState.CHASE                       = {{0x00002000, "mangos"}, 0x00000020} -- ChaseMovementGenerator active
  201. enums.UnitState.CHASE_MOVE                  = {{0x00004000, "mangos"}, 0x04000000}
  202. enums.UnitState.FOLLOW                      = {{0x00008000, "mangos"}, 0x00000200} -- FollowMovementGenerator active
  203. enums.UnitState.FOLLOW_MOVE                 = {{0x00010000, "mangos"}, 0x08000000}
  204. enums.UnitState.FLEEING                     = {{0x00020000, "mangos"}, 0x00000080} -- FleeMovementGenerator/TimedFleeingMovementGenerator active/onstack
  205. enums.UnitState.FLEEING_MOVE                = {{0x00040000, "mangos"}, 0x02000000}
  206. -- More room for other MMGens
  207.  
  208. enums.UnitState.CONTROLLED                  = {{0x00000040, "mangos"}, {(enums.UnitState.CONFUSED + enums.UnitState.STUNNED + enums.UnitState.FLEEING), "trinity"}} -- Aura::HandleAuraModPossess
  209.  
  210. -- High-Level states (usually only with Creatures)
  211. enums.UnitState.NO_COMBAT_MOVEMENT          = {0x01000000, "mangos"} -- Combat Movement for MoveChase stopped
  212. enums.UnitState.RUNNING                     = {0x02000000, "mangos"} -- SetRun for waypoints and such
  213. enums.UnitState.WAYPOINT_PAUSED             = {0x04000000, "mangos"} -- Waypoint-Movement paused genericly (ie by script)
  214. enums.UnitState.IGNORE_PATHFINDING          = 0x10000000 -- do not use pathfinding in any MovementGenerator
  215.  
  216. -- enums.UnitState.SEARCHING                = {0x00000040, "trinity"}
  217. enums.UnitState.POSSESSED                   = {0x00010000, "trinity"}
  218. enums.UnitState.CHARGING                    = {0x00020000, "trinity"}
  219. enums.UnitState.JUMPING                     = {0x00040000, "trinity"}
  220. enums.UnitState.MOVE                        = {0x00100000, "trinity"}
  221. enums.UnitState.ROTATING                    = {0x00200000, "trinity"}
  222. enums.UnitState.EVADE                       = {0x00400000, "trinity"}
  223. enums.UnitState.UNATTACKABLE                = {enums.UnitState.TAXI_FLIGHT, "trinity"}
  224.  
  225. -- AI disabled by some reason
  226. enums.UnitState.LOST_CONTROL                = {{enums.UnitState.FLEEING + enums.UnitState.CONTROLLED, "mangos"}, {(enums.UnitState.CONTROLLED + enums.UnitState.JUMPING + enums.UnitState.CHARGING), "trinity"}}
  227.  
  228. enums.UnitState.MOVING                      = enums.UnitState.ROAMING_MOVE + enums.UnitState.CONFUSED_MOVE + enums.UnitState.FLEEING_MOVE + enums.UnitState.CHASE_MOVE + enums.UnitState.FOLLOW_MOVE
  229. enums.UnitState.ALL_STATE_SUPPORTED         = {enums.UnitState.DIED + enums.UnitState.MELEE_ATTACKING + enums.UnitState.STUNNED + enums.UnitState.ROAMING + enums.UnitState.CHASE
  230.                                             + enums.UnitState.FLEEING + enums.UnitState.TAXI_FLIGHT + enums.UnitState.FOLLOW + enums.UnitState.ROOT + enums.UnitState.CONFUSED
  231.                                             + enums.UnitState.DISTRACTED + enums.UnitState.ISOLATED + enums.UnitState.ATTACK_PLAYER + enums.UnitState.CASTING
  232.                                             + enums.UnitState.POSSESSED + enums.UnitState.CHARGING + enums.UnitState.JUMPING + enums.UnitState.MOVE + enums.UnitState.ROTATING
  233.                                             + enums.UnitState.EVADE + enums.UnitState.ROAMING_MOVE + enums.UnitState.CONFUSED_MOVE + enums.UnitState.FLEEING_MOVE
  234.                                             + enums.UnitState.CHASE_MOVE + enums.UnitState.FOLLOW_MOVE + enums.UnitState.IGNORE_PATHFINDING,
  235.                                             "trinity"}
  236. enums.UnitState.SIGHTLESS                   = {(enums.UnitState.LOST_CONTROL + enums.UnitState.EVADE), "trinity"}
  237. enums.UnitState.CANNOT_AUTOATTACK           = {(enums.UnitState.LOST_CONTROL + enums.UnitState.CASTING), "trinity"}
  238. enums.UnitState.CANNOT_TURN                 = {(enums.UnitState.LOST_CONTROL + enums.UnitState.ROTATING), "trinity"}
  239.  
  240. -- masks (only for check)
  241.  
  242. -- can't move currently
  243. enums.UnitState.CAN_NOT_MOVE                = enums.UnitState.ROOT + enums.UnitState.STUNNED + enums.UnitState.DIED + enums.UnitState.DISTRACTED
  244.  
  245. -- stay or scripted movement for effect( = in player case you can't move by client command)
  246. enums.UnitState.NO_FREE_MOVE                = enums.UnitState.ROOT + enums.UnitState.STUNNED + enums.UnitState.DIED + enums.UnitState.TAXI_FLIGHT + enums.UnitState.CONFUSED + enums.UnitState.FLEEING
  247.  
  248. -- not react at move in sight or other
  249. enums.UnitState.CAN_NOT_REACT               = enums.UnitState.STUNNED + enums.UnitState.DIED + enums.UnitState.CONFUSED + enums.UnitState.FLEEING
  250.  
  251. -- above 2 state cases
  252. enums.UnitState.CAN_NOT_REACT_OR_LOST_CONTROL  = enums.UnitState.CAN_NOT_REACT + enums.UnitState.LOST_CONTROL
  253.  
  254. -- masks (for check or reset)
  255.  
  256. enums.UnitState.RUNNING_STATE               = {enums.UnitState.CHASE_MOVE + enums.UnitState.FLEEING_MOVE + (enums.UnitState.RUNNING or 0), "mangos"}
  257.  
  258. enums.UnitState.ALL_STATE                   = 0xFFFFFFFF --(STOPPED + MOVING + IN_COMBAT + TAXI_FLIGHT)
  259. enums.UnitState.ALL_DYN_STATES              = {bit_and(enums.UnitState.ALL_STATE, bit_not((enums.UnitState.NO_COMBAT_MOVEMENT or 0) + (enums.UnitState.RUNNING or 0) + (enums.UnitState.WAYPOINT_PAUSED or 0) + enums.UnitState.IGNORE_PATHFINDING)), "mangos"}
  260.  
  261. enums.CurrentSpellTypes = enum()
  262. enums.CurrentSpellTypes.MELEE      = 0
  263. enums.CurrentSpellTypes.GENERIC    = 1
  264. enums.CurrentSpellTypes.CHANNELED  = 2
  265. enums.CurrentSpellTypes.AUTOREPEAT = 3
  266.  
  267. enums.TypeMask = enum()
  268. enums.TypeMask.OBJECT         = 0x0001
  269. enums.TypeMask.ITEM           = 0x0002
  270. enums.TypeMask.CONTAINER      = 0x0004
  271. enums.TypeMask.UNIT           = 0x0008 -- players also have it
  272. enums.TypeMask.PLAYER         = 0x0010
  273. enums.TypeMask.GAMEOBJECT     = 0x0020
  274. enums.TypeMask.DYNAMICOBJECT  = 0x0040
  275. enums.TypeMask.CORPSE         = 0x0080
  276.  
  277. enums.TypeMask.SEER           = enums.TypeMask.PLAYER + enums.TypeMask.UNIT + enums.TypeMask.DYNAMICOBJECT
  278.  
  279. -- used combinations in Player::GetObjectByTypeMask (TYPEMASK_UNIT case ignore players in call)
  280. enums.TypeMask.CREATURE_OR_GAMEOBJECT = enums.TypeMask.UNIT + enums.TypeMask.GAMEOBJECT
  281. enums.TypeMask.CREATURE_GAMEOBJECT_OR_ITEM = enums.TypeMask.CREATURE_OR_GAMEOBJECT + enums.TypeMask.ITEM
  282. enums.TypeMask.CREATURE_GAMEOBJECT_PLAYER_OR_ITEM = enums.TypeMask.CREATURE_GAMEOBJECT_OR_ITEM + enums.TypeMask.PLAYER
  283.  
  284. enums.TypeMask.WORLDOBJECT = enums.TypeMask.UNIT + enums.TypeMask.GAMEOBJECT + enums.TypeMask.PLAYER + enums.TypeMask.DYNAMICOBJECT + enums.TypeMask.CORPSE
  285.  
  286. enums.UnitMoveType = enum()
  287. enums.UnitMoveType.WALK           = 0
  288. enums.UnitMoveType.RUN            = 1
  289. enums.UnitMoveType.RUN_BACK       = 2
  290. enums.UnitMoveType.SWIM           = 3
  291. enums.UnitMoveType.SWIM_BACK      = 4
  292. enums.UnitMoveType.TURN_RATE      = 5
  293. enums.UnitMoveType.FLIGHT         = {6, "added_tbc"}
  294. enums.UnitMoveType.FLIGHT_BACK    = {7, "added_tbc"}
  295. enums.UnitMoveType.PITCH_RATE     = {8, "added_wotlk"}
  296.  
  297. enums.Powers = enum()
  298. enums.Powers.MANA                          = 0          -- < The most common one, mobs usually have this or rage
  299. enums.Powers.RAGE                          = 1          -- < This is what warriors use to cast their spells
  300. enums.Powers.FOCUS                         = 2          -- < Used by hunters after Cataclysm (4.x)
  301. enums.Powers.ENERGY                        = 3          -- < Used by rouges to do their spells
  302. enums.Powers.HAPPINESS                     = 4          -- < Hunters pet's happiness affect their damage
  303. enums.Powers.RUNE                          = {5, "added_wotlk"}
  304. enums.Powers.RUNIC_POWER                   = {6, "added_wotlk"}
  305. enums.Powers.SOUL_SHARDS                   = {7, "added_cata"}
  306. enums.Powers.ECLIPSE                       = {8, "added_cata"}
  307. enums.Powers.HOLY_POWER                    = {9, "added_cata"}
  308. enums.Powers.ALTERNATE_POWER               = {10, "added_cata"}
  309. enums.Powers.MAX                           = {{5, "removed_wotlk"}, {7, "added_wotlk", "removed_cata"}, {11, "added_cata"}}
  310. enums.Powers.ALL                           = 127        -- < default for class? - need check for TBC
  311. enums.Powers.HEALTH                        = 0xFFFFFFFE -- < Health, everyone has this (-2 as signed value)
  312.  
  313. enums.TempSummonType = enum()
  314. enums.TempSummonType.TIMED_OR_DEAD_DESPAWN       = 1
  315. enums.TempSummonType.TIMED_OR_CORPSE_DESPAWN     = 2
  316. enums.TempSummonType.TIMED_DESPAWN               = 3
  317. enums.TempSummonType.TIMED_DESPAWN_OUT_OF_COMBAT = 4
  318. enums.TempSummonType.CORPSE_DESPAWN              = 5
  319. enums.TempSummonType.CORPSE_TIMED_DESPAWN        = 6
  320. enums.TempSummonType.DEAD_DESPAWN                = 7
  321. enums.TempSummonType.MANUAL_DESPAWN              = 8
  322. enums.TempSummonType.TIMED_OOC_OR_CORPSE_DESPAWN = {9, "trinity"}
  323. enums.TempSummonType.TIMED_OOC_OR_DEAD_DESPAWN   = {10, "trinity""removed_wotlk"}
  324. enums.Opcodes.SMSG_EQUIPMENT_SET_SAVED                          = {0x137, "added_wotlk"}
  325. enums.Opcodes.SMSG_PET_CAST_FAILED                              = 0x138
  326. enums.Opcodes.MSG_CHANNEL_START                                 = 0x139
  327. enums.Opcodes.MSG_CHANNEL_UPDATE                                = 0x13A
  328. enums.Opcodes.CMSG_CANCEL_CHANNELLING                           = 0x13B
  329. enums.Opcodes.SMSG_AI_REACTION                                  = 0x13C
  330. enums.Opcodes.CMSG_SET_SELECTION                                = 0x13D
  331. enums.Opcodes.CMSG_DELETEEQUIPMENT_SET                          = 0x13E
  332. enums.Opcodes.CMSG_INSTANCE_LOCK_RESPONSE                       = 0x13F
  333. enums.Opcodes.CMSG_DEBUG_PASSIVE_AURA                           = 0x140
  334. enums.Opcodes.CMSG_ATTACKSWING                                  = 0x141
  335. enums.Opcodes.CMSG_ATTACKSTOP                                   = 0x142
  336. enums.Opcodes.SMSG_ATTACKSTART                                  = 0x143
  337. enums.Opcodes.SMSG_ATTACKSTOP                                   = 0x144
  338. enums.Opcodes.SMSG_ATTACKSWING_NOTINRANGE                       = 0x145
  339. enums.Opcodes.SMSG_ATTACKSWING_BADFACING                        = 0x146
  340. enums.Opcodes.SMSG_ATTACKSWING_NOTSTANDING                      = {0x147, "removed_wotlk"}
  341. enums.Opcodes.SMSG_INSTANCE_LOCK_WARNING_QUERY                  = {0x147, "added_wotlk"}
  342. enums.Opcodes.SMSG_ATTACKSWING_DEADTARGET                       = 0x148
  343. enums.Opcodes.SMSG_ATTACKSWING_CANT_ATTACK                      = 0x149
  344. enums.Opcodes.SMSG_ATTACKERSTATEUPDATE                          = 0x14A
  345. enums.Opcodes.SMSG_BATTLEFIELD_PORT_DENIED                      = 0x14B
  346. enums.Opcodes.CMSG_PERFORM_ACTION_SET                           = 0x14C
  347. enums.Opcodes.SMSG_RESUME_CAST_BAR                              = 0x14D
  348. enums.Opcodes.SMSG_CANCEL_COMBAT                                = 0x14E
  349. enums.Opcodes.SMSG_SPELLBREAKLOG                                = 0x14F
  350. enums.Opcodes.SMSG_SPELLHEALLOG                                 = 0x150
  351. enums.Opcodes.SMSG_SPELLENERGIZELOG                             = 0x151
  352. enums.Opcodes.SMSG_BREAK_TARGET                                 = 0x152
  353. enums.Opcodes.CMSG_SAVE_PLAYER                                  = 0x153
  354. enums.Opcodes.CMSG_SETDEATHBINDPOINT                            = 0x154
  355. enums.Opcodes.SMSG_BINDPOINTUPDATE                              = 0x155
  356. enums.Opcodes.CMSG_GETDEATHBINDZONE                             = 0x156
  357. enums.Opcodes.SMSG_BINDZONEREPLY                                = 0x157
  358. enums.Opcodes.SMSG_PLAYERBOUND                                  = 0x158
  359. enums.Opcodes.SMSG_CLIENT_CONTROL_UPDATE                        = 0x159
  360. enums.Opcodes.CMSG_REPOP_REQUEST                                = 0x15A
  361. enums.Opcodes.SMSG_RESURRECT_REQUEST                            = 0x15B
  362. enums.Opcodes.CMSG_RESURRECT_RESPONSE                           = 0x15C
  363. enums.Opcodes.CMSG_LOOT                                         = 0x15D
  364. enums.Opcodes.CMSG_LOOT_MONEY                                   = 0x15E
  365. enums.Opcodes.CMSG_LOOT_RELEASE                                 = 0x15F
  366. enums.Opcodes.SMSG_LOOT_RESPONSE                                = 0x160
  367. enums.Opcodes.SMSG_LOOT_RELEASE_RESPONSE                        = 0x161
  368. enums.Opcodes.SMSG_LOOT_REMOVED                                 = 0x162
  369. enums.Opcodes.SMSG_LOOT_MONEY_NOTIFY                            = 0x163
  370. enums.Opcodes.SMSG_LOOT_ITEM_NOTIFY                             = 0x164
  371. enums.Opcodes.SMSG_LOOT_CLEAR_MONEY                             = 0x165
  372. enums.Opcodes.SMSG_ITEM_PUSH_RESULT                             = 0x166
  373. enums.Opcodes.SMSG_DUEL_REQUESTED                               = 0x167
  374. enums.Opcodes.SMSG_DUEL_OUTOFBOUNDS                             = 0x168
  375. enums.Opcodes.SMSG_DUEL_INBOUNDS                                = 0x169
  376. enums.Opcodes.SMSG_DUEL_COMPLETE                                = 0x16A
  377. enums.Opcodes.SMSG_DUEL_WINNER                                  = 0x16B
  378. enums.Opcodes.CMSG_DUEL_ACCEPTED                                = 0x16C
  379. enums.Opcodes.CMSG_DUEL_CANCELLED                               = 0x16D
  380. enums.Opcodes.SMSG_MOUNTRESULT                                  = 0x16E
  381. enums.Opcodes.SMSG_DISMOUNTRESULT                               = 0x16F
  382. enums.Opcodes.SMSG_REMOVED_FROM_PVP_QUEUE                       = 0x170
  383. enums.Opcodes.CMSG_MOUNTSPECIAL_ANIM                            = 0x171
  384. enums.Opcodes.SMSG_MOUNTSPECIAL_ANIM                            = 0x172
  385. enums.Opcodes.SMSG_PET_TAME_FAILURE                             = 0x173
  386. enums.Opcodes.CMSG_PET_SET_ACTION                               = 0x174
  387. enums.Opcodes.CMSG_PET_ACTION                                   = 0x175
  388. enums.Opcodes.CMSG_PET_ABANDON                                  = 0x176
  389. enums.Opcodes.CMSG_PET_RENAME                                   = 0x177
  390. enums.Opcodes.SMSG_PET_NAME_INVALID                             = 0x178
  391. enums.Opcodes.SMSG_PET_SPELLS                                   = 0x179
  392. enums.Opcodes.SMSG_PET_MODE                                     = 0x17A
  393. enums.Opcodes.CMSG_GOSSIP_HELLO                                 = 0x17B
  394. enums.Opcodes.CMSG_GOSSIP_SELECT_OPTION                         = 0x17C
  395. enums.Opcodes.SMSG_GOSSIP_MESSAGE                               = 0x17D
  396. enums.Opcodes.SMSG_GOSSIP_COMPLETE                              = 0x17E
  397. enums.Opcodes.CMSG_NPC_TEXT_QUERY                               = 0x17F
  398. enums.Opcodes.SMSG_NPC_TEXT_UPDATE                              = 0x180
  399. enums.Opcodes.SMSG_NPC_WONT_TALK                                = 0x181
  400. enums.Opcodes.CMSG_QUESTGIVER_STATUS_QUERY                      = 0x182
  401. enums.Opcodes.SMSG_QUESTGIVER_STATUS                            = 0x183
  402. enums.Opcodes.CMSG_QUESTGIVER_HELLO                             = 0x184
  403. enums.Opcodes.SMSG_QUESTGIVER_QUEST_LIST                        = 0x185
  404. enums.Opcodes.CMSG_QUESTGIVER_QUERY_QUEST                       = 0x186
  405. enums.Opcodes.CMSG_QUESTGIVER_QUEST_AUTOLAUNCH                  = 0x187
  406. enums.Opcodes.SMSG_QUESTGIVER_QUEST_DETAILS                     = 0x188
  407. enums.Opcodes.CMSG_QUESTGIVER_ACCEPT_QUEST                      = 0x189
  408. enums.Opcodes.CMSG_QUESTGIVER_COMPLETE_QUEST                    = 0x18A
  409. enums.Opcodes.SMSG_QUESTGIVER_REQUEST_ITEMS                     = 0x18B
  410. enums.Opcodes.CMSG_QUESTGIVER_REQUEST_REWARD                    = 0x18C
  411. enums.Opcodes.SMSG_QUESTGIVER_OFFER_REWARD                      = 0x18D
  412. enums.Opcodes.CMSG_QUESTGIVER_CHOOSE_REWARD                     = 0x18E
  413. enums.Opcodes.SMSG_QUESTGIVER_QUEST_INVALID                     = 0x18F
  414. enums.Opcodes.CMSG_QUESTGIVER_CANCEL                            = 0x190
  415. enums.Opcodes.SMSG_QUESTGIVER_QUEST_COMPLETE                    = 0x191
  416. enums.Opcodes.SMSG_QUESTGIVER_QUEST_FAILED                      = 0x192
  417. enums.Opcodes.CMSG_QUESTLOG_SWAP_QUEST                          = 0x193
  418. enums.Opcodes.CMSG_QUESTLOG_REMOVE_QUEST                        = 0x194
  419. enums.Opcodes.SMSG_QUESTLOG_FULL                                = 0x195
  420. enums.Opcodes.SMSG_QUESTUPDATE_FAILED                           = 0x196
  421. enums.Opcodes.SMSG_QUESTUPDATE_FAILEDTIMER                      = 0x197
  422. enums.Opcodes.SMSG_QUESTUPDATE_COMPLETE                         = 0x198
  423. enums.Opcodes.SMSG_QUESTUPDATE_ADD_KILL                         = 0x199
  424. enums.Opcodes.SMSG_QUESTUPDATE_ADD_ITEM                         = 0x19A
  425. enums.Opcodes.CMSG_QUEST_CONFIRM_ACCEPT                         = 0x19B
  426. enums.Opcodes.SMSG_QUEST_CONFIRM_ACCEPT                         = 0x19C
  427. enums.Opcodes.CMSG_PUSHQUESTTOPARTY                             = 0x19D
  428. enums.Opcodes.CMSG_LIST_INVENTORY                               = 0x19E
  429. enums.Opcodes.SMSG_LIST_INVENTORY                               = 0x19F
  430. enums.Opcodes.CMSG_SELL_ITEM                                    = 0x1A0
  431. enums.Opcodes.SMSG_SELL_ITEM                                    = 0x1A1
  432. enums.Opcodes.CMSG_BUY_ITEM                                     = 0x1A2
  433. enums.Opcodes.CMSG_BUY_ITEM_IN_SLOT                             = 0x1A3
  434. enums.Opcodes.SMSG_BUY_ITEM                                     = 0x1A4
  435. enums.Opcodes.SMSG_BUY_FAILED                                   = 0x1A5
  436. enums.Opcodes.CMSG_TAXICLEARALLNODES                            = 0x1A6
  437. enums.Opcodes.CMSG_TAXIENABLEALLNODES                           = 0x1A7
  438. enums.Opcodes.CMSG_TAXISHOWNODES                                = 0x1A8
  439. enums.Opcodes.SMSG_SHOWTAXINODES                                = 0x1A9
  440. enums.Opcodes.CMSG_TAXINODE_STATUS_QUERY                        = 0x1AA
  441. enums.Opcodes.SMSG_TAXINODE_STATUS                              = 0x1AB
  442. enums.Opcodes.CMSG_TAXIQUERYAVAILABLENODES                      = 0x1AC
  443. enums.Opcodes.CMSG_ACTIVATETAXI                                 = 0x1AD
  444. enums.Opcodes.SMSG_ACTIVATETAXIREPLY                            = 0x1AE
  445. enums.Opcodes.SMSG_NEW_TAXI_PATH                                = 0x1AF
  446. enums.Opcodes.CMSG_TRAINER_LIST                                 = 0x1B0
  447. enums.Opcodes.SMSG_TRAINER_LIST                                 = 0x1B1
  448. enums.Opcodes.CMSG_TRAINER_BUY_SPELL                            = 0x1B2
  449. enums.Opcodes.SMSG_TRAINER_BUY_SUCCEEDED                        = 0x1B3
  450. enums.Opcodes.SMSG_TRAINER_BUY_FAILED                           = 0x1B4-- uint64 uint32 uint32 (0...2)
  451. enums.Opcodes.CMSG_BINDER_ACTIVATE                              = 0x1B5
  452. enums.Opcodes.SMSG_PLAYERBINDERROR                              = 0x1B6
  453. enums.Opcodes.CMSG_BANKER_ACTIVATE                              = 0x1B7
  454. enums.Opcodes.SMSG_SHOW_BANK                                    = 0x1B8
  455. enums.Opcodes.CMSG_BUY_BANK_SLOT                                = 0x1B9
  456. enums.Opcodes.SMSG_BUY_BANK_SLOT_RESULT                         = 0x1BA
  457. enums.Opcodes.CMSG_PETITION_SHOWLIST                            = 0x1BB
  458. enums.Opcodes.SMSG_PETITION_SHOWLIST                            = 0x1BC
  459. enums.Opcodes.CMSG_PETITION_BUY                                 = 0x1BD
  460. enums.Opcodes.CMSG_PETITION_SHOW_SIGNATURES                     = 0x1BE
  461. enums.Opcodes.SMSG_PETITION_SHOW_SIGNATURES                     = 0x1BF
  462. enums.Opcodes.CMSG_PETITION_SIGN                                = 0x1C0
  463. enums.Opcodes.SMSG_PETITION_SIGN_RESULTS                        = 0x1C1
  464. enums.Opcodes.MSG_PETITION_DECLINE                              = 0x1C2
  465. enums.Opcodes.CMSG_OFFER_PETITION                               = 0x1C3
  466. enums.Opcodes.CMSG_TURN_IN_PETITION                             = 0x1C4
  467. enums.Opcodes.SMSG_TURN_IN_PETITION_RESULTS                     = 0x1C5
  468. enums.Opcodes.CMSG_PETITION_QUERY                               = 0x1C6
  469. enums.Opcodes.SMSG_PETITION_QUERY_RESPONSE                      = 0x1C7
  470. enums.Opcodes.SMSG_FISH_NOT_HOOKED                              = 0x1C8
  471. enums.Opcodes.SMSG_FISH_ESCAPED                                 = 0x1C9
  472. enums.Opcodes.CMSG_BUG                                          = 0x1CA
  473. enums.Opcodes.SMSG_NOTIFICATION                                 = 0x1CB
  474. enums.Opcodes.CMSG_PLAYED_TIME                                  = 0x1CC
  475. enums.Opcodes.SMSG_PLAYED_TIME                                  = 0x1CD
  476. enums.Opcodes.CMSG_QUERY_TIME                                   = 0x1CE
  477. enums.Opcodes.SMSG_QUERY_TIME_RESPONSE                          = 0x1CF
  478. enums.Opcodes.SMSG_LOG_XPGAIN                                   = 0x1D0
  479. enums.Opcodes.SMSG_AURACASTLOG                                  = 0x1D1
  480. enums.Opcodes.CMSG_RECLAIM_CORPSE                               = 0x1D2
  481. enums.Opcodes.CMSG_WRAP_ITEM                                    = 0x1D3
  482. enums.Opcodes.SMSG_LEVELUP_INFO                                 = 0x1D4
  483. enums.Opcodes.MSG_MINIMAP_PING                                  = 0x1D5
  484. enums.Opcodes.SMSG_RESISTLOG                                    = 0x1D6
  485. enums.Opcodes.SMSG_ENCHANTMENTLOG                               = 0x1D7
  486. enums.Opcodes.CMSG_SET_SKILL_CHEAT                              = 0x1D8
  487. enums.Opcodes.SMSG_START_MIRROR_TIMER                           = 0x1D9
  488. enums.Opcodes.SMSG_PAUSE_MIRROR_TIMER                           = 0x1DA
  489. enums.Opcodes.SMSG_STOP_MIRROR_TIMER                            = 0x1DB
  490. enums.Opcodes.CMSG_PING                                         = 0x1DC
  491. enums.Opcodes.SMSG_PONG                                         = 0x1DD
  492. enums.Opcodes.SMSG_CLEAR_COOLDOWN                               = 0x1DE
  493. enums.Opcodes.SMSG_GAMEOBJECT_PAGETEXT                          = 0x1DF
  494. enums.Opcodes.CMSG_SETSHEATHED                                  = 0x1E0
  495. enums.Opcodes.SMSG_COOLDOWN_CHEAT                               = 0x1E1
  496. enums.Opcodes.SMSG_SPELL_DELAYED                                = 0x1E2
  497. enums.Opcodes.CMSG_QUEST_POI_QUERY                              = 0x1E3
  498. enums.Opcodes.SMSG_QUEST_POI_QUERY_RESPONSE                     = 0x1E4
  499. enums.Opcodes.CMSG_GHOST                                        = 0x1E5
  500. enums.Opcodes.CMSG_GM_INVIS                                     = 0x1E6
  501. enums.Opcodes.SMSG_INVALID_PROMOTION_CODE                       = 0x1E7
  502. enums.Opcodes.MSG_GM_BIND_OTHER                                 = 0x1E8
  503. enums.Opcodes.MSG_GM_SUMMON                                     = 0x1E9
  504. enums.Opcodes.SMSG_ITEM_TIME_UPDATE                             = 0x1EA
  505. enums.Opcodes.SMSG_ITEM_ENCHANT_TIME_UPDATE                     = 0x1EB
  506. enums.Opcodes.SMSG_AUTH_CHALLENGE                               = 0x1EC
  507. enums.Opcodes.CMSG_AUTH_SESSION                                 = 0x1ED
  508. enums.Opcodes.SMSG_AUTH_RESPONSE                                = 0x1EE
  509. enums.Opcodes.MSG_GM_SHOWLABEL                                  = 0x1EF
  510. enums.Opcodes.CMSG_PET_CAST_SPELL                               = 0x1F0
  511. enums.Opcodes.MSG_SAVE_GUILD_EMBLEM                             = 0x1F1
  512. enums.Opcodes.MSG_TABARDVENDOR_ACTIVATE                         = 0x1F2
  513. enums.Opcodes.SMSG_PLAY_SPELL_VISUAL                            = 0x1F3
  514. enums.Opcodes.CMSG_ZONEUPDATE                                   = 0x1F4
  515. enums.Opcodes.SMSG_PARTYKILLLOG                                 = 0x1F5
  516. enums.Opcodes.SMSG_COMPRESSED_UPDATE_OBJECT                     = 0x1F6
  517. enums.Opcodes.SMSG_PLAY_SPELL_IMPACT                            = 0x1F7
  518. enums.Opcodes.SMSG_EXPLORATION_EXPERIENCE                       = 0x1F8
  519. enums.Opcodes.CMSG_GM_SET_SECURITY_GROUP                        = 0x1F9
  520. enums.Opcodes.CMSG_GM_NUKE                                      = 0x1FA
  521. enums.Opcodes.MSG_RANDOM_ROLL                                   = 0x1FB
  522. enums.Opcodes.SMSG_ENVIRONMENTALDAMAGELOG                       = 0x1FC
  523. enums.Opcodes.CMSG_CHANGEPLAYER_DIFFICULTY                      = 0x1FD
  524. enums.Opcodes.SMSG_RWHOIS                                       = 0x1FE
  525. enums.Opcodes.MSG_LOOKING_FOR_GROUP                             = {0x1FF, "removed_wotlk"}
  526. enums.Opcodes.CMSG_SET_LOOKING_FOR_GROUP                        = {0x200, "removed_wotlk"}
  527. enums.Opcodes.SMSG_LFG_PLAYER_REWARD                            = {0x1FF, "added_wotk"}
  528. enums.Opcodes.SMSG_LFG_TELEPORT_DENIED                          = {0x200, "added_wotk"}
  529. enums.Opcodes.CMSG_UNLEARN_SPELL                                = 0x201
  530. enums.Opcodes.CMSG_UNLEARN_SKILL                                = 0x202
  531. enums.Opcodes.SMSG_REMOVED_SPELL                                = 0x203
  532. enums.Opcodes.CMSG_DECHARGE                                     = 0x204
  533. enums.Opcodes.CMSG_GMTICKET_CREATE                              = 0x205
  534. enums.Opcodes.SMSG_GMTICKET_CREATE                              = 0x206
  535. enums.Opcodes.CMSG_GMTICKET_UPDATETEXT                          = 0x207
  536. enums.Opcodes.SMSG_GMTICKET_UPDATETEXT                          = 0x208
  537. enums.Opcodes.SMSG_ACCOUNT_DATA_TIMES                           = 0x209
  538. enums.Opcodes.CMSG_REQUEST_ACCOUNT_DATA                         = 0x20A
  539. enums.Opcodes.CMSG_UPDATE_ACCOUNT_DATA                          = 0x20B
  540. enums.Opcodes.SMSG_UPDATE_ACCOUNT_DATA                          = 0x20C
  541. enums.Opcodes.SMSG_CLEAR_FAR_SIGHT_IMMEDIATE                    = 0x20D
  542. enums.Opcodes.SMSG_CHANGEPLAYER_DIFFICULTY_RESULT               = 0x20E
  543. enums.Opcodes.CMSG_GM_TEACH                                     = 0x20F
  544. enums.Opcodes.CMSG_GM_CREATE_ITEM_TARGET                        = 0x210
  545. enums.Opcodes.CMSG_GMTICKET_GETTICKET                           = 0x211
  546. enums.Opcodes.SMSG_GMTICKET_GETTICKET                           = 0x212
  547. enums.Opcodes.CMSG_UNLEARN_TALENTS                              = 0x213
  548. enums.Opcodes.SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT               = 0x214
  549. enums.Opcodes.SMSG_GAMEOBJECT_DESPAWN_ANIM                      = 0x215
  550. enums.Opcodes.MSG_CORPSE_QUERY                                  = 0x216
  551. enums.Opcodes.CMSG_GMTICKET_DELETETICKET                        = 0x217
  552. enums.Opcodes.SMSG_GMTICKET_DELETETICKET                        = 0x218
  553. enums.Opcodes.SMSG_CHAT_WRONG_FACTION                           = 0x219
  554. enums.Opcodes.CMSG_GMTICKET_SYSTEMSTATUS                        = 0x21A
  555. enums.Opcodes.SMSG_GMTICKET_SYSTEMSTATUS                        = 0x21B
  556. enums.Opcodes.CMSG_SPIRIT_HEALER_ACTIVATE                       = 0x21C
  557. enums.Opcodes.CMSG_SET_STAT_CHEAT                               = 0x21D
  558. enums.Opcodes.SMSG_SET_REST_START                               = {0x21E, "removed_wotlk"}
  559. enums.Opcodes.SMSG_QUEST_FORCE_REMOVE                           = {0x21E, "added_wotk""removed_wotlk"} -- lua: SetSavedInstanceExtend
  560. enums.Opcodes.MSG_MEETINGSTONE_LEAVE                            = {0x293, "removed_wotlk"}
  561. enums.Opcodes.CMSG_MEETINGSTONE_CHEAT                           = {0x294, "removed_wotlk"}
  562. enums.Opcodes.SMSG_MEETINGSTONE_SETQUEUE                        = {0x295, "removed_wotlk"}
  563. enums.Opcodes.CMSG_MEETINGSTONE_INFO                            = {0x296, "removed_wotlk"}
  564. enums.Opcodes.SMSG_MEETINGSTONE_COMPLETE                        = {0x297, "removed_wotlk"}
  565. enums.Opcodes.SMSG_MEETINGSTONE_IN_PROGRESS                     = {0x298, "removed_wotlk"}
  566. enums.Opcodes.SMSG_MEETINGSTONE_MEMBER_ADDED                    = {0x299, "removed_wotlk"}
  567. enums.Opcodes.CMSG_SET_SAVED_INSTANCE_EXTEND                    = {0x292, "added_wotlk"}
  568. enums.Opcodes.SMSG_LFG_OFFER_CONTINUE                           = {0x293, "added_wotlk"}
  569. enums.Opcodes.CMSG_TEST_DROP_RATE                               = {0x294, "added_wotlk"}
  570. enums.Opcodes.SMSG_TEST_DROP_RATE_RESULT                        = {0x295, "added_wotlk"}
  571. enums.Opcodes.CMSG_LFG_GET_STATUS                               = {0x296, "added_wotlk"}
  572. enums.Opcodes.SMSG_SHOW_MAILBOX                                 = {0x297, "added_wotlk"}
  573. enums.Opcodes.SMSG_RESET_RANGED_COMBAT_TIMER                    = {0x298, "added_wotlk"}
  574. enums.Opcodes.SMSG_CHAT_NOT_IN_PARTY                            = {0x299, "added_wotlk"} -- uint32, errors: ERR_NOT_IN_GROUP (2, 51) and ERR_NOT_IN_RAID (3, 39, 40)
  575. enums.Opcodes.CMSG_GMTICKETSYSTEM_TOGGLE                        = 0x29A
  576. enums.Opcodes.CMSG_CANCEL_GROWTH_AURA                           = 0x29B
  577. enums.Opcodes.SMSG_CANCEL_AUTO_REPEAT                           = 0x29C
  578. enums.Opcodes.SMSG_STANDSTATE_UPDATE                            = 0x29D
  579. enums.Opcodes.SMSG_LOOT_ALL_PASSED                              = 0x29E
  580. enums.Opcodes.SMSG_LOOT_ROLL_WON                                = 0x29F
  581. enums.Opcodes.CMSG_LOOT_ROLL                                    = 0x2A0
  582. enums.Opcodes.SMSG_LOOT_START_ROLL                              = 0x2A1
  583. enums.Opcodes.SMSG_LOOT_ROLL                                    = 0x2A2
  584. enums.Opcodes.CMSG_LOOT_MASTER_GIVE                             = 0x2A3
  585. enums.Opcodes.SMSG_LOOT_MASTER_LIST                             = 0x2A4
  586. enums.Opcodes.SMSG_SET_FORCED_REACTIONS                         = 0x2A5
  587. enums.Opcodes.SMSG_SPELL_FAILED_OTHER                           = 0x2A6
  588. enums.Opcodes.SMSG_GAMEOBJECT_RESET_STATE                       = 0x2A7
  589. enums.Opcodes.CMSG_REPAIR_ITEM                                  = 0x2A8
  590. enums.Opcodes.SMSG_CHAT_PLAYER_NOT_FOUND                        = 0x2A9
  591. enums.Opcodes.MSG_TALENT_WIPE_CONFIRM                           = 0x2AA
  592. enums.Opcodes.SMSG_SUMMON_REQUEST                               = 0x2AB
  593. enums.Opcodes.CMSG_SUMMON_RESPONSE                              = 0x2AC
  594. enums.Opcodes.MSG_MOVE_TOGGLE_GRAVITY_CHEAT                     = {0x2AD, "removed_wotlk"}
  595. enums.Opcodes.MSG_DEV_SHOWLABEL                                 = {0x2AD, "added_wotlk"}
  596. enums.Opcodes.SMSG_MONSTER_MOVE_TRANSPORT                       = 0x2AE
  597. enums.Opcodes.SMSG_PET_BROKEN                                   = 0x2AF
  598. enums.Opcodes.MSG_MOVE_FEATHER_FALL                             = 0x2B0
  599. enums.Opcodes.MSG_MOVE_WATER_WALK                               = 0x2B1
  600. enums.Opcodes.CMSG_SERVER_BROADCAST                             = 0x2B2
  601. enums.Opcodes.CMSG_SELF_RES                                     = 0x2B3
  602. enums.Opcodes.SMSG_FEIGN_DEATH_RESISTED                         = 0x2B4
  603. enums.Opcodes.CMSG_RUN_SCRIPT                                   = 0x2B5
  604. enums.Opcodes.SMSG_SCRIPT_MESSAGE                               = 0x2B6
  605. enums.Opcodes.SMSG_DUEL_COUNTDOWN                               = 0x2B7
  606. enums.Opcodes.SMSG_AREA_TRIGGER_MESSAGE                         = 0x2B8
  607. enums.Opcodes.CMSG_TOGGLE_HELM                                  = 0x2B9
  608. enums.Opcodes.CMSG_TOGGLE_CLOAK                                 = 0x2BA
  609. enums.Opcodes.SMSG_MEETINGSTONE_JOINFAILED                      = {0x2BB, "removed_wotlk"}
  610. enums.Opcodes.SMSG_LFG_ROLE_CHOSEN                              = {0x2BB, "added_wotlk"}
  611. enums.Opcodes.SMSG_PLAYER_SKINNED                               = 0x2BC
  612. enums.Opcodes.SMSG_DURABILITY_DAMAGE_DEATH                      = 0x2BD
  613. enums.Opcodes.CMSG_SET_EXPLORATION                              = 0x2BE
  614. enums.Opcodes.CMSG_SET_ACTIONBAR_TOGGLES                        = 0x2BF
  615. enums.Opcodes.UMSG_DELETE_GUILD_CHARTER                         = 0x2C0
  616. enums.Opcodes.MSG_PETITION_RENAME                               = 0x2C1
  617. enums.Opcodes.SMSG_INIT_WORLD_STATES                            = 0x2C2
  618. enums.Opcodes.SMSG_UPDATE_WORLD_STATE                           = 0x2C3
  619. enums.Opcodes.CMSG_ITEM_NAME_QUERY                              = 0x2C4
  620. enums.Opcodes.SMSG_ITEM_NAME_QUERY_RESPONSE                     = 0x2C5
  621. enums.Opcodes.SMSG_PET_ACTION_FEEDBACK                          = 0x2C6
  622. enums.Opcodes.CMSG_CHAR_RENAME                                  = 0x2C7
  623. enums.Opcodes.SMSG_CHAR_RENAME                                  = 0x2C8
  624. enums.Opcodes.CMSG_MOVE_SPLINE_DONE                             = 0x2C9
  625. enums.Opcodes.CMSG_MOVE_FALL_RESET                              = 0x2CA
  626. enums.Opcodes.SMSG_INSTANCE_SAVE_CREATED                        = 0x2CB
  627. enums.Opcodes.SMSG_RAID_INSTANCE_INFO                           = 0x2CC
  628. enums.Opcodes.CMSG_REQUEST_RAID_INFO                            = 0x2CD
  629. enums.Opcodes.CMSG_MOVE_TIME_SKIPPED                            = 0x2CE
  630. enums.Opcodes.CMSG_MOVE_FEATHER_FALL_ACK                        = 0x2CF
  631. enums.Opcodes.CMSG_MOVE_WATER_WALK_ACK                          = 0x2D0
  632. enums.Opcodes.CMSG_MOVE_NOT_ACTIVE_MOVER                        = 0x2D1
  633. enums.Opcodes.SMSG_PLAY_SOUND                                   = 0x2D2
  634. enums.Opcodes.CMSG_BATTLEFIELD_STATUS                           = 0x2D3
  635. enums.Opcodes.SMSG_BATTLEFIELD_STATUS                           = 0x2D4
  636. enums.Opcodes.CMSG_BATTLEFIELD_PORT                             = 0x2D5
  637. enums.Opcodes.MSG_INSPECT_HONOR_STATS                           = 0x2D6
  638. enums.Opcodes.CMSG_BATTLEMASTER_HELLO                           = 0x2D7
  639. enums.Opcodes.CMSG_MOVE_START_SWIM_CHEAT                        = 0x2D8
  640. enums.Opcodes.CMSG_MOVE_STOP_SWIM_CHEAT                         = 0x2D9
  641. enums.Opcodes.SMSG_FORCE_WALK_SPEED_CHANGE                      = 0x2DA
  642. enums.Opcodes.CMSG_FORCE_WALK_SPEED_CHANGE_ACK                  = 0x2DB
  643. enums.Opcodes.SMSG_FORCE_SWIM_BACK_SPEED_CHANGE                 = 0x2DC
  644. enums.Opcodes.CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK             = 0x2DD
  645. enums.Opcodes.SMSG_FORCE_TURN_RATE_CHANGE                       = 0x2DE
  646. enums.Opcodes.CMSG_FORCE_TURN_RATE_CHANGE_ACK                   = 0x2DF
  647. enums.Opcodes.MSG_PVP_LOG_DATA                                  = 0x2E0
  648. enums.Opcodes.CMSG_LEAVE_BATTLEFIELD                            = 0x2E1
  649. enums.Opcodes.CMSG_AREA_SPIRIT_HEALER_QUERY                     = 0x2E2
  650. enums.Opcodes.CMSG_AREA_SPIRIT_HEALER_QUEUE                     = 0x2E3
  651. enums.Opcodes.SMSG_AREA_SPIRIT_HEALER_TIME                      = 0x2E4
  652. enums.Opcodes.CMSG_GM_UNTEACH                                   = 0x2E5
  653. enums.Opcodes.SMSG_WARDEN_DATA                                  = 0x2E6
  654. enums.Opcodes.CMSG_WARDEN_DATA                                  = 0x2E7
  655. enums.Opcodes.SMSG_GROUP_JOINED_BATTLEGROUND                    = 0x2E8
  656. enums.Opcodes.MSG_BATTLEGROUND_PLAYER_POSITIONS                 = 0x2E9
  657. enums.Opcodes.CMSG_PET_STOP_ATTACK                              = 0x2EA
  658. enums.Opcodes.SMSG_BINDER_CONFIRM                               = 0x2EB
  659. enums.Opcodes.SMSG_BATTLEGROUND_PLAYER_JOINED                   = 0x2EC
  660. enums.Opcodes.SMSG_BATTLEGROUND_PLAYER_LEFT                     = 0x2ED
  661. enums.Opcodes.CMSG_BATTLEMASTER_JOIN                            = 0x2EE
  662. enums.Opcodes.SMSG_ADDON_INFO                                   = 0x2EF
  663. enums.Opcodes.CMSG_PET_UNLEARN                                  = 0x2F0
  664. enums.Opcodes.SMSG_PET_UNLEARN_CONFIRM                          = 0x2F1
  665. enums.Opcodes.SMSG_PARTY_MEMBER_STATS_FULL                      = 0x2F2
  666. enums.Opcodes.CMSG_PET_SPELL_AUTOCAST                           = 0x2F3
  667. enums.Opcodes.SMSG_WEATHER                                      = 0x2F4
  668. enums.Opcodes.SMSG_PLAY_TIME_WARNING                            = 0x2F5
  669. enums.Opcodes.SMSG_MINIGAME_SETUP                               = 0x2F6
  670. enums.Opcodes.SMSG_MINIGAME_STATE                               = 0x2F7
  671. enums.Opcodes.CMSG_MINIGAME_MOVE                                = 0x2F8
  672. enums.Opcodes.SMSG_MINIGAME_MOVE_FAILED                         = 0x2F9
  673. enums.Opcodes.SMSG_RAID_INSTANCE_MESSAGE                        = 0x2FA
  674. enums.Opcodes.SMSG_COMPRESSED_MOVES                             = 0x2FB
  675. enums.Opcodes.CMSG_GUILD_INFO_TEXT                              = 0x2FC
  676. enums.Opcodes.SMSG_CHAT_RESTRICTED                              = 0x2FD
  677. enums.Opcodes.SMSG_SPLINE_SET_RUN_SPEED                         = 0x2FE
  678. enums.Opcodes.SMSG_SPLINE_SET_RUN_BACK_SPEED                    = 0x2FF
  679. enums.Opcodes.SMSG_SPLINE_SET_SWIM_SPEED                        = 0x300
  680. enums.Opcodes.SMSG_SPLINE_SET_WALK_SPEED                        = 0x301
  681. enums.Opcodes.SMSG_SPLINE_SET_SWIM_BACK_SPEED                   = 0x302
  682. enums.Opcodes.SMSG_SPLINE_SET_TURN_RATE                         = 0x303
  683. enums.Opcodes.SMSG_SPLINE_MOVE_UNROOT                           = 0x304
  684. enums.Opcodes.SMSG_SPLINE_MOVE_FEATHER_FALL                     = 0x305
  685. enums.Opcodes.SMSG_SPLINE_MOVE_NORMAL_FALL                      = 0x306
  686. enums.Opcodes.SMSG_SPLINE_MOVE_SET_HOVER                        = 0x307
  687. enums.Opcodes.SMSG_SPLINE_MOVE_UNSET_HOVER                      = 0x308
  688. enums.Opcodes.SMSG_SPLINE_MOVE_WATER_WALK                       = 0x309
  689. enums.Opcodes.SMSG_SPLINE_MOVE_LAND_WALK                        = 0x30A
  690. enums.Opcodes.SMSG_SPLINE_MOVE_START_SWIM                       = 0x30B
  691. enums.Opcodes.SMSG_SPLINE_MOVE_STOP_SWIM                        = 0x30C
  692. enums.Opcodes.SMSG_SPLINE_MOVE_SET_RUN_MODE                     = 0x30D
  693. enums.Opcodes.SMSG_SPLINE_MOVE_SET_WALK_MODE                    = 0x30E
  694. enums.Opcodes.CMSG_GM_NUKE_ACCOUNT                              = 0x30F
  695. enums.Opcodes.MSG_GM_DESTROY_CORPSE                             = 0x310
  696. enums.Opcodes.CMSG_GM_DESTROY_ONLINE_CORPSE                     = 0x311
  697. enums.Opcodes.CMSG_ACTIVATETAXIEXPRESS                          = 0x312
  698. enums.Opcodes.SMSG_SET_FACTION_ATWAR                            = 0x313
  699. enums.Opcodes.SMSG_GAMETIMEBIAS_SET                             = 0x314
  700. enums.Opcodes.CMSG_DEBUG_ACTIONS_START                          = 0x315
  701. enums.Opcodes.CMSG_DEBUG_ACTIONS_STOP                           = 0x316
  702. enums.Opcodes.CMSG_SET_FACTION_INACTIVE                         = 0x317
  703. enums.Opcodes.CMSG_SET_WATCHED_FACTION                          = 0x318
  704. enums.Opcodes.MSG_MOVE_TIME_SKIPPED                             = 0x319
  705. enums.Opcodes.SMSG_SPLINE_MOVE_ROOT                             = 0x31A
  706. enums.Opcodes.CMSG_SET_EXPLORATION_ALL                          = 0x31B
  707. enums.Opcodes.SMSG_INVALIDATE_PLAYER                            = 0x31C
  708. enums.Opcodes.CMSG_RESET_INSTANCES                              = 0x31D
  709. enums.Opcodes.SMSG_INSTANCE_RESET                               = 0x31E
  710. enums.Opcodes.SMSG_INSTANCE_RESET_FAILED                        = 0x31F
  711. enums.Opcodes.SMSG_UPDATE_LAST_INSTANCE                         = 0x320
  712. enums.Opcodes.MSG_RAID_TARGET_UPDATE                            = 0x321
  713. enums.Opcodes.MSG_RAID_READY_CHECK                              = 0x322
  714. enums.Opcodes.CMSG_LUA_USAGE                                    = 0x323
  715. enums.Opcodes.SMSG_PET_ACTION_SOUND                             = 0x324
  716. enums.Opcodes.SMSG_PET_DISMISS_SOUND                            = 0x325
  717. enums.Opcodes.SMSG_GHOSTEE_GONE                                 = 0x326
  718. enums.Opcodes.CMSG_GM_UPDATE_TICKET_STATUS                      = 0x327
  719. enums.Opcodes.SMSG_GM_TICKET_STATUS_UPDATE                      = 0x328
  720. enums.Opcodes.MSG_SET_DUNGEON_DIFFICULTY                        = {0x329, "added_tbc"}
  721. enums.Opcodes.CMSG_GMSURVEY_SUBMIT                              = 0x32A
  722. enums.Opcodes.SMSG_UPDATE_INSTANCE_OWNERSHIP                    = 0x32B
  723. enums.Opcodes.CMSG_IGNORE_KNOCKBACK_CHEAT                       = 0x32C
  724. enums.Opcodes.SMSG_CHAT_PLAYER_AMBIGUOUS                        = 0x32D
  725. enums.Opcodes.MSG_DELAY_GHOST_TELEPORT                          = 0x32E
  726. enums.Opcodes.SMSG_SPELLINSTAKILLLOG                            = 0x32F
  727. enums.Opcodes.SMSG_SPELL_UPDATE_CHAIN_TARGETS                   = 0x330
  728. enums.Opcodes.CMSG_CHAT_FILTERED                                = 0x331
  729. enums.Opcodes.SMSG_EXPECTED_SPAM_RECORDS                        = 0x332
  730. enums.Opcodes.SMSG_SPELLSTEALLOG                                = 0x333
  731. enums.Opcodes.CMSG_LOTTERY_QUERY_OBSOLETE                       = 0x334
  732. enums.Opcodes.SMSG_LOTTERY_QUERY_RESULT_OBSOLETE                = 0x335
  733. enums.Opcodes.CMSG_BUY_LOTTERY_TICKET_OBSOLETE                  = 0x336
  734. enums.Opcodes.SMSG_LOTTERY_RESULT_OBSOLETE                      = 0x337
  735. enums.Opcodes.SMSG_CHARACTER_PROFILE                            = 0x338
  736. enums.Opcodes.SMSG_CHARACTER_PROFILE_REALM_CONNECTED            = 0x339
  737. enums.Opcodes.SMSG_DEFENSE_MESSAGE                              = 0x33A
  738. enums.Opcodes.SMSG_INSTANCE_DIFFICULTY                          = {0x33B, "added_tbc"}
  739. enums.Opcodes.MSG_GM_RESETINSTANCELIMIT                         = 0x33C
  740. enums.Opcodes.SMSG_MOTD                                         = {0x33D, "added_tbc"}
  741. enums.Opcodes.SMSG_MOVE_SET_FLIGHT                              = 0x33E
  742. enums.Opcodes.SMSG_MOVE_UNSET_FLIGHT                            = 0x33F
  743. enums.Opcodes.CMSG_MOVE_FLIGHT_ACK                              = 0x340
  744. enums.Opcodes.MSG_MOVE_START_SWIM_CHEAT                         = 0x341
  745. enums.Opcodes.MSG_MOVE_STOP_SWIM_CHEAT                          = 0x342
  746. enums.Opcodes.SMSG_MOVE_SET_CAN_FLY                             = {0x343, "added_tbc"}
  747. enums.Opcodes.SMSG_MOVE_UNSET_CAN_FLY                           = {0x344, "added_tbc"}
  748. enums.Opcodes.CMSG_MOVE_SET_CAN_FLY_ACK                         = {0x345, "added_tbc"}
  749. enums.Opcodes.CMSG_MOVE_SET_FLY                                 = {0x346, "added_tbc"}
  750. enums.Opcodes.CMSG_SOCKET_GEMS                                  = {0x347, "added_tbc"}
  751. enums.Opcodes.CMSG_ARENA_TEAM_CREATE                            = {0x348, "added_tbc"}
  752. enums.Opcodes.SMSG_ARENA_TEAM_COMMAND_RESULT                    = {0x349, "added_tbc"}
  753. enums.Opcodes.MSG_MOVE_UPDATE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = {0x34A, "added_tbc"}
  754. enums.Opcodes.CMSG_ARENA_TEAM_QUERY                             = {0x34B, "added_tbc"}
  755. enums.Opcodes.SMSG_ARENA_TEAM_QUERY_RESPONSE                    = {0x34C, "added_tbc"}
  756. enums.Opcodes.CMSG_ARENA_TEAM_ROSTER                            = {0x34D, "added_tbc"}
  757. enums.Opcodes.SMSG_ARENA_TEAM_ROSTER                            = {0x34E, "added_tbc"}
  758. enums.Opcodes.CMSG_ARENA_TEAM_INVITE                            = {0x34F, "added_tbc"}
  759. enums.Opcodes.SMSG_ARENA_TEAM_INVITE                            = {0x350, "added_tbc"}
  760. enums.Opcodes.CMSG_ARENA_TEAM_ACCEPT                            = {0x351, "added_tbc"}
  761. enums.Opcodes.CMSG_ARENA_TEAM_DECLINE                           = {0x352, "added_tbc"}
  762. enums.Opcodes.CMSG_ARENA_TEAM_LEAVE                             = {0x353, "added_tbc"}
  763. enums.Opcodes.CMSG_ARENA_TEAM_REMOVE                            = {0x354, "added_tbc"}
  764. enums.Opcodes.CMSG_ARENA_TEAM_DISBAND                           = {0x355, "added_tbc"}
  765. enums.Opcodes.CMSG_ARENA_TEAM_LEADER                            = {0x356, "added_tbc"}
  766. enums.Opcodes.SMSG_ARENA_TEAM_EVENT                             = {0x357, "added_tbc"}
  767. enums.Opcodes.CMSG_BATTLEMASTER_JOIN_ARENA                      = {0x358, "added_tbc"}
  768. enums.Opcodes.MSG_MOVE_START_ASCEND                             = {0x359, "added_tbc"}
  769. enums.Opcodes.MSG_MOVE_STOP_ASCEND                              = {0x35A, "added_tbc"}
  770. enums.Opcodes.SMSG_ARENA_TEAM_STATS                             = {0x35B, "added_tbc"}
  771. enums.Opcodes.CMSG_LFG_SET_AUTOJOIN                             = {0x35C, "added_tbc", "removed_wotlk"}
  772. enums.Opcodes.CMSG_LFG_CLEAR_AUTOJOIN                           = {0x35D, "added_tbc", "removed_wotlk"}
  773. enums.Opcodes.CMSG_LFM_SET_AUTOFILL                             = {0x35E, "added_tbc", "removed_wotlk"}
  774. enums.Opcodes.CMSG_LFM_CLEAR_AUTOFILL                           = {0x35F, "added_tbc", "removed_wotlk"}
  775. enums.Opcodes.CMSG_ACCEPT_LFG_MATCH                             = {0x360, "added_tbc", "removed_wotlk"}
  776. enums.Opcodes.CMSG_DECLINE_LFG_MATCH                            = {0x361, "added_tbc", "removed_wotlk"}
  777. enums.Opcodes.CMSG_CANCEL_PENDING_LFG                           = {0x362, "added_tbc", "removed_wotlk"}
  778. enums.Opcodes.CMSG_CLEAR_LOOKING_FOR_GROUP                      = {0x363, "added_tbc", "removed_wotlk"}
  779. enums.Opcodes.CMSG_CLEAR_LOOKING_FOR_MORE                       = {0x364, "added_tbc", "removed_wotlk"}
  780. enums.Opcodes.CMSG_SET_LOOKING_FOR_MORE                         = {0x365, "added_tbc", "removed_wotlk"}
  781. enums.Opcodes.CMSG_LFG_JOIN                                     = {0x35C, "added_wotlk"}
  782. enums.Opcodes.CMSG_LFG_LEAVE                                    = {0x35D, "added_wotlk"}
  783. enums.Opcodes.CMSG_SEARCH_LFG_JOIN                              = {0x35E, "added_wotlk"}
  784. enums.Opcodes.CMSG_SEARCH_LFG_LEAVE                             = {0x35F, "added_wotlk"}
  785. enums.Opcodes.SMSG_UPDATE_LFG_LIST                              = {0x360, "added_wotlk"} -- uint32, uint32, if (uint8) { uint32 count, for (count) { uint64} }, uint32 count2, uint32, for (count2) { uint64, uint32 flags, if (flags & 0x2) {string}, if (flags & 0x10) {for (3) uint8}, if (flags & 0x80) {uint64, uint32}}, uint32 count3, uint32, for (count3) {uint64, uint32 flags, if (flags & 0x1) {uint8, uint8, uint8, for (3) uint8, uint32, uint32, uint32, uint32, uint32, uint32, float, float, uint32, uint32, uint32, uint32, uint32, float, uint32, uint32, uint32, uint32, uint32, uint32}, if (flags&0x2) string, if (flags&0x4) uint8, if (flags&0x8) uint64, if (flags&0x10) uint8, if (flags&0x20) uint32, if (flags&0x40) uint8, if (flags& 0x80) {uint64, uint32}}
  786. enums.Opcodes.SMSG_LFG_PROPOSAL_UPDATE                          = {0x361, "added_wotlk"} -- uint32, uint8, uint32, uint32, uint8, for (uint8) {uint32, uint8, uint8, uint8, uint8}
  787. enums.Opcodes.CMSG_LFG_PROPOSAL_RESULT                          = {0x362, "added_wotlk"}
  788. enums.Opcodes.SMSG_LFG_ROLE_CHECK_UPDATE                        = {0x363, "added_wotlk"} -- uint32, uint8, for (uint8) uint32, uint8, for (uint8) { uint64, uint8, uint32, uint8, }
  789. enums.Opcodes.SMSG_LFG_JOIN_RESULT                              = {0x364, "added_wotlk"} -- uint32 unk, uint32, if (unk == 6) { uint8 count, for (count) uint64 }
  790. enums.Opcodes.SMSG_LFG_QUEUE_STATUS                             = {0x365, "added_wotlk"} -- uint32 dungeon, uint32 lfgtype, uint32, uint32, uint32, uint32, uint8, uint8, uint8, uint8
  791. enums.Opcodes.CMSG_SET_LFG_COMMENT                              = {0x366, "added_tbc"}
  792. enums.Opcodes.SMSG_LFG_TIMEDOUT                                 = {0x367, "added_tbc", "removed_wotlk"}
  793. enums.Opcodes.SMSG_LFG_OTHER_TIMEDOUT                           = {0x368, "added_tbc", "removed_wotlk"}
  794. enums.Opcodes.SMSG_LFG_AUTOJOIN_FAILED                          = {0x369, "added_tbc", "removed_wotlk"}
  795. enums.Opcodes.SMSG_LFG_AUTOJOIN_FAILED_NO_PLAYER                = {0x36A, "added_tbc", "removed_wotlk"}
  796. enums.Opcodes.SMSG_LFG_LEADER_IS_LFM                            = {0x36B, "added_tbc", "removed_wotlk"}
  797. enums.Opcodes.SMSG_LFG_UPDATE                                   = {0x36C, "added_tbc", "removed_wotlk"}
  798. enums.Opcodes.SMSG_LFG_UPDATE_LFM                               = {0x36D, "added_tbc", "removed_wotlk"}
  799. enums.Opcodes.SMSG_LFG_UPDATE_LFG                               = {0x36E, "added_tbc", "removed_wotlk"}
  800. enums.Opcodes.SMSG_LFG_UPDATE_QUEUED                            = {0x36F, "added_tbc", "removed_wotlk"}
  801. enums.Opcodes.SMSG_LFG_PENDING_INVITE                           = {0x370, "added_tbc", "removed_wotlk"}
  802. enums.Opcodes.SMSG_LFG_PENDING_MATCH                            = {0x371, "added_tbc", "removed_wotlk"}
  803. enums.Opcodes.SMSG_LFG_PENDING_MATCH_DONE                       = {0x372, "added_tbc", "removed_wotlk"}
  804. enums.Opcodes.SMSG_LFG_UPDATE_PLAYER                            = {0x367, "added_wotlk"} -- uint8, if (uint8) { uint8, uint8, uint8, uint8, if (uint8) for (uint8) uint32, string}
  805. enums.Opcodes.SMSG_LFG_UPDATE_PARTY                             = {0x368, "added_wotlk"} -- uint8, if (uint8) { uint8, uint8, uint8, for (3) uint8, uint8, if (uint8) for (uint8) uint32, string}
  806. enums.Opcodes.SMSG_LFG_UPDATE_SEARCH                            = {0x369, "added_wotlk"} -- uint8
  807. enums.Opcodes.CMSG_LFG_SET_ROLES                                = {0x36A, "added_wotlk"}
  808. enums.Opcodes.CMSG_LFG_SET_NEEDS                                = {0x36B, "added_wotlk"}
  809. enums.Opcodes.CMSG_LFG_SET_BOOT_VOTE                            = {0x36C, "added_wotlk"}
  810. enums.Opcodes.SMSG_LFG_BOOT_PROPOSAL_UPDATE                     = {0x36D, "added_wotlk"} -- uint8, uint8, uint8, uint64, uint32, uint32, uint32, uint32
  811. enums.Opcodes.CMSG_LFD_PLAYER_LOCK_INFO_REQUEST                 = {0x36E, "added_wotlk"}
  812. enums.Opcodes.SMSG_LFG_PLAYER_INFO                              = {0x36F, "added_wotlk"} -- uint8, for (uint8) { uint32, uint8, uint32, uint32, uint32, uint32, uint8, for (uint8) {uint32, uint32, uint32}}, uint32, for (uint32) {uint32, uint32}
  813. enums.Opcodes.CMSG_LFG_TELEPORT                                 = {0x370, "added_wotlk"}
  814. enums.Opcodes.CMSG_LFD_PARTY_LOCK_INFO_REQUEST                  = {0x371, "added_wotlk"}
  815. enums.Opcodes.SMSG_LFG_PARTY_INFO                               = {0x372, "added_wotlk"} -- uint8, for (uint8) uint64
  816. enums.Opcodes.SMSG_TITLE_EARNED                                 = {0x373, "added_tbc"}
  817. enums.Opcodes.CMSG_SET_TITLE                                    = {0x374, "added_tbc"}
  818. enums.Opcodes.CMSG_CANCEL_MOUNT_AURA                            = 0x375
  819. enums.Opcodes.SMSG_ARENA_ERROR                                  = {0x376, "added_tbc"}
  820. enums.Opcodes.MSG_INSPECT_ARENA_TEAMS                           = {0x377, "added_tbc"}
  821. enums.Opcodes.SMSG_DEATH_RELEASE_LOC                            = {0x378, "added_tbc"}
  822. enums.Opcodes.CMSG_CANCEL_TEMP_ENCHANTMENT                      = 0x379
  823. enums.Opcodes.SMSG_FORCED_DEATH_UPDATE                          = {0x37A, "added_tbc"}
  824. enums.Opcodes.CMSG_CHEAT_SET_HONOR_CURRENCY                     = {0x37B, "added_tbc"}
  825. enums.Opcodes.CMSG_CHEAT_SET_ARENA_CURRENCY                     = {0x37C, "added_tbc"}
  826. enums.Opcodes.MSG_MOVE_SET_FLIGHT_SPEED_CHEAT                   = {0x37D, "added_tbc"}
  827. enums.Opcodes.MSG_MOVE_SET_FLIGHT_SPEED                         = {0x37E, "added_tbc"}
  828. enums.Opcodes.MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT              = {0x37F, "added_tbc"}
  829. enums.Opcodes.MSG_MOVE_SET_FLIGHT_BACK_SPEED                    = {0x380, "added_tbc"}
  830. enums.Opcodes.SMSG_FORCE_FLIGHT_SPEED_CHANGE                    = {0x381, "added_tbc"}
  831. enums.Opcodes.CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK                = {0x382, "added_tbc"}
  832. enums.Opcodes.SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE               = {0x383, "added_tbc"}
  833. enums.Opcodes.CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK           = {0x384, "added_tbc"}
  834. enums.Opcodes.SMSG_SPLINE_SET_FLIGHT_SPEED                      = {0x385, "added_tbc"}
  835. enums.Opcodes.SMSG_SPLINE_SET_FLIGHT_BACK_SPEED                 = {0x386, "added_tbc"}
  836. enums.Opcodes.CMSG_MAELSTROM_INVALIDATE_CACHE                   = 0x387
  837. enums.Opcodes.SMSG_FLIGHT_SPLINE_SYNC                           = {0x388, "added_tbc"}
  838. enums.Opcodes.CMSG_SET_TAXI_BENCHMARK_MODE                      = 0x389
  839. enums.Opcodes.SMSG_JOINED_BATTLEGROUND_QUEUE                    = {0x38A, "added_tbc"}
  840. enums.Opcodes.SMSG_REALM_SPLIT                                  = {0x38B, "added_tbc"}
  841. enums.Opcodes.CMSG_REALM_SPLIT                                  = {0x38C, "added_tbc"}
  842. enums.Opcodes.CMSG_MOVE_CHNG_TRANSPORT                          = 0x38D
  843. enums.Opcodes.MSG_PARTY_ASSIGNMENT                              = 0x38E
  844. enums.Opcodes.SMSG_OFFER_PETITION_ERROR                         = 0x38F
  845. enums.Opcodes.SMSG_TIME_SYNC_REQ                                = {0x390, "added_tbc"}
  846. enums.Opcodes.CMSG_TIME_SYNC_RESP                               = {0x391, "added_tbc"}
  847. enums.Opcodes.CMSG_SEND_LOCAL_EVENT                             = {0x392, "added_tbc"}
  848. enums.Opcodes.CMSG_SEND_GENERAL_TRIGGER                         = {0x393, "added_tbc"}
  849. enums.Opcodes.CMSG_SEND_COMBAT_TRIGGER                          = {0x394, "added_tbc"}
  850. enums.Opcodes.CMSG_MAELSTROM_GM_SENT_MAIL                       = {0x395, "added_tbc"}
  851. enums.Opcodes.SMSG_RESET_FAILED_NOTIFY                          = 0x396
  852. enums.Opcodes.SMSG_REAL_GROUP_UPDATE                            = 0x397
  853. enums.Opcodes.SMSG_LFG_DISABLED                                 = 0x398
  854. enums.Opcodes.CMSG_ACTIVE_PVP_CHEAT                             = {0x399, "added_tbc"}
  855. enums.Opcodes.CMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY                  = {0x39A, "added_tbc"}
  856. enums.Opcodes.SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE         = {0x39B, "added_tbc"}
  857. enums.Opcodes.SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE_WRITE_FILE = {0x39C, "added_tbc"}
  858. enums.Opcodes.SMSG_UPDATE_COMBO_POINTS                          = {0x39D, "added_tbc"}
  859. enums.Opcodes.SMSG_VOICE_SESSION_ROSTER_UPDATE                  = {0x39E, "added_tbc"}
  860. enums.Opcodes.SMSG_VOICE_SESSION_LEAVE                          = {0x39F, "added_tbc"}
  861. enums.Opcodes.SMSG_VOICE_SESSION_ADJUST_PRIORITY                = {0x3A0, "added_tbc"}
  862. enums.Opcodes.CMSG_VOICE_SET_TALKER_MUTED_REQUEST               = {0x3A1, "added_tbc"}
  863. enums.Opcodes.SMSG_VOICE_SET_TALKER_MUTED                       = {0x3A2, "added_tbc"}
  864. enums.Opcodes.SMSG_INIT_EXTRA_AURA_INFO                         = 0x3A3
  865. enums.Opcodes.SMSG_SET_EXTRA_AURA_INFO                          = 0x3A4
  866. enums.Opcodes.SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE              = 0x3A5
  867. enums.Opcodes.SMSG_CLEAR_EXTRA_AURA_INFO                        = {0x3A6, "added_tbc"}
  868. enums.Opcodes.MSG_MOVE_START_DESCEND                            = {0x3A7, "added_tbc"}
  869. enums.Opcodes.CMSG_IGNORE_REQUIREMENTS_CHEAT                    = {0x3A8, "added_tbc"}
  870. enums.Opcodes.SMSG_IGNORE_REQUIREMENTS_CHEAT                    = {0x3A9, "added_tbc"}
  871. enums.Opcodes.SMSG_SPELL_CHANCE_PROC_LOG                        = 0x3AA
  872. enums.Opcodes.CMSG_MOVE_SET_RUN_SPEED                           = 0x3AB
  873. enums.Opcodes.SMSG_DISMOUNT                                     = 0x3AC
  874. enums.Opcodes.MSG_MOVE_UPDATE_CAN_FLY                           = {0x3AD, "added_tbc"}
  875. enums.Opcodes.MSG_RAID_READY_CHECK_CONFIRM                      = 0x3AE
  876. enums.Opcodes.CMSG_VOICE_SESSION_ENABLE                         = {0x3AF, "added_tbc"}
  877. enums.Opcodes.SMSG_VOICE_SESSION_ENABLE                         = {0x3B0, "added_wotlk"}
  878. enums.Opcodes.SMSG_VOICE_PARENTAL_CONTROLS                      = {{0x3B1, "added_wotlk"}, {0x3B0, "added_tbc", "removed_wotlk"}}
  879. enums.Opcodes.CMSG_GM_WHISPER                                   = {{0x3B2, "added_wotlk"}, {0x3B1, "added_tbc", "removed_wotlk"}}
  880. enums.Opcodes.SMSG_GM_MESSAGECHAT                               = {{0x3B3, "added_wotlk"}, {0x3B2, "added_tbc", "removed_wotlk"}}
  881. enums.Opcodes.MSG_GM_GEARRATING                                 = {{0x3B4, "added_wotlk"}, {0x3B3, "added_tbc", "removed_wotlk"}}
  882. enums.Opcodes.CMSG_COMMENTATOR_ENABLE                           = {{0x3B5, "added_wotlk"}, {0x3B4, "added_tbc", "removed_wotlk"}}
  883. enums.Opcodes.SMSG_COMMENTATOR_STATE_CHANGED                    = {{0x3B6, "added_wotlk"}, {0x3B5, "added_tbc", "removed_wotlk"}}
  884. enums.Opcodes.CMSG_COMMENTATOR_GET_MAP_INFO                     = {{0x3B7, "added_wotlk"}, {0x3B6, "added_tbc", "removed_wotlk"}}
  885. enums.Opcodes.SMSG_COMMENTATOR_MAP_INFO                         = {{0x3B8, "added_wotlk"}, {0x3B7, "added_tbc", "removed_wotlk"}}
  886. enums.Opcodes.CMSG_COMMENTATOR_GET_PLAYER_INFO                  = {{0x3B9, "added_wotlk"}, {0x3B8, "added_tbc", "removed_wotlk"}}
  887. enums.Opcodes.SMSG_COMMENTATOR_GET_PLAYER_INFO                  = {{0x3BA, "added_wotlk"}, {0x3B9, "added_tbc", "removed_wotlk"}}
  888. enums.Opcodes.SMSG_COMMENTATOR_PLAYER_INFO                      = {{0x3BB, "added_wotlk"}, {0x3BA, "added_tbc", "removed_wotlk"}}
  889. enums.Opcodes.CMSG_COMMENTATOR_ENTER_INSTANCE                   = {{0x3BC, "added_wotlk"}, {0x3BB, "added_tbc", "removed_wotlk"}}
  890. enums.Opcodes.CMSG_COMMENTATOR_EXIT_INSTANCE                    = {{0x3BD, "added_wotlk"}, {0x3BC, "added_tbc", "removed_wotlk"}}
  891. enums.Opcodes.CMSG_COMMENTATOR_INSTANCE_COMMAND                 = {{0x3BE, "added_wotlk"}, {0x3BD, "added_tbc", "removed_wotlk"}}
  892. enums.Opcodes.SMSG_CLEAR_TARGET                                 = {{0x3BF, "added_wotlk"}, {0x3BE, "removed_wotlk"}}
  893. enums.Opcodes.CMSG_BOT_DETECTED                                 = {{0x3C0, "added_wotlk"}, {0x3BF, "removed_wotlk"}}
  894. enums.Opcodes.SMSG_CROSSED_INEBRIATION_THRESHOLD                = {{0x3C1, "added_wotlk"}, {0x3C0, "added_tbc", "removed_wotlk"}}
  895. enums.Opcodes.CMSG_CHEAT_PLAYER_LOGIN                           = {{0x3C2, "added_wotlk"}, {0x3C1, "added_tbc", "removed_wotlk"}}
  896. enums.Opcodes.CMSG_CHEAT_PLAYER_LOOKUP                          = {{0x3C3, "added_wotlk"}, {0x3C2, "added_tbc", "removed_wotlk"}}
  897. enums.Opcodes.SMSG_CHEAT_PLAYER_LOOKUP                          = {{0x3C4, "added_wotlk"}, {0x3C3, "added_tbc", "removed_wotlk"}}
  898. enums.Opcodes.SMSG_KICK_REASON                                  = {{0x3C5, "added_wotlk"}, {0x3C4, "removed_wotlk"}}
  899. enums.Opcodes.MSG_RAID_READY_CHECK_FINISHED                     = {{0x3C6, "added_wotlk"}, {0x3C5, "removed_wotlk"}}
  900. enums.Opcodes.CMSG_COMPLAIN                                     = {{0x3C7, "added_wotlk"}, {0x3C6, "added_tbc", "removed_wotlk"}}
  901. enums.Opcodes.SMSG_COMPLAIN_RESULT                              = {{0x3C8, "added_wotlk"}, {0x3C7, "added_tbc", "removed_wotlk"}}
  902. enums.Opcodes.SMSG_FEATURE_SYSTEM_STATUS                        = {{0x3C9, "added_wotlk"}, {0x3C8, "added_tbc", "removed_wotlk"}}
  903. enums.Opcodes.CMSG_GM_SHOW_COMPLAINTS                           = {{0x3CA, "added_wotlk"}, {0x3C9, "added_tbc", "removed_wotlk"}}
  904. enums.Opcodes.CMSG_GM_UNSQUELCH                                 = {{0x3CB, "added_wotlk"}, {0x3CA, "added_tbc", "removed_wotlk"}}
  905. enums.Opcodes.CMSG_CHANNEL_SILENCE_VOICE                        = {{0x3CC, "added_wotlk"}, {0x3CB, "added_tbc", "removed_wotlk"}}
  906. enums.Opcodes.CMSG_CHANNEL_SILENCE_ALL                          = {{0x3CD, "added_wotlk"}, {0x3CC, "added_tbc", "removed_wotlk"}}
  907. enums.Opcodes.CMSG_CHANNEL_UNSILENCE_VOICE                      = {{0x3CE, "added_wotlk"}, {0x3CD, "added_tbc", "removed_wotlk"}}
  908. enums.Opcodes.CMSG_CHANNEL_UNSILENCE_ALL                        = {{0x3CF, "added_wotlk"}, {0x3CE, "added_tbc", "removed_wotlk"}}
  909. enums.Opcodes.CMSG_TARGET_CAST                                  = {{0x3D0, "added_wotlk"}, {0x3CF, "removed_wotlk"}}
  910. enums.Opcodes.CMSG_TARGET_SCRIPT_CAST                           = {{0x3D1, "added_wotlk"}, {0x3D0, "removed_wotlk"}}
  911. enums.Opcodes.CMSG_CHANNEL_DISPLAY_LIST                         = {{0x3D2, "added_wotlk"}, {0x3D1, "removed_wotlk"}}
  912. enums.Opcodes.CMSG_SET_ACTIVE_VOICE_CHANNEL                     = {{0x3D3, "added_wotlk"}, {0x3D2, "added_tbc", "removed_wotlk"}}
  913. enums.Opcodes.CMSG_GET_CHANNEL_MEMBER_COUNT                     = {{0x3D4, "added_wotlk"}, {0x3D3, "removed_wotlk"}}
  914. enums.Opcodes.SMSG_CHANNEL_MEMBER_COUNT                         = {{0x3D5, "added_wotlk"}, {0x3D4, "removed_wotlk"}}
  915. enums.Opcodes.CMSG_CHANNEL_VOICE_ON                             = {{0x3D6, "added_wotlk"}, {0x3D5, "added_tbc", "removed_wotlk"}}
  916. enums.Opcodes.CMSG_CHANNEL_VOICE_OFF                            = {{0x3D7, "added_wotlk"}, {0x3D6, "added_tbc", "removed_wotlk"}}
  917. enums.Opcodes.CMSG_DEBUG_LIST_TARGETS                           = {{0x3D8, "added_wotlk"}, {0x3D7, "removed_wotlk"}}
  918. enums.Opcodes.SMSG_DEBUG_LIST_TARGETS                           = {{0x3DC, "added_wotlk"}, {0x3D8, "removed_wotlk"}}
  919. enums.Opcodes.CMSG_PARTY_SILENCE                                = {{0x3D9, "added_wotlk"}, {0x3DC, "removed_wotlk"}}
  920. enums.Opcodes.SMSG_AVAILABLE_VOICE_CHANNEL                      = {{0x3DA, "added_wotlk"}, {0x3D9, "added_tbc", "removed_wotlk"}}
  921. enums.Opcodes.CMSG_ADD_VOICE_IGNORE                             = {{0x3DB, "added_wotlk"}, {0x3DA, "added_tbc", "removed_wotlk"}}
  922. enums.Opcodes.CMSG_DEL_VOICE_IGNORE                             = {{0x3DD, "added_wotlk"}, {0x3DB, "added_tbc", "removed_wotlk"}}
  923. enums.Opcodes.CMSG_PARTY_UNSILENCE                              = {{0x3DE, "added_wotlk"}, {0x3DD, "removed_wotlk"}}
  924. enums.Opcodes.MSG_NOTIFY_PARTY_SQUELCH                          = {{0x3DF, "added_wotlk"}, {0x3DE, "removed_wotlk"}}
  925. enums.Opcodes.SMSG_COMSAT_RECONNECT_TRY                         = {{0x3E0, "added_wotlk"}, {0x3DF, "removed_wotlk"}}
  926. enums.Opcodes.SMSG_COMSAT_DISCONNECT                            = {{0x3E1, "added_wotlk"}, {0x3E0, "removed_wotlk"}}
  927. enums.Opcodes.SMSG_COMSAT_CONNECT_FAIL                          = {{0x3E2, "added_wotlk"}, {0x3E1, "removed_wotlk"}}
  928. enums.Opcodes.SMSG_VOICE_CHAT_STATUS                            = {{0x3E3, "added_wotlk"}, {0x3E2, "added_tbc", "removed_wotlk"}}
  929. enums.Opcodes.CMSG_REPORT_PVP_AFK                               = {{0x3E4, "added_wotlk"}, {0x3E3, "added_tbc", "removed_wotlk"}}
  930. enums.Opcodes.CMSG_REPORT_PVP_AFK_RESULT                        = {{0x3E5, "added_wotlk"}, {0x3E4, "added_tbc", "removed_wotlk"}}
  931. enums.Opcodes.CMSG_GUILD_BANKER_ACTIVATE                        = {{0x3E6, "added_wotlk"}, {0x3E5, "added_tbc", "removed_wotlk"}}
  932. enums.Opcodes.CMSG_GUILD_BANK_QUERY_TAB                         = {{0x3E7, "added_wotlk"}, {0x3E6, "added_tbc", "removed_wotlk"}}
  933. enums.Opcodes.SMSG_GUILD_BANK_LIST                              = {{0x3E8, "added_wotlk"}, {0x3E7, "added_tbc", "removed_wotlk"}}
  934. enums.Opcodes.CMSG_GUILD_BANK_SWAP_ITEMS                        = {{0x3E9, "added_wotlk"}, {0x3E8, "added_tbc", "removed_wotlk"}}
  935. enums.Opcodes.CMSG_GUILD_BANK_BUY_TAB                           = {{0x3EA, "added_wotlk"}, {0x3E9, "added_tbc", "removed_wotlk"}}
  936. enums.Opcodes.CMSG_GUILD_BANK_UPDATE_TAB                        = {{0x3EB, "added_wotlk"}, {0x3EA, "added_tbc", "removed_wotlk"}}
  937. enums.Opcodes.CMSG_GUILD_BANK_DEPOSIT_MONEY                     = {{0x3EC, "added_wotlk"}, {0x3EB, "added_tbc", "removed_wotlk"}}
  938. enums.Opcodes.CMSG_GUILD_BANK_WITHDRAW_MONEY                    = {{0x3ED, "added_wotlk"}, {0x3EC, "added_tbc", "removed_wotlk"}}
  939. enums.Opcodes.MSG_GUILD_BANK_LOG_QUERY                          = {{0x3EE, "added_wotlk"}, {0x3ED, "added_tbc", "removed_wotlk"}}
  940. enums.Opcodes.CMSG_SET_CHANNEL_WATCH                            = {{0x3EF, "added_wotlk"}, {0x3EE, "removed_wotlk"}}
  941. enums.Opcodes.SMSG_USERLIST_ADD                                 = {{0x3F0, "added_wotlk"}, {0x3EF, "removed_wotlk"}}
  942. enums.Opcodes.SMSG_USERLIST_REMOVE                              = {{0x3F1, "added_wotlk"}, {0x3F0, "removed_wotlk"}}
  943. enums.Opcodes.SMSG_USERLIST_UPDATE                              = {{0x3F2, "added_wotlk"}, {0x3F1, "removed_wotlk"}}
  944. enums.Opcodes.CMSG_CLEAR_CHANNEL_WATCH                          = {{0x3F3, "added_wotlk"}, {0x3F2, "removed_wotlk"}}
  945. enums.Opcodes.SMSG_INSPECT_TALENT                               = {{0x3F4, "added_wotlk"}, {0x3F3, "added_tbc", "removed_wotlk"}}
  946. enums.Opcodes.SMSG_GOGOGO_OBSOLETE                              = {{0x3F5, "added_wotlk"}, {0x3F4, "removed_wotlk"}}
  947. enums.Opcodes.SMSG_ECHO_PARTY_SQUELCH                           = {{0x3F6, "added_wotlk"}, {0x3F5, "removed_wotlk"}}
  948. enums.Opcodes.CMSG_SET_TITLE_SUFFIX                             = {{0x3F7, "added_wotlk"}, {0x3F6, "added_tbc", "removed_wotlk"}}
  949. enums.Opcodes.CMSG_SPELLCLICK                                   = {{0x3F8, "added_wotlk"}, {0x3F7, "removed_wotlk"}}
  950. enums.Opcodes.SMSG_LOOT_LIST                                    = {{0x3F9, "added_wotlk"}, {0x3F8, "removed_wotlk"}}
  951. enums.Opcodes.CMSG_GM_CHARACTER_RESTORE                         = {{0x3FA, "added_wotlk"}, {0x3F9, "added_tbc", "removed_wotlk"}}
  952. enums.Opcodes.CMSG_GM_CHARACTER_SAVE                            = {{0x3FB, "added_wotlk"}, {0x3FA, "added_tbc", "removed_wotlk"}}
  953. enums.Opcodes.SMSG_VOICESESSION_FULL                            = {{0x3FC, "added_wotlk"}, {0x3FB, "added_tbc", "removed_wotlk"}}
  954. enums.Opcodes.MSG_GUILD_PERMISSIONS                             = {{0x3FD, "added_wotlk"}, {0x3FC, "removed_wotlk"}}
  955. enums.Opcodes.MSG_GUILD_BANK_MONEY_WITHDRAWN                    = {{0x3FE, "added_wotlk"}, {0x3FD, "added_tbc", "removed_wotlk"}}
  956. enums.Opcodes.MSG_GUILD_EVENT_LOG_QUERY                         = {{0x3FF, "added_wotlk"}, {0x3FE, "removed_wotlk"}}
  957. enums.Opcodes.CMSG_MAELSTROM_RENAME_GUILD                       = {{0x400, "added_wotlk"}, {0x3FF, "removed_wotlk"}}
  958. enums.Opcodes.CMSG_GET_MIRRORIMAGE_DATA                         = {{0x401, "added_wotlk"}, {0x400, "removed_wotlk"}}
  959. enums.Opcodes.SMSG_MIRRORIMAGE_DATA                             = {{0x402, "added_wotlk"}, {0x401, "removed_wotlk"}}
  960. enums.Opcodes.SMSG_FORCE_DISPLAY_UPDATE                         = {{0x403, "added_wotlk"}, {0x402, "removed_wotlk"}}
  961. enums.Opcodes.SMSG_SPELL_CHANCE_RESIST_PUSHBACK                 = {{0x404, "added_wotlk"}, {0x403, "removed_wotlk"}}
  962. enums.Opcodes.CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT             = {{0x405, "added_wotlk"}, {0x404, "removed_wotlk"}}
  963. enums.Opcodes.SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT             = {{0x406, "added_wotlk"}, {0x405, "removed_wotlk"}}
  964. enums.Opcodes.CMSG_KEEP_ALIVE                                   = {{0x407, "added_wotlk"}, {0x406, "removed_wotlk"}}
  965. enums.Opcodes.SMSG_RAID_READY_CHECK_ERROR                       = {{0x408, "added_wotlk"}, {0x407, "removed_wotlk"}}
  966. enums.Opcodes.CMSG_OPT_OUT_OF_LOOT                              = {{0x409, "added_wotlk"}, {0x408, "removed_wotlk"}}
  967. enums.Opcodes.MSG_QUERY_GUILD_BANK_TEXT                         = {{0x40A, "added_wotlk"}, {0x409, "added_tbc", "removed_wotlk"}}
  968. enums.Opcodes.CMSG_SET_GUILD_BANK_TEXT                          = {{0x40B, "added_wotlk"}, {0x40A, "added_tbc", "removed_wotlk"}}
  969. enums.Opcodes.CMSG_SET_GRANTABLE_LEVELS                         = {{0x40C, "added_wotlk"}, {0x40B, "removed_wotlk"}}
  970. enums.Opcodes.CMSG_GRANT_LEVEL                                  = {{0x40D, "added_wotlk"}, {0x40C, "removed_wotlk"}}
  971. enums.Opcodes.CMSG_REFER_A_FRIEND                               = {{0x40E, "added_wotlk"}, {0x40D, "added_tbc", "removed_wotlk"}}
  972. enums.Opcodes.MSG_GM_CHANGE_ARENA_RATING                        = {{0x40F, "added_wotlk"}, {0x40E, "added_tbc", "removed_wotlk"}}
  973. enums.Opcodes.CMSG_DECLINE_CHANNEL_INVITE                       = {{0x410, "added_wotlk"}, {0x40F, "removed_wotlk"}}
  974. enums.Opcodes.CMSG_GROUPACTION_THROTTLED                        = {{0x411, "added_wotlk"}, {0x410, "removed_wotlk"}}
  975. enums.Opcodes.SMSG_OVERRIDE_LIGHT                               = {{0x412, "added_wotlk"}, {0x411, "removed_wotlk"}}
  976. enums.Opcodes.SMSG_TOTEM_CREATED                                = {{0x413, "added_wotlk"}, {0x412, "removed_wotlk"}}
  977. enums.Opcodes.CMSG_TOTEM_DESTROYED                              = {{0x414, "added_wotlk"}, {0x413, "removed_wotlk"}}
  978. enums.Opcodes.CMSG_EXPIRE_RAID_INSTANCE                         = {{0x415, "added_wotlk"}, {0x414, "removed_wotlk"}}
  979. enums.Opcodes.CMSG_NO_SPELL_VARIANCE                            = {{0x416, "added_wotlk"}, {0x415, "removed_wotlk"}}
  980. enums.Opcodes.CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY             = {{0x417, "added_wotlk"}, {0x416, "removed_wotlk"}}
  981. enums.Opcodes.SMSG_QUESTGIVER_STATUS_MULTIPLE                   = {{0x418, "added_wotlk"}, {0x417, "removed_wotlk"}}
  982. enums.Opcodes.CMSG_SET_PLAYER_DECLINED_NAMES                    = {{0x419, "added_wotlk"}, {0x418, "added_tbc", "removed_wotlk"}}
  983. enums.Opcodes.SMSG_SET_PLAYER_DECLINED_NAMES_RESULT             = {{0x41A, "added_wotlk"}, {0x419, "added_tbc", "removed_wotlk"}}
  984. enums.Opcodes.CMSG_QUERY_SERVER_BUCK_DATA                       = {{0x41B, "added_wotlk"}, {0x41A, "removed_wotlk"}}
  985. enums.Opcodes.CMSG_CLEAR_SERVER_BUCK_DATA                       = {{0x41C, "added_wotlk"}, {0x41B, "removed_wotlk"}}
  986. enums.Opcodes.SMSG_SERVER_BUCK_DATA                             = {{0x41D, "added_wotlk"}, {0x41C, "removed_wotlk"}}
  987. enums.Opcodes.SMSG_SEND_UNLEARN_SPELLS                          = {{0x41E, "added_wotlk"}, {0x41D, "removed_wotlk"}}
  988. enums.Opcodes.SMSG_PROPOSE_LEVEL_GRANT                          = {{0x41F, "added_wotlk"}, {0x41E, "removed_wotlk"}}
  989. enums.Opcodes.CMSG_ACCEPT_LEVEL_GRANT                           = {{0x420, "added_wotlk"}, {0x41F, "removed_wotlk"}}
  990. enums.Opcodes.SMSG_REFER_A_FRIEND_FAILURE                       = {{0x421, "added_wotlk"}, {0x420, "removed_wotlk"}}
  991. enums.Opcodes.SMSG_SPLINE_MOVE_SET_FLYING                       = {{0x422, "added_wotlk"}, {0x421, "added_tbc", "removed_wotlk"}}
  992. enums.Opcodes.SMSG_SPLINE_MOVE_UNSET_FLYING                     = {{0x423, "added_wotlk"}, {0x422, "added_tbc", "removed_wotlk"}}
  993. enums.Opcodes.SMSG_SUMMON_CANCEL                                = {{0x424, "added_wotlk"}, {0x423, "removed_wotlk"}}
  994. enums.Opcodes.CMSG_CHANGE_PERSONAL_ARENA_RATING                 = {0x425, "added_wotlk"}
  995. enums.Opcodes.CMSG_ALTER_APPEARANCE                             = {0x426, "added_wotlk"}
  996. enums.Opcodes.SMSG_ENABLE_BARBER_SHOP                           = {0x427, "added_wotlk"}
  997. enums.Opcodes.SMSG_BARBER_SHOP_RESULT                           = {0x428, "added_wotlk"}
  998. enums.Opcodes.CMSG_CALENDAR_GET_CALENDAR                        = {0x429, "added_wotlk"}
  999. enums.Opcodes.CMSG_CALENDAR_GET_EVENT                           = {0x42A, "added_wotlk"}
  1000. enums.Opcodes.CMSG_CALENDAR_GUILD_FILTER                        = {0x42B, "added_wotlk"}
  1001. enums.Opcodes.CMSG_CALENDAR_ARENA_TEAM                          = {0x42C, "added_wotlk"}
  1002. enums.Opcodes.CMSG_CALENDAR_ADD_EVENT                           = {0x42D, "added_wotlk"}
  1003. enums.Opcodes.CMSG_CALENDAR_UPDATE_EVENT                        = {0x42E, "added_wotlk"}
  1004. enums.Opcodes.CMSG_CALENDAR_REMOVE_EVENT                        = {0x42F, "added_wotlk"}
  1005. enums.Opcodes.CMSG_CALENDAR_COPY_EVENT                          = {0x430, "added_wotlk"}
  1006. enums.Opcodes.CMSG_CALENDAR_EVENT_INVITE                        = {0x431, "added_wotlk"}
  1007. enums.Opcodes.CMSG_CALENDAR_EVENT_RSVP                          = {0x432, "added_wotlk"}
  1008. enums.Opcodes.CMSG_CALENDAR_EVENT_REMOVE_INVITE                 = {0x433, "added_wotlk"}
  1009. enums.Opcodes.CMSG_CALENDAR_EVENT_STATUS                        = {0x434, "added_wotlk"}
  1010. enums.Opcodes.CMSG_CALENDAR_EVENT_MODERATOR_STATUS              = {0x435, "added_wotlk"}
  1011. enums.Opcodes.SMSG_CALENDAR_SEND_CALENDAR                       = {0x436, "added_wotlk"}
  1012. enums.Opcodes.SMSG_CALENDAR_SEND_EVENT                          = {0x437, "added_wotlk"}
  1013. enums.Opcodes.SMSG_CALENDAR_FILTER_GUILD                        = {0x438, "added_wotlk"}
  1014. enums.Opcodes.SMSG_CALENDAR_ARENA_TEAM                          = {0x439, "added_wotlk"}
  1015. enums.Opcodes.SMSG_CALENDAR_EVENT_INVITE                        = {0x43A, "added_wotlk"}
  1016. enums.Opcodes.SMSG_CALENDAR_EVENT_INVITE_REMOVED                = {0x43B, "added_wotlk"}
  1017. enums.Opcodes.SMSG_CALENDAR_EVENT_STATUS                        = {0x43C, "added_wotlk"}
  1018. enums.Opcodes.SMSG_CALENDAR_COMMAND_RESULT                      = {0x43D, "added_wotlk"}
  1019. enums.Opcodes.SMSG_CALENDAR_RAID_LOCKOUT_ADDED                  = {0x43E, "added_wotlk"}
  1020. enums.Opcodes.SMSG_CALENDAR_RAID_LOCKOUT_REMOVED                = {0x43F, "added_wotlk"}
  1021. enums.Opcodes.SMSG_CALENDAR_EVENT_INVITE_ALERT                  = {0x440, "added_wotlk"}
  1022. enums.Opcodes.SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT          = {0x441, "added_wotlk"}
  1023. enums.Opcodes.SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT           = {0x442, "added_wotlk"}
  1024. enums.Opcodes.SMSG_CALENDAR_EVENT_REMOVED_ALERT                 = {0x443, "added_wotlk"}
  1025. enums.Opcodes.SMSG_CALENDAR_EVENT_UPDATED_ALERT                 = {0x444, "added_wotlk"}
  1026. enums.Opcodes.SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT        = {0x445, "added_wotlk"}
  1027. enums.Opcodes.CMSG_CALENDAR_COMPLAIN                            = {0x446, "added_wotlk"}
  1028. enums.Opcodes.CMSG_CALENDAR_GET_NUM_PENDING                     = {0x447, "added_wotlk"}
  1029. enums.Opcodes.SMSG_CALENDAR_SEND_NUM_PENDING                    = {0x448, "added_wotlk"}
  1030. enums.Opcodes.CMSG_SAVE_DANCE                                   = {0x449, "added_wotlk"}
  1031. enums.Opcodes.SMSG_NOTIFY_DANCE                                 = {0x44A, "added_wotlk"}
  1032. enums.Opcodes.CMSG_PLAY_DANCE                                   = {0x44B, "added_wotlk"}
  1033. enums.Opcodes.SMSG_PLAY_DANCE                                   = {0x44C, "added_wotlk"}
  1034. enums.Opcodes.CMSG_LOAD_DANCES                                  = {0x44D, "added_wotlk"}
  1035. enums.Opcodes.CMSG_STOP_DANCE                                   = {0x44E, "added_wotlk"}
  1036. enums.Opcodes.SMSG_STOP_DANCE                                   = {0x44F, "added_wotlk"}
  1037. enums.Opcodes.CMSG_SYNC_DANCE                                   = {0x450, "added_wotlk"}
  1038. enums.Opcodes.CMSG_DANCE_QUERY                                  = {0x451, "added_wotlk"}
  1039. enums.Opcodes.SMSG_DANCE_QUERY_RESPONSE                         = {0x452, "added_wotlk"}
  1040. enums.Opcodes.SMSG_INVALIDATE_DANCE                             = {0x453, "added_wotlk"}
  1041. enums.Opcodes.CMSG_DELETE_DANCE                                 = {0x454, "added_wotlk"}
  1042. enums.Opcodes.SMSG_LEARNED_DANCE_MOVES                          = {0x455, "added_wotlk"}
  1043. enums.Opcodes.CMSG_LEARN_DANCE_MOVE                             = {0x456, "added_wotlk"}
  1044. enums.Opcodes.CMSG_UNLEARN_DANCE_MOVE                           = {0x457, "added_wotlk"}
  1045. enums.Opcodes.CMSG_SET_RUNE_COUNT                               = {0x458, "added_wotlk"}
  1046. enums.Opcodes.CMSG_SET_RUNE_COOLDOWN                            = {0x459, "added_wotlk"}
  1047. enums.Opcodes.MSG_MOVE_SET_PITCH_RATE_CHEAT                     = {0x45A, "added_wotlk"}
  1048. enums.Opcodes.MSG_MOVE_SET_PITCH_RATE                           = {0x45B, "added_wotlk"}
  1049. enums.Opcodes.SMSG_FORCE_PITCH_RATE_CHANGE                      = {0x45C, "added_wotlk"}
  1050. enums.Opcodes.CMSG_FORCE_PITCH_RATE_CHANGE_ACK                  = {0x45D, "added_wotlk"}
  1051. enums.Opcodes.SMSG_SPLINE_SET_PITCH_RATE                        = {0x45E, "added_wotlk"}
  1052. enums.Opcodes.CMSG_CALENDAR_EVENT_INVITE_NOTES                  = {0x45F, "added_wotlk"}
  1053. enums.Opcodes.SMSG_CALENDAR_EVENT_INVITE_NOTES                  = {0x460, "added_wotlk"}
  1054. enums.Opcodes.SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT            = {0x461, "added_wotlk"}
  1055. enums.Opcodes.CMSG_UPDATE_MISSILE_TRAJECTORY                    = {0x462, "added_wotlk"}
  1056. enums.Opcodes.SMSG_UPDATE_ACCOUNT_DATA_COMPLETE                 = {0x463, "added_wotlk"}
  1057. enums.Opcodes.SMSG_TRIGGER_MOVIE                                = {0x464, "added_wotlk"}
  1058. enums.Opcodes.CMSG_COMPLETE_MOVIE                               = {0x465, "added_wotlk"}
  1059. enums.Opcodes.CMSG_SET_GLYPH_SLOT                               = {0x466, "added_wotlk"}
  1060. enums.Opcodes.CMSG_SET_GLYPH                                    = {0x467, "added_wotlk"}
  1061. enums.Opcodes.SMSG_ACHIEVEMENT_EARNED                           = {0x468, "added_wotlk"}
  1062. enums.Opcodes.SMSG_DYNAMIC_DROP_ROLL_RESULT                     = {0x469, "added_wotlk"}
  1063. enums.Opcodes.SMSG_CRITERIA_UPDATE                              = {0x46A, "added_wotlk"}
  1064. enums.Opcodes.CMSG_QUERY_INSPECT_ACHIEVEMENTS                   = {0x46B, "added_wotlk"}
  1065. enums.Opcodes.SMSG_RESPOND_INSPECT_ACHIEVEMENTS                 = {0x46C, "added_wotlk"}
  1066. enums.Opcodes.CMSG_DISMISS_CONTROLLED_VEHICLE                   = {0x46D, "added_wotlk"}
  1067. enums.Opcodes.CMSG_COMPLETE_ACHIEVEMENT_CHEAT                   = {0x46E, "added_wotlk"}
  1068. enums.Opcodes.SMSG_QUESTUPDATE_ADD_PVP_KILL                     = {0x46F, "added_wotlk"}
  1069. enums.Opcodes.CMSG_SET_CRITERIA_CHEAT                           = {0x470, "added_wotlk"}
  1070. enums.Opcodes.SMSG_CALENDAR_RAID_LOCKOUT_UPDATED                = {0x471, "added_wotlk"}
  1071. enums.Opcodes.CMSG_UNITANIMTIER_CHEAT                           = {0x472, "added_wotlk"}
  1072. enums.Opcodes.CMSG_CHAR_CUSTOMIZE                               = {0x473, "added_wotlk"}
  1073. enums.Opcodes.SMSG_CHAR_CUSTOMIZE                               = {0x474, "added_wotlk"}
  1074. enums.Opcodes.SMSG_PET_RENAMEABLE                               = {0x475, "added_wotlk"}
  1075. enums.Opcodes.CMSG_REQUEST_VEHICLE_EXIT                         = {0x476, "added_wotlk"}
  1076. enums.Opcodes.CMSG_REQUEST_VEHICLE_PREV_SEAT                    = {0x477, "added_wotlk"}
  1077. enums.Opcodes.CMSG_REQUEST_VEHICLE_NEXT_SEAT                    = {0x478, "added_wotlk"}
  1078. enums.Opcodes.CMSG_REQUEST_VEHICLE_SWITCH_SEAT                  = {0x479, "added_wotlk"}
  1079. enums.Opcodes.CMSG_PET_LEARN_TALENT                             = {0x47A, "added_wotlk"}
  1080. enums.Opcodes.CMSG_PET_UNLEARN_TALENTS                          = {0x47B, "added_wotlk"}
  1081. enums.Opcodes.SMSG_SET_PHASE_SHIFT                              = {0x47C, "added_wotlk"}
  1082. enums.Opcodes.SMSG_ALL_ACHIEVEMENT_DATA                         = {0x47D, "added_wotlk"}
  1083. enums.Opcodes.CMSG_FORCE_SAY_CHEAT                              = {0x47E, "added_wotlk"}
  1084. enums.Opcodes.SMSG_HEALTH_UPDATE                                = {0x47F, "added_wotlk"}
  1085. enums.Opcodes.SMSG_POWER_UPDATE                                 = {0x480, "added_wotlk"}
  1086. enums.Opcodes.CMSG_GAMEOBJ_REPORT_USE                           = {0x481, "added_wotlk"}
  1087. enums.Opcodes.SMSG_HIGHEST_THREAT_UPDATE                        = {0x482, "added_wotlk"}
  1088. enums.Opcodes.SMSG_THREAT_UPDATE                                = {0x483, "added_wotlk"}
  1089. enums.Opcodes.SMSG_THREAT_REMOVE                                = {0x484, "added_wotlk"}
  1090. enums.Opcodes.SMSG_THREAT_CLEAR                                 = {0x485, "added_wotlk"}
  1091. enums.Opcodes.SMSG_CONVERT_RUNE                                 = {0x486, "added_wotlk"}
  1092. enums.Opcodes.SMSG_RESYNC_RUNES                                 = {0x487, "added_wotlk"}
  1093. enums.Opcodes.SMSG_ADD_RUNE_POWER                               = {0x488, "added_wotlk"}
  1094. enums.Opcodes.CMSG_START_QUEST                                  = {0x489, "added_wotlk"}
  1095. enums.Opcodes.CMSG_REMOVE_GLYPH                                 = {0x48A, "added_wotlk"}
  1096. enums.Opcodes.CMSG_DUMP_OBJECTS                                 = {0x48B, "added_wotlk"}
  1097. enums.Opcodes.SMSG_DUMP_OBJECTS_DATA                            = {0x48C, "added_wotlk"}
  1098. enums.Opcodes.CMSG_DISMISS_CRITTER                              = {0x48D, "added_wotlk"}
  1099. enums.Opcodes.SMSG_NOTIFY_DEST_LOC_SPELL_CAST                   = {0x48E, "added_wotlk"}
  1100. enums.Opcodes.CMSG_AUCTION_LIST_PENDING_SALES                   = {0x48F, "added_wotlk"}
  1101. enums.Opcodes.SMSG_AUCTION_LIST_PENDING_SALES                   = {0x490, "added_wotlk"}
  1102. enums.Opcodes.SMSG_MODIFY_COOLDOWN                              = {0x491, "added_wotlk"}
  1103. enums.Opcodes.SMSG_PET_UPDATE_COMBO_POINTS                      = {0x492, "added_wotlk"}
  1104. enums.Opcodes.CMSG_ENABLETAXI                                   = {0x493, "added_wotlk"}
  1105. enums.Opcodes.SMSG_PRE_RESURRECT                                = {0x494, "added_wotlk"}
  1106. enums.Opcodes.SMSG_AURA_UPDATE_ALL                              = {0x495, "added_wotlk"}
  1107. enums.Opcodes.SMSG_AURA_UPDATE                                  = {0x496, "added_wotlk"}
  1108. enums.Opcodes.CMSG_FLOOD_GRACE_CHEAT                            = {0x497, "added_wotlk"}
  1109. enums.Opcodes.SMSG_SERVER_FIRST_ACHIEVEMENT                     = {0x498, "added_wotlk"}
  1110. enums.Opcodes.SMSG_PET_LEARNED_SPELL                            = {0x499, "added_wotlk"}
  1111. enums.Opcodes.SMSG_PET_REMOVED_SPELL                            = {0x49A, "added_wotlk"}
  1112. enums.Opcodes.CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE           = {0x49B, "added_wotlk"}
  1113. enums.Opcodes.CMSG_HEARTH_AND_RESURRECT                         = {0x49C, "added_wotlk"}
  1114. enums.Opcodes.SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA         = {0x49D, "added_wotlk"}
  1115. enums.Opcodes.SMSG_CRITERIA_DELETED                             = {0x49E, "added_wotlk"}
  1116. enums.Opcodes.SMSG_ACHIEVEMENT_DELETED                          = {0x49F, "added_wotlk"}
  1117. enums.Opcodes.CMSG_SERVER_INFO_QUERY                            = {0x4A0, "added_wotlk"}
  1118. enums.Opcodes.SMSG_SERVER_INFO_RESPONSE                         = {0x4A1, "added_wotlk"}
  1119. enums.Opcodes.CMSG_CHECK_LOGIN_CRITERIA                         = {0x4A2, "added_wotlk"}
  1120. enums.Opcodes.SMSG_SERVER_BUCK_DATA_START                       = {0x4A3, "added_wotlk"}
  1121. enums.Opcodes.CMSG_SET_BREATH                                   = {0x4A4, "added_wotlk"}
  1122. enums.Opcodes.CMSG_QUERY_VEHICLE_STATUS                         = {0x4A5, "added_wotlk"}
  1123. enums.Opcodes.SMSG_BATTLEGROUND_INFO_THROTTLED                  = {0x4A6, "added_wotlk"} -- empty, "You can't do that yet"
  1124. enums.Opcodes.SMSG_PLAYER_VEHICLE_DATA                          = {0x4A7, "added_wotlk"} -- guid+uint32 (vehicle)
  1125. enums.Opcodes.CMSG_PLAYER_VEHICLE_ENTER                         = {0x4A8, "added_wotlk"} -- uint64
  1126. enums.Opcodes.CMSG_CONTROLLER_EJECT_PASSENGER                   = {0x4A9, "added_wotlk"} -- uint64
  1127. enums.Opcodes.SMSG_PET_GUIDS                                    = {0x4AA, "added_wotlk"}
  1128. enums.Opcodes.SMSG_CLIENTCACHE_VERSION                          = {0x4AB, "added_wotlk"}
  1129. enums.Opcodes.CMSG_CHANGE_GDF_ARENA_RATING                      = {0x4AC, "added_wotlk"}
  1130. enums.Opcodes.CMSG_SET_ARENA_TEAM_RATING_BY_INDEX               = {0x4AD, "added_wotlk"}
  1131. enums.Opcodes.CMSG_SET_ARENA_TEAM_WEEKLY_GAMES                  = {0x4AE, "added_wotlk"}
  1132. enums.Opcodes.CMSG_SET_ARENA_TEAM_SEASON_GAMES                  = {0x4AF, "added_wotlk"}
  1133. enums.Opcodes.CMSG_SET_ARENA_MEMBER_WEEKLY_GAMES                = {0x4B0, "added_wotlk"}
  1134. enums.Opcodes.CMSG_SET_ARENA_MEMBER_SEASON_GAMES                = {0x4B1, "added_wotlk"}
  1135. enums.Opcodes.SMSG_ITEM_REFUND_INFO_RESPONSE                    = {0x4B2, "added_wotlk"}
  1136. enums.Opcodes.CMSG_ITEM_REFUND_INFO                             = {0x4B3, "added_wotlk"}
  1137. enums.Opcodes.CMSG_ITEM_REFUND                                  = {0x4B4, "added_wotlk"} -- lua: ContainerRefundItemPurchase
  1138. enums.Opcodes.SMSG_ITEM_REFUND_RESULT                           = {0x4B5, "added_wotlk"}
  1139. enums.Opcodes.CMSG_CORPSE_MAP_POSITION_QUERY                    = {0x4B6, "added_wotlk"} -- uint32
  1140. enums.Opcodes.SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE           = {0x4B7, "added_wotlk"} -- 3*float+float
  1141. enums.Opcodes.CMSG_UNUSED5                                      = {0x4B8, "added_wotlk"}
  1142. enums.Opcodes.CMSG_UNUSED6                                      = {0x4B9, "added_wotlk"}
  1143. enums.Opcodes.CMSG_CALENDAR_EVENT_SIGNUP                        = {0x4BA, "added_wotlk"} -- uint64
  1144. enums.Opcodes.SMSG_CALENDAR_CLEAR_PENDING_ACTION                = {0x4BB, "added_wotlk"}
  1145. enums.Opcodes.SMSG_EQUIPMENT_SET_LIST                           = {0x4BC, "added_wotlk"} -- equipment manager list?
  1146. enums.Opcodes.CMSG_EQUIPMENT_SET_SAVE                           = {0x4BD, "added_wotlk"}
  1147. enums.Opcodes.CMSG_UPDATE_PROJECTILE_POSITION                   = {0x4BE, "added_wotlk"}
  1148. enums.Opcodes.SMSG_SET_PROJECTILE_POSITION                      = {0x4BF, "added_wotlk"}
  1149. enums.Opcodes.SMSG_TALENTS_INFO                                 = {0x4C0, "added_wotlk"}
  1150. enums.Opcodes.CMSG_LEARN_PREVIEW_TALENTS                        = {0x4C1, "added_wotlk"}
  1151. enums.Opcodes.CMSG_LEARN_PREVIEW_TALENTS_PET                    = {0x4C2, "added_wotlk"}
  1152. enums.Opcodes.CMSG_SET_ACTIVE_TALENT_GROUP_OBSOLETE             = {0x4C3, "added_wotlk"}
  1153. enums.Opcodes.CMSG_GM_GRANT_ACHIEVEMENT                         = {0x4C4, "added_wotlk"}
  1154. enums.Opcodes.CMSG_GM_REMOVE_ACHIEVEMENT                        = {0x4C5, "added_wotlk"}
  1155. enums.Opcodes.CMSG_GM_SET_CRITERIA_FOR_PLAYER                   = {0x4C6, "added_wotlk"}
  1156. enums.Opcodes.SMSG_ARENA_UNIT_DESTROYED                         = {0x4C7, "added_wotlk"}
  1157. enums.Opcodes.SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED              = {0x4C8, "added_wotlk"} -- uint32 "Can't modify arena team while queued or in a match."
  1158. enums.Opcodes.CMSG_PROFILEDATA_REQUEST                          = {0x4C9, "added_wotlk"}
  1159. enums.Opcodes.SMSG_PROFILEDATA_RESPONSE                         = {0x4CA, "added_wotlk"}
  1160. enums.Opcodes.CMSG_START_BATTLEFIELD_CHEAT                      = {0x4CB, "added_wotlk"}
  1161. enums.Opcodes.CMSG_END_BATTLEFIELD_CHEAT                        = {0x4CC, "added_wotlk"}
  1162. enums.Opcodes.SMSG_MULTIPLE_PACKETS                             = {0x4CD, "added_wotlk"}
  1163. enums.Opcodes.SMSG_MOVE_GRAVITY_DISABLE                         = {0x4CE, "added_wotlk"}
  1164. enums.Opcodes.CMSG_MOVE_GRAVITY_DISABLE_ACK                     = {0x4CF, "added_wotlk"}
  1165. enums.Opcodes.SMSG_MOVE_GRAVITY_ENABLE                          = {0x4D0, "added_wotlk"}
  1166. enums.Opcodes.CMSG_MOVE_GRAVITY_ENABLE_ACK                      = {0x4D1, "added_wotlk"}
  1167. enums.Opcodes.MSG_MOVE_GRAVITY_CHNG                             = {0x4D2, "added_wotlk"}
  1168. enums.Opcodes.SMSG_SPLINE_MOVE_GRAVITY_DISABLE                  = {0x4D3, "added_wotlk"}
  1169. enums.Opcodes.SMSG_SPLINE_MOVE_GRAVITY_ENABLE                   = {0x4D4, "added_wotlk"}
  1170. enums.Opcodes.CMSG_EQUIPMENT_SET_USE                            = {0x4D5, "added_wotlk"}
  1171. enums.Opcodes.SMSG_EQUIPMENT_SET_USE_RESULT                     = {0x4D6, "added_wotlk"}
  1172. enums.Opcodes.CMSG_FORCE_ANIM                                   = {0x4D7, "added_wotlk"}
  1173. enums.Opcodes.SMSG_FORCE_ANIM                                   = {0x4D8, "added_wotlk"}
  1174. enums.Opcodes.CMSG_CHAR_FACTION_CHANGE                          = {0x4D9, "added_wotlk"}
  1175. enums.Opcodes.SMSG_CHAR_FACTION_CHANGE                          = {0x4DA, "added_wotlk"}
  1176. enums.Opcodes.CMSG_PVP_QUEUE_STATS_REQUEST                      = {0x4DB, "added_wotlk"}
  1177. enums.Opcodes.SMSG_PVP_QUEUE_STATS                              = {0x4DC, "added_wotlk"}
  1178. enums.Opcodes.CMSG_SET_PAID_SERVICE_CHEAT                       = {0x4DD, "added_wotlk"}
  1179. enums.Opcodes.SMSG_BATTLEFIELD_MGR_ENTRY_INVITE                 = {0x4DE, "added_wotlk"} -- uint32
  1180. enums.Opcodes.CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE        = {0x4DF, "added_wotlk"}
  1181. enums.Opcodes.SMSG_BATTLEFIELD_MGR_ENTERED                      = {0x4E0, "added_wotlk"} -- uint32, uint8, uint8
  1182. enums.Opcodes.SMSG_BATTLEFIELD_MGR_QUEUE_INVITE                 = {0x4E1, "added_wotlk"} -- uint32
  1183. enums.Opcodes.CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE        = {0x4E2, "added_wotlk"}
  1184. enums.Opcodes.CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST                = {0x4E3, "added_wotlk"}
  1185. enums.Opcodes.SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE       = {0x4E4, "added_wotlk"} -- uint32, uint8
  1186. enums.Opcodes.SMSG_BATTLEFIELD_MGR_EJECT_PENDING                = {0x4E5, "added_wotlk"} -- uint32
  1187. enums.Opcodes.SMSG_BATTLEFIELD_MGR_EJECTED                      = {0x4E6, "added_wotlk"} -- uint32, uint32, uint8
  1188. enums.Opcodes.CMSG_BATTLEFIELD_MGR_EXIT_REQUEST                 = {0x4E7, "added_wotlk"}
  1189. enums.Opcodes.SMSG_BATTLEFIELD_MGR_STATE_CHANGE                 = {0x4E8, "added_wotlk"} -- uint32, uint32
  1190. enums.Opcodes.CMSG_BATTLEFIELD_MANAGER_ADVANCE_STATE            = {0x4E9, "added_wotlk"}
  1191. enums.Opcodes.CMSG_BATTLEFIELD_MANAGER_SET_NEXT_TRANSITION_TIME = {0x4EA, "added_wotlk"}
  1192. enums.Opcodes.MSG_SET_RAID_DIFFICULTY                           = {0x4EB, "added_wotlk"}
  1193. enums.Opcodes.CMSG_TOGGLE_XP_GAIN                               = {0x4EC, "added_wotlk"}
  1194. enums.Opcodes.SMSG_TOGGLE_XP_GAIN                               = {0x4ED, "added_wotlk"} -- enable/disable XP gain console message
  1195. enums.Opcodes.SMSG_GMRESPONSE_DB_ERROR                          = {0x4EE, "added_wotlk"} -- empty
  1196. enums.Opcodes.SMSG_GMRESPONSE_RECEIVED                          = {0x4EF, "added_wotlk"} -- uint32, uint32, string[2000], string[4000][4]
  1197. enums.Opcodes.CMSG_GMRESPONSE_RESOLVE                           = {0x4F0, "added_wotlk"}
  1198. enums.Opcodes.SMSG_GMRESPONSE_STATUS_UPDATE                     = {0x4F1, "added_wotlk"} -- uint8 (1 - EVENT_GMSURVEY_DISPLAY, 0 - EVENT_UPDATE_TICKET)
  1199. enums.Opcodes.SMSG_GMRESPONSE_CREATE_TICKET                     = {0x4F2, "added_wotlk"}
  1200. enums.Opcodes.CMSG_GMRESPONSE_CREATE_TICKET                     = {0x4F3, "added_wotlk"}
  1201. enums.Opcodes.CMSG_SERVERINFO                                   = {0x4F4, "added_wotlk"}
  1202. enums.Opcodes.SMSG_SERVERINFO                                   = {0x4F5, "added_wotlk"}
  1203. enums.Opcodes.CMSG_WORLD_STATE_UI_TIMER_UPDATE                  = {0x4F6, "added_wotlk"}
  1204. enums.Opcodes.SMSG_WORLD_STATE_UI_TIMER_UPDATE                  = {0x4F7, "added_wotlk"}
  1205. enums.Opcodes.CMSG_CHAR_RACE_CHANGE                             = {0x4F8, "added_wotlk"}
  1206. enums.Opcodes.MSG_VIEW_PHASE_SHIFT                              = {0x4F9, "added_wotlk"}
  1207. enums.Opcodes.SMSG_TALENTS_INVOLUNTARILY_RESET                  = {0x4FA, "added_wotlk"} -- uint8
  1208. enums.Opcodes.CMSG_DEBUG_SERVER_GEO                             = {0x4FB, "added_wotlk"}
  1209. enums.Opcodes.SMSG_DEBUG_SERVER_GEO                             = {0x4FC, "added_wotlk"}
  1210. enums.Opcodes.SMSG_LOOT_SLOT_CHANGED                            = {0x4FD, "added_wotlk"}
  1211. enums.Opcodes.UMSG_UPDATE_GROUP_INFO                            = {0x4FE, "added_wotlk"}
  1212. enums.Opcodes.CMSG_READY_FOR_ACCOUNT_DATA_TIMES                 = {0x4FF, "added_wotlk"}
  1213. enums.Opcodes.CMSG_QUERY_QUESTS_COMPLETED                       = {0x500, "added_wotlk"}
  1214. enums.Opcodes.SMSG_QUERY_QUESTS_COMPLETED_RESPONSE              = {0x501, "added_wotlk"}
  1215. enums.Opcodes.CMSG_GM_REPORT_LAG                                = {0x502, "added_wotlk"}
  1216. enums.Opcodes.CMSG_AFK_MONITOR_INFO_REQUEST                     = {0x503, "added_wotlk"}
  1217. enums.Opcodes.SMSG_AFK_MONITOR_INFO_RESPONSE                    = {0x504, "added_wotlk"}
  1218. enums.Opcodes.CMSG_AFK_MONITOR_INFO_CLEAR                       = {0x505, "added_wotlk"}
  1219. enums.Opcodes.SMSG_CORPSE_NOT_IN_INSTANCE                       = {0x506, "added_wotlk"}
  1220. enums.Opcodes.CMSG_GM_NUKE_CHARACTER                            = {0x507, "added_wotlk"}
  1221. enums.Opcodes.CMSG_SET_ALLOW_LOW_LEVEL_RAID1                    = {0x508, "added_wotlk"}
  1222. enums.Opcodes.CMSG_SET_ALLOW_LOW_LEVEL_RAID2                    = {0x509, "added_wotlk"}
  1223. enums.Opcodes.SMSG_CAMERA_SHAKE                                 = {0x50A, "added_wotlk"} -- uint32 SpellEffectCameraShakes.dbc index, uint32
  1224. enums.Opcodes.SMSG_SOCKET_GEMS_RESULT                           = {0x50B, "added_wotlk"}
  1225. enums.Opcodes.CMSG_SET_CHARACTER_MODEL                          = {0x50C, "added_wotlk"}
  1226. enums.Opcodes.SMSG_REDIRECT_CLIENT                              = {0x50D, "added_wotlk"} -- uint32 ip, uint16 port, uint32 unk, uint8[20] hash (ip + port, seed=sessionkey)
  1227. enums.Opcodes.CMSG_REDIRECTION_FAILED                           = {0x50E, "added_wotlk"} -- something with networking
  1228. enums.Opcodes.SMSG_SUSPEND_COMMS                                = {0x50F, "added_wotlk"}
  1229. enums.Opcodes.CMSG_SUSPEND_COMMS_ACK                            = {0x510, "added_wotlk"}
  1230. enums.Opcodes.SMSG_FORCE_SEND_QUEUED_PACKETS                    = {0x511, "added_wotlk"}
  1231. enums.Opcodes.CMSG_REDIRECTION_AUTH_PROOF                       = {0x512, "added_wotlk"}
  1232. enums.Opcodes.CMSG_DROP_NEW_CONNECTION                          = {0x513, "added_wotlk"}
  1233. enums.Opcodes.SMSG_SEND_ALL_COMBAT_LOG                          = {0x514, "added_wotlk"}
  1234. enums.Opcodes.SMSG_OPEN_LFG_DUNGEON_FINDER                      = {0x515, "added_wotlk"}
  1235. enums.Opcodes.SMSG_MOVE_SET_COLLISION_HGT                       = {0x516, "added_wotlk"}
  1236. enums.Opcodes.CMSG_MOVE_SET_COLLISION_HGT_ACK                   = {0x517, "added_wotlk"}
  1237. enums.Opcodes.MSG_MOVE_SET_COLLISION_HGT                        = {0x518, "added_wotlk"}
  1238. enums.Opcodes.CMSG_CLEAR_RANDOM_BG_WIN_TIME                     = {0x519, "added_wotlk"}
  1239. enums.Opcodes.CMSG_CLEAR_HOLIDAY_BG_WIN_TIME                    = {0x51A, "added_wotlk"}
  1240. enums.Opcodes.CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND           = {0x51B, "added_wotlk"}
  1241. enums.Opcodes.SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT1           = {0x51C, "added_wotlk"}
  1242. enums.Opcodes.SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2           = {0x51D, "added_wotlk"}
  1243. enums.Opcodes.SMSG_MULTIPLE_MOVES                               = {0x51E, "added_wotlk"} -- uncompressed version of SMSG_COMPRESSED_MOVES
  1244.  
  1245. enums.AccountTypes = enum()
  1246. enums.AccountTypes.PLAYER           = 0
  1247. enums.AccountTypes.MODERATOR        = 1
  1248. enums.AccountTypes.GAMEMASTER       = 2
  1249. enums.AccountTypes.ADMINISTRATOR    = 3
  1250. enums.AccountTypes.CONSOLE          = 4 -- must be always last in list, accounts must have less security level always also
  1251.  
  1252. enums.BattleGroundTypeId = enum()
  1253. enums.BattleGroundTypeId.NONE           = 0 -- None
  1254. enums.BattleGroundTypeId.AV             = 1 -- Alterac Valley
  1255. enums.BattleGroundTypeId.WS             = 2 -- Warsong Gulch
  1256. enums.BattleGroundTypeId.AB             = 3 -- Arathi Basin
  1257. enums.BattleGroundTypeId.NA             = {4, "added_tbc"} -- Nagrand Arena
  1258. enums.BattleGroundTypeId.BE             = {5, "added_tbc"} -- Blade's Edge Arena
  1259. enums.BattleGroundTypeId.AA             = {6, "added_tbc"} -- All Arenas
  1260. enums.BattleGroundTypeId.EY             = {7, "added_tbc"} -- Eye of the Storm
  1261. enums.BattleGroundTypeId.RL             = {8, "added_tbc"} -- Ruins of Lordaernon
  1262. enums.BattleGroundTypeId.SA             = {9, "added_wotlk"} -- Strand of the Ancients
  1263. enums.BattleGroundTypeId.DS             = {10, "added_wotlk"} -- Dalaran Sewers
  1264. enums.BattleGroundTypeId.RV             = {11, "added_wotlk"} -- Ring of Valor
  1265. enums.BattleGroundTypeId.IC             = {30, "added_wotlk"} -- Isle of Conquest
  1266. enums.BattleGroundTypeId.RB             = {32, "added_wotlk"} -- Random Battleground
  1267. enums.BattleGroundTypeId.RATED_10_VS_10 = {100, "added_cata"}-- Rated BG 10 vs 10
  1268. enums.BattleGroundTypeId.RATED_15_VS_15 = {101, "added_cata"}-- Rated BG 15 vs 15
  1269. enums.BattleGroundTypeId.RATED_25_VS_25 = {102, "added_cata"}-- Rated BG 25 vs 25
  1270. enums.BattleGroundTypeId.TP             = {108, "added_cata"}-- Twin Peaks
  1271. enums.BattleGroundTypeId.BFG            = {120, "added_cata"}-- Battle For Gilneas
  1272. -- 441 = "Icecrown Citadel"
  1273. -- 443 = "The Ruby Sanctum"
  1274. -- 656 = "Rated Eye of the Storm"
  1275.  
  1276. enums.BattleGroundStatus = enum()
  1277. enums.BattleGroundStatus.NONE         = 0 -- first status, should mean bg is not instance
  1278. enums.BattleGroundStatus.WAIT_QUEUE   = 1 -- means bg is empty and waiting for queue
  1279. enums.BattleGroundStatus.WAIT_JOIN    = 2 -- this means, that BG has already started and it is waiting for more players
  1280. enums.BattleGroundStatus.IN_PROGRESS  = 3 -- means bg is running
  1281. enums.BattleGroundStatus.WAIT_LEAVE   = 4 -- means some faction has won BG and it is ending
  1282.  
  1283. enums.BanMode = enum()
  1284. enums.BanMode.ACCOUNT       = 0
  1285. enums.BanMode.CHARACTER     = 1
  1286. enums.BanMode.IP            = 2
  1287.  
  1288. enums.MailStationery = enum()
  1289. enums.MailStationery.TEST       = 1
  1290. enums.MailStationery.DEFAULT    = 41
  1291. enums.MailStationery.GM         = 61
  1292. enums.MailStationery.AUCTION    = 62
  1293. enums.MailStationery.VAL        = 64 -- Valentine
  1294. enums.MailStationery.CHR        = 65 -- Christmas
  1295. enums.MailStationery.ORP        = {67, "added_cata"} -- Orphan
  1296.  
  1297. enums.EnchantmentSlot = enum()
  1298. enums.EnchantmentSlot.PERM                            = 0
  1299. enums.EnchantmentSlot.TEMP                            = 1
  1300. enums.EnchantmentSlot.SOCK                            = {2, "added_tbc"}
  1301. enums.EnchantmentSlot.SOCK_2                          = {3, "added_tbc"}
  1302. enums.EnchantmentSlot.SOCK_3                          = {4, "added_tbc"}
  1303. enums.EnchantmentSlot.BONUS                           = {5, "added_tbc"}
  1304. enums.EnchantmentSlot.PRISMATIC                       = {6, "added_wotlk"}
  1305. enums.EnchantmentSlot.REFORGE                         = {7, "added_cata"}
  1306. enums.EnchantmentSlot.TRANSMOGRIFY                    = {8, "added_cata"}
  1307. enums.EnchantmentSlot.MAX_INSPECTED_ENCHANTMENT_SLOT  = {{2, "removed_tbc"}, {6, "added_tbc", "removed_wotlk"}, {7, "added_wotlk", "removed_cata"}, {10, "added_cata"}}
  1308. enums.EnchantmentSlot.PROP_0                          = {{3, "removed_tbc"}, {6, "added_tbc", "removed_wotlk"}, {7, "added_wotlk", "removed_cata"}, {10, "added_cata"}} -- used with RandomSuffix
  1309. enums.EnchantmentSlot.PROP_1                          = {{4, "removed_tbc"}, {7, "added_tbc", "removed_wotlk"}, {8, "added_wotlk", "removed_cata"}, {11, "added_cata"}} -- used with RandomSuffix
  1310. enums.EnchantmentSlot.PROP_2                          = {{5, "removed_tbc"}, {8, "added_tbc", "removed_wotlk"}, {9, "added_wotlk", "removed_cata"}, {12, "added_cata"}} -- used with RandomSuffix
  1311. enums.EnchantmentSlot.PROP_3                          = {{6, "removed_tbc"}, {9, "added_tbc", "removed_wotlk"}, {10, "added_wotlk", "removed_cata"}, {13, "added_cata"}}
  1312. enums.EnchantmentSlot.PROP_4                          = {{10, "added_tbc", "removed_wotlk"}, {11, "added_wotlk", "removed_cata"}, {14, "added_cata"}}
  1313. enums.EnchantmentSlot.MAX_ENCHANTMENT_SLOT            = {{7, "removed_tbc"}, {11, "added_tbc", "removed_wotlk"}, {12, "added_wotlk", "removed_cata"}, {15, "added_cata"}}
  1314.  
  1315. enums.Gender = enum()
  1316. enums.Gender.MALE               = 0
  1317. enums.Gender.FEMALE             = 1
  1318. enums.Gender.NONE               = 2
  1319.  
  1320. enums.Races = enum()
  1321. enums.Races.NONE                = 0
  1322. enums.Races.HUMAN               = 1
  1323. enums.Races.ORC                 = 2
  1324. enums.Races.DWARF               = 3
  1325. enums.Races.NIGHTELF            = 4
  1326. enums.Races.UNDEAD              = 5
  1327. enums.Races.TAUREN              = 6
  1328. enums.Races.GNOME               = 7
  1329. enums.Races.TROLL               = 8
  1330. enums.Races.GOBLIN              = {9, "added_cata"}
  1331. enums.Races.BLOODELF            = {10, "added_tbc"}
  1332. enums.Races.DRAENEI             = {11, "added_tbc"}
  1333. enums.Races.WORGEN              = {22, "added_cata"}
  1334.  
  1335. enums.Classes = enum()
  1336. enums.Classes.NONE              = 0
  1337. enums.Classes.WARRIOR           = 1
  1338. enums.Classes.PALADIN           = 2
  1339. enums.Classes.HUNTER            = 3
  1340. enums.Classes.ROGUE             = 4
  1341. enums.Classes.PRIEST            = 5
  1342. enums.Classes.DEATH_KNIGHT      = {6, "added_wotlk"}
  1343. enums.Classes.SHAMAN            = 7
  1344. enums.Classes.MAGE              = 8
  1345. enums.Classes.WARLOCK           = 9
  1346. enums.Classes.DRUID             = 11
  1347.  
  1348. enums.ItemQualities = enum()
  1349. enums.ItemQualities.POOR        = 0 -- GREY
  1350. enums.ItemQualities.NORMAL      = 1 -- WHITE
  1351. enums.ItemQualities.UNCOMMON    = 2 -- GREEN
  1352. enums.ItemQualities.RARE        = 3 -- BLUE
  1353. enums.ItemQualities.EPIC        = 4 -- PURPLE
  1354. enums.ItemQualities.LEGENDARY   = 5 -- ORANGE
  1355. enums.ItemQualities.ARTIFACT    = 6 -- LIGHT YELLOW
  1356. enums.ItemQualities.HEIRLOOM    = {7, "added_wotlk"}
  1357.  
  1358. enums.CharacterSlot = enum()
  1359. enums.CharacterSlot.HEAD        = 0
  1360. enums.CharacterSlot.NECK        = 1
  1361. enums.CharacterSlot.SHOULDERS   = 2
  1362. enums.CharacterSlot.SHIRT       = 3
  1363. enums.CharacterSlot.CHEST       = 4
  1364. enums.CharacterSlot.WAIST       = 5
  1365. enums.CharacterSlot.LEGS        = 6
  1366. enums.CharacterSlot.FEET        = 7
  1367. enums.CharacterSlot.WRISTS      = 8
  1368. enums.CharacterSlot.HANDS       = 9
  1369. enums.CharacterSlot.FINGER1     = 10
  1370. enums.CharacterSlot.FINGER2     = 11
  1371. enums.CharacterSlot.TRINKET1    = 12
  1372. enums.CharacterSlot.TRINKET2    = 13
  1373. enums.CharacterSlot.BACK        = 14
  1374. enums.CharacterSlot.MAIN_HAND   = 15
  1375. enums.CharacterSlot.OFF_HAND    = 16
  1376. enums.CharacterSlot.RANGED      = 17
  1377. enums.CharacterSlot.TABARD      = 18
  1378. enums.CharacterSlot.EMPTY       = 19
  1379.  
  1380. enums.Language = enum()
  1381. enums.Language.UNIVERSAL      = 0
  1382. enums.Language.ORCISH         = 1
  1383. enums.Language.DARNASSIAN     = 2
  1384. enums.Language.TAURAHE        = 3
  1385. enums.Language.DWARVISH       = 6
  1386. enums.Language.COMMON         = 7
  1387. enums.Language.DEMONIC        = 8
  1388. enums.Language.TITAN          = 9
  1389. enums.Language.THALASSIAN     = 10
  1390. enums.Language.DRACONIC       = 11
  1391. enums.Language.KALIMAG        = 12
  1392. enums.Language.GNOMISH        = 13
  1393. enums.Language.TROLL          = 14
  1394. enums.Language.GUTTERSPEAK    = 33
  1395. enums.Language.DRAENEI        = {35, "added_tbc"}
  1396. enums.Language.ZOMBIE         = {36, "added_tbc"}
  1397. enums.Language.GNOMISH_BINARY = {37, "added_tbc"}
  1398. enums.Language.GOBLIN_BINARY  = {38, "added_tbc"}
  1399. enums.Language.WORGEN         = {39, "added_cata"}
  1400. enums.Language.GOBLIN         = {40, "added_cata"}
  1401. enums.Language.ADDON          = 0xFFFFFFFF
  1402.  
  1403. enums.NPCFlags = enum()
  1404. enums.NPCFlags.NONE                  = 0x00000000
  1405. enums.NPCFlags.GOSSIP                = 0x00000001 -- 100%
  1406. enums.NPCFlags.QUESTGIVER            = 0x00000002 -- 100%
  1407. enums.NPCFlags.UNK1                  = {0x00000004, "added_tbc"}
  1408. enums.NPCFlags.UNK2                  = {0x00000008, "added_tbc"}
  1409. enums.NPCFlags.TRAINER               = 0x00000010 -- 100%
  1410. enums.NPCFlags.TRAINER_CLASS         = {0x00000020, "added_tbc"} -- 100%
  1411. enums.NPCFlags.TRAINER_PROFESSION    = {0x00000040, "added_tbc"} -- 100%
  1412. enums.NPCFlags.VENDOR                = {{0x00000004, "removed_tbc"}, {0x00000080, "added_tbc"}} -- 100%
  1413. enums.NPCFlags.VENDOR_AMMO           = {0x00000100, "added_tbc"} -- 100%, general goods vendor
  1414. enums.NPCFlags.VENDOR_FOOD           = {0x00000200, "added_tbc"} -- 100%
  1415. enums.NPCFlags.VENDOR_POISON         = {0x00000400, "added_tbc"} -- guessed
  1416. enums.NPCFlags.VENDOR_REAGENT        = {0x00000800, "added_tbc"} -- 100%
  1417. enums.NPCFlags.REPAIR                = {{0x00004000, "removed_tbc"}, {0x00001000, "added_tbc"}} -- 100%
  1418. enums.NPCFlags.FLIGHTMASTER          = {{0x00000008, "removed_tbc"}, {0x00002000, "added_tbc"}} -- 100%
  1419. enums.NPCFlags.SPIRITHEALER          = {{0x00000020, "removed_tbc"}, {0x00004000, "added_tbc"}} -- guessed
  1420. enums.NPCFlags.SPIRITGUIDE           = {{0x00000040, "removed_tbc"}, {0x00008000, "added_tbc"}} -- guessed
  1421. enums.NPCFlags.INNKEEPER             = {{0x00000080, "removed_tbc"}, {0x00010000, "added_tbc"}} -- 100%
  1422. enums.NPCFlags.BANKER                = {{0x00000100, "removed_tbc"}, {0x00020000, "added_tbc"}} -- 100%
  1423. enums.NPCFlags.PETITIONER            = {{0x00000200, "removed_tbc"}, {0x00040000, "added_tbc"}} -- 100% 0xC0000 = guild petitions, 0x40000 = arena team petitions
  1424. enums.NPCFlags.TABARDDESIGNER        = {{0x00000400, "removed_tbc"}, {0x00080000, "added_tbc"}} -- 100%
  1425. enums.NPCFlags.BATTLEMASTER          = {{0x00000800, "removed_tbc"}, {0x00100000, "added_tbc"}} -- 100%
  1426. enums.NPCFlags.AUCTIONEER            = {{0x00001000, "removed_tbc"}, {0x00200000, "added_tbc"}} -- 100%
  1427. enums.NPCFlags.STABLEMASTER          = {{0x00002000, "removed_tbc"}, {0x00400000, "added_tbc"}} -- 100%
  1428. enums.NPCFlags.GUILD_BANKER          = {0x00800000, "added_tbc"} -- cause client to send 997 opcode
  1429. enums.NPCFlags.SPELLCLICK            = {0x01000000, "added_tbc"} -- cause client to send 1015 opcode (spell click)
  1430. enums.NPCFlags.PLAYER_VEHICLE        = {0x02000000, "added_wotlk"} -- players with mounts that have vehicle data should have it set
  1431. enums.NPCFlags.MAILBOX               = {0x04000000, "added_wotlk"} -- mailbox
  1432. enums.NPCFlags.REFORGER              = {0x08000000, "added_cata"} -- reforging
  1433. enums.NPCFlags.TRANSMOGRIFIER        = {0x10000000, "added_cata"} -- transmogrification
  1434. enums.NPCFlags.VAULTKEEPER           = {0x20000000, "added_cata"} -- void storage
  1435.  
  1436. enums.EObjectFields = enum()
  1437. enums.EObjectFields.OBJECT_FIELD_GUID                         = 0x0000 -- Size: 2, Type: LONG, Flags: PUBLIC
  1438. enums.EObjectFields.OBJECT_FIELD_DATA                         = {0x0002, "added_cata"} -- Size: 2, Type: LONG, Flags: PUBLIC
  1439. enums.EObjectFields.OBJECT_FIELD_TYPE                         = {{0x0002, "removed_cata"}, {0x0004, "added_cata"}} -- Size: 1, Type: INT, Flags: PUBLIC
  1440. enums.EObjectFields.OBJECT_FIELD_ENTRY                        = {{0x0003, "removed_cata"}, {0x0005, "added_cata"}} -- Size: 1, Type: INT, Flags: PUBLIC
  1441. enums.EObjectFields.OBJECT_FIELD_SCALE_X                      = {{0x0004, "removed_cata"}, {0x0006, "added_cata"}} -- Size: 1, Type: FLOAT, Flags: PUBLIC
  1442. enums.EObjectFields.OBJECT_FIELD_PADDING                      = {{0x0005, "removed_cata"}, {0x0007, "added_cata"}} -- Size: 1, Type: INT, Flags: NONE
  1443. enums.EObjectFields.OBJECT_END                                = {{0x0006, "removed_cata"}, {0x0008, "added_cata"}}
  1444.  
  1445.  
  1446. for ename, v in pairs(makemeta(enums)) do
  1447.     _G[ename] = v
  1448. end
  1449.  
  1450. return enums
  1451.  
  1452. -- -- This is how you would use the enum function.
  1453. -- SpellSchoolMask = enum({
  1454. --     NONE = 0,  -- This comment is for the NONE value.
  1455. --     NORMAL = 1,
  1456. --     HOLY = 2,
  1457. --     FIRE = {4, "removed_cata"}, -- Tagged as available before Cataclysm.
  1458. --     NATURE = {8, "mangos"},  -- Tagged as only available on MaNGOS.
  1459. --     FROST = {16, "trinity"},  -- Tagged as only available on TrinityCore.
  1460. --     SHADOW = {32, "added_tbc"},  -- Tagged as not available before TBC.
  1461. --     ARCANE = {64, "trinity", "removed_wotlk"}  -- Tags can be combined.
  1462. -- })
  1463. --
  1464. -- -- Print out the results.
  1465. -- -- Try playing with GetCoreName and GetCoreExpansion for different results.
  1466. -- for k, v in pairs(SpellSchoolMask) do
  1467. --     print(k, v)
  1468. -- end
  1469. --
  1470. -- -- Accessing a non-existent value will cause an error.
  1471. -- print(SpellSchoolMask.FIRE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement