Browse Source

Base

Starting point..!
Image 4 years ago
parent
commit
548007ea96
100 changed files with 44767 additions and 0 deletions
  1. 73 0
      DB/currentlsdb.sql
  2. BIN
      DB/world_db.zip
  3. 36 0
      EQ2/configs/LoginServer.ini
  4. 347 0
      EQ2/configs/log_config.xml
  5. 11 0
      EQ2/configs/world_db.ini
  6. 43 0
      EQ2/devtools/PacketParser/Parser DB.sql
  7. 2061 0
      EQ2/devtools/PacketParser/ParserStructs/ItemStructs.xml
  8. 1258 0
      EQ2/devtools/PacketParser/ParserStructs/SpawnStructs.xml
  9. 5405 0
      EQ2/devtools/PacketParser/ParserStructs/WorldStructs.xml
  10. 183 0
      EQ2/devtools/PacketParser/Readme.txt
  11. 1717 0
      EQ2/devtools/PacketParser/old_files/ItemStructs.xml
  12. 2208 0
      EQ2/devtools/PacketParser/old_files/ItemStructs_Parser.xml
  13. 571 0
      EQ2/devtools/PacketParser/old_files/MerchantItemStructs.xml
  14. 3434 0
      EQ2/devtools/PacketParser/old_files/ParserStructs.xml
  15. 8 0
      EQ2/devtools/PacketParser/old_files/WS_Updates.xml
  16. 3546 0
      EQ2/devtools/PacketParser/old_files/WorldStructs.xml
  17. 4073 0
      EQ2/devtools/PacketParser/old_files/WorldStructsDev.xml
  18. 10 0
      EQ2/devtools/PacketParser/parse all.bat
  19. 5 0
      EQ2/devtools/PacketParser/parser_db.ini
  20. 20 0
      EQ2/devtools/PacketParser/sql_updates/AchievementUpdates SQL.txt
  21. 1 0
      EQ2/devtools/PacketParser/sql_updates/Conversation Fix.sql
  22. 69 0
      EQ2/devtools/PacketParser/sql_updates/EQ2ParserDB SQL Updates_v0.1.1.txt
  23. 11 0
      EQ2/devtools/PacketParser/sql_updates/Item Updates.sql
  24. 24 0
      EQ2/devtools/PacketParser/sql_updates/MerchantItems.sql
  25. 39 0
      EQ2/devtools/PacketParser/sql_updates/Misc item unknown updates.sql
  26. 49 0
      EQ2/devtools/PacketParser/sql_updates/New Insert Queries.txt
  27. 85 0
      EQ2/devtools/PacketParser/sql_updates/Parser DB Updates.sql
  28. 102 0
      EQ2/devtools/PacketParser/sql_updates/Parser Item and Quest DB Changes.sql
  29. 28 0
      EQ2/devtools/PacketParser/sql_updates/Pattern Item Type update.sql
  30. 2 0
      EQ2/devtools/PacketParser/sql_updates/Quest Updates 2009-May-07.sql
  31. 29 0
      EQ2/devtools/PacketParser/sql_updates/RawDialogs.sql
  32. 32 0
      EQ2/devtools/PacketParser/sql_updates/Skill and Bauble Items update.sql
  33. 2 0
      EQ2/devtools/PacketParser/sql_updates/SpawnFix.sql
  34. 24 0
      EQ2/devtools/PacketParser/sql_updates/TSO Parser Queries.sql
  35. 40 0
      EQ2/devtools/PacketParser/sql_updates/eq2_achievements.sql
  36. 38 0
      EQ2/devtools/PacketParser/sql_updates/eq2_books.sql
  37. 82 0
      EQ2/devtools/PacketParser/sql_updates/eq2_rawdata_aa_tables.sql
  38. 94 0
      EQ2/devtools/PacketParser/sql_updates/parser_db_20070725.sql
  39. 28 0
      EQ2/devtools/PacketParser/sql_updates/parser_db_20130102.sql
  40. 56 0
      EQ2/devtools/PacketParser/sql_updates/parser_db_20130110.sql
  41. 5 0
      EQ2/devtools/PacketParser/sql_updates/parser_db_changes.sql
  42. 64 0
      EQ2/devtools/PacketParser/sql_updates/parser_stats.sql
  43. 8 0
      EQ2/devtools/PacketParser/sql_updates/raw db updates.sql
  44. 39 0
      EQ2/devtools/PacketParser/sql_updates/raw_achievements_fixes.sql
  45. 1 0
      EQ2/devtools/PacketParser/sql_updates/raw_achievements_versions.sql
  46. 44 0
      EQ2/devtools/PacketParser/sql_updates/raw_adventure_list.sql
  47. 80 0
      EQ2/devtools/PacketParser/sql_updates/raw_arenas.sql
  48. 49 0
      EQ2/devtools/PacketParser/sql_updates/raw_collections.sql
  49. 23 0
      EQ2/devtools/PacketParser/sql_updates/raw_collections1.sql
  50. 14 0
      EQ2/devtools/PacketParser/sql_updates/raw_commands.sql
  51. 23 0
      EQ2/devtools/PacketParser/sql_updates/raw_factions.sql
  52. 15 0
      EQ2/devtools/PacketParser/sql_updates/raw_factions1.sql
  53. 3 0
      EQ2/devtools/PacketParser/sql_updates/raw_item_appearances.sql
  54. 16 0
      EQ2/devtools/PacketParser/sql_updates/raw_item_details_armorset.sql
  55. 39 0
      EQ2/devtools/PacketParser/sql_updates/raw_item_details_book.sql
  56. 12 0
      EQ2/devtools/PacketParser/sql_updates/raw_item_details_house_update.sql
  57. 16 0
      EQ2/devtools/PacketParser/sql_updates/raw_item_details_itemset.sql
  58. 16 0
      EQ2/devtools/PacketParser/sql_updates/raw_item_details_pattern.sql
  59. 1 0
      EQ2/devtools/PacketParser/sql_updates/raw_item_effects-fix.sql
  60. 56 0
      EQ2/devtools/PacketParser/sql_updates/raw_item_itemsets.sql
  61. 3 0
      EQ2/devtools/PacketParser/sql_updates/raw_items-fix.sql
  62. 22 0
      EQ2/devtools/PacketParser/sql_updates/raw_map_data.sql
  63. 58 0
      EQ2/devtools/PacketParser/sql_updates/raw_merchants.sql
  64. 21 0
      EQ2/devtools/PacketParser/sql_updates/raw_mercs_pets.sql
  65. 11 0
      EQ2/devtools/PacketParser/sql_updates/raw_poi_locations.sql
  66. 2 0
      EQ2/devtools/PacketParser/sql_updates/raw_spawn_appearance_equip.sql
  67. 1 0
      EQ2/devtools/PacketParser/sql_updates/raw_spawn_info_popID.sql
  68. 6 0
      EQ2/devtools/PacketParser/sql_updates/raw_spawn_info_updates.sql
  69. 1 0
      EQ2/devtools/PacketParser/sql_updates/raw_spawns_20090726.sql
  70. 15 0
      EQ2/devtools/PacketParser/sql_updates/raw_spell_visuals.sql
  71. 4 0
      EQ2/devtools/PacketParser/sql_updates/raw_spell_visuals_fix.sql
  72. 60 0
      EQ2/devtools/PacketParser/sql_updates/raw_spells, raw_items and raw_collections update.sql
  73. 71 0
      EQ2/devtools/PacketParser/sql_updates/raw_spells.sql
  74. 5 0
      EQ2/devtools/PacketParser/sql_updates/raw_spells2.sql
  75. 5 0
      EQ2/devtools/PacketParser/sql_updates/raw_spells3.sql
  76. 4 0
      EQ2/devtools/PacketParser/sql_updates/raw_spells4.sql
  77. 40 0
      EQ2/devtools/PacketParser/sql_updates/raw_spells5.sql
  78. 18 0
      EQ2/devtools/PacketParser/sql_updates/raw_spells_aa.sql
  79. 10 0
      EQ2/devtools/PacketParser/sql_updates/raw_titles.sql
  80. 1 0
      EQ2/devtools/PacketParser/sql_updates/raw_traditions.sql
  81. 114 0
      EQ2/distrib/DISTRIB.bat
  82. 4 0
      EQ2/distrib/readme.txt
  83. 674 0
      EQ2/docs/COPYING.txt
  84. 1862 0
      EQ2/docs/ChangeLog.txt
  85. BIN
      EQ2/docs/Client_Versions.xlsx
  86. 14 0
      EQ2/docs/Notes about World.sln.txt
  87. 474 0
      EQ2/docs/Opcodes_List_2005.txt
  88. 18 0
      EQ2/docs/ToDo.txt
  89. 89 0
      EQ2/docs/bonus table.html
  90. 73 0
      EQ2/docs/charactersheet_struct.txt
  91. 10792 0
      EQ2/docs/opcodes.sql
  92. 175 0
      EQ2/docs/pull type chance.html
  93. 174 0
      EQ2/source/LUA/include/lauxlib.h
  94. 388 0
      EQ2/source/LUA/include/lua.h
  95. 9 0
      EQ2/source/LUA/include/lua.hpp
  96. 763 0
      EQ2/source/LUA/include/luaconf.h
  97. 53 0
      EQ2/source/LUA/include/lualib.h
  98. 1298 0
      EQ2/source/LUA/lapi.c
  99. 24 0
      EQ2/source/LUA/lapi.h
  100. 1043 0
      EQ2/source/LUA/lauxlib.c

File diff suppressed because it is too large
+ 73 - 0
DB/currentlsdb.sql


BIN
DB/world_db.zip


+ 36 - 0
EQ2/configs/LoginServer.ini

@@ -0,0 +1,36 @@
+### --- This file tells world.exe what loginserver to connect to.
+### --- Change the account and password fields to the information you used when you created your SERVER account.
+
+### --- NOTE: the word "Server" is added to each server automaticly.
+
+# READ README.MD
+
+[LoginServer]
+loginserver=eq2emulator.net
+loginport=9100
+worldname=WORLD_NAME_HERE
+worldaddress=EXTERNAL_IP_HERE
+#internalworldaddress=INTERNAL_IP_HERE (If used, otherwise blank)
+worldport=9000
+locked=false
+account=
+password=
+#autotableupdates retrieves the latest table updates and applies them to your database
+#autotableupdates valid options=always, ask, and never
+autotableupdates=always
+#autotableverbose displays detailed information about the updates; options=true or false
+autotableverbose=false
+#autotabledata retrieves the latest data for tables like the opcodes table; options=true or false
+autotabledata=true
+
+[WorldServer]
+Defaultstatus=
+Unavailzone=
+
+[UpdateServer]
+updateserveraddress=updates.eq2emulator.net
+updateserverport=9104
+
+[LoginConfig]
+ServerMode=StandAlone
+ServerPort=9100

+ 347 - 0
EQ2/configs/log_config.xml

@@ -0,0 +1,347 @@
+<EQ2EmuLogConfigs>
+	<Help Text="Details on Log Config here: http://eq2emulator.net/wiki/index.php/Admins:LogSystem" />
+	<!-- SYSTEM Loggers -->
+	<LogConfig Category="WORLD">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="LOGIN">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="PATCHER">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="PARSER">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="INIT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="LOGIN_INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="LOGIN_WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="LOGIN_ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="LOGIN_DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PATCHER_INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="PATCHER_WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="PATCHER_ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="PATCHER_DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+	</LogConfig>
+	<LogConfig Category="DATABASE">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="QUERY" Level="0" Color="Cyan" Enabled="False" Logs="1" />
+		<ConfigType Type="RESULT" Level="0" Color="CyanBold" Enabled="False" Logs="1" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="MUTEX">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="MISC">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+		<ConfigType Type="TODO" Level="0" Color="YellowBold" Enabled="False" Logs="3" />
+	</LogConfig>
+	<!-- NETWORK Loggers -->
+	<LogConfig Category="CCLIENT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="NET">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="OPCODE">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="MagentaBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="PACKET">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<!-- PLAYER Loggers -->
+	<LogConfig Category="PLAYER">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<!-- SUBSYSTEM Loggers -->
+	<LogConfig Category="ACHIEVEMENT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="CHAT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="COLLECTION">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="COMBAT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="COMMAND">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="FACTION">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="GUILD">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="ITEM">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="LOOT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="LUA">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="MERCHANT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="NPC">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="COMBAT" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="SPELLS" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="AI" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="DAMAGE" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="NPC_AI">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="PET">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="COMBAT" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="SPELLS" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="AI" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="DAMAGE" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="QUEST">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="REWARD" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="STEP" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="RULESYS">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="SKILL">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="SPELL">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="TRADESKILL">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="TRANSPORT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<!-- SPAWN Loggers -->
+	<LogConfig Category="SPAWN">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="OBJECT">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="SIGN">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="WIDGET">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="GROUNDSPAWN">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<!-- ZONE Loggers -->
+	<LogConfig Category="ZONE">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+	<LogConfig Category="INSTANCE">
+		<ConfigType Type="INFO" Level="0" Color="WhiteBold" Enabled="True" Logs="3" />
+		<ConfigType Type="WARNING" Level="0" Color="YellowBold" Enabled="True" Logs="3" />
+		<ConfigType Type="ERROR" Level="0" Color="RedBold" Enabled="True" Logs="3" />
+		<ConfigType Type="DEBUG" Level="0" Color="GreenBold" Enabled="False" Logs="3" />
+		<ConfigType Type="PACKET" Level="0" Color="Yellow" Enabled="False" Logs="3" />
+		<ConfigType Type="TRACE" Level="0" Color="Yellow" Enabled="False" Logs="1" />
+	</LogConfig>
+</EQ2EmuLogConfigs>

+ 11 - 0
EQ2/configs/world_db.ini

@@ -0,0 +1,11 @@
+# READ README.MD!
+
+[Database]
+host=127.0.0.1
+user=root
+password=pass
+database=eq2emu
+
+
+### --- This file tells world.exe what computer mySQL is on. Host should
+### --- be left "localhost" unless mysql is on a differant computer than world.exe.

File diff suppressed because it is too large
+ 43 - 0
EQ2/devtools/PacketParser/Parser DB.sql


+ 2061 - 0
EQ2/devtools/PacketParser/ParserStructs/ItemStructs.xml

@@ -0,0 +1,2061 @@
+<EQ2Emulator>
+<Struct Name="Substruct_Item" ClientVersion="1" >
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="bag_id" Type="int32" Size="1" />
+<Data ElementName="inv_slot_id" Type="int32" Size="1" />
+<Data ElementName="menu_type" Type="int32" Size="1" />
+<Data ElementName="index" Type="int16" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="slot_id" Type="int8" Size="1" />
+<Data ElementName="count" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="name" Type="char" Size="64" />
+<Data ElementName="unknown6" Type="int8" Size="17" />
+</Struct>
+<Struct Name="WS_UpdateInventory" ClientVersion="1" OpcodeName="OP_UpdateInventoryMsg" >
+<Data ElementName="item_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="item_count">
+	<Data ElementName="items" Substruct="Substruct_Item" Size="1" />
+</Data>
+<Data ElementName="equip_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_Item" ClientVersion="893" >
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="bag_id" Type="int32" Size="1" />
+<Data ElementName="inv_slot_id" Type="int32" Size="1" />
+<Data ElementName="menu_type" Type="int32" Size="1" />
+<Data ElementName="unknown3b" Type="int32" Size="1" />
+<Data ElementName="index" Type="int16" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="slot_id" Type="int8" Size="1" />
+<Data ElementName="count" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="name" Type="char" Size="64" />
+<Data ElementName="unknown6" Type="int8" Size="17" />
+</Struct>
+<Struct Name="WS_UpdateInventory" ClientVersion="893" OpcodeName="OP_UpdateInventoryMsg" >
+<Data ElementName="item_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="item_count">
+	<Data ElementName="items" Substruct="Substruct_Item" Size="1" />
+</Data>
+<Data ElementName="equip_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="1" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="stack_size" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="860" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="stack_size" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="893" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="927" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer_unknown4" Type="int8" Size="1" />
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="1027" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3a" Type="int32" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" Type2="float" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer_unknown4" Type="int8" Size="1" />
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1" IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="num_adornments" Type="int16" Size="1" />
+<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="num_adornments">
+  <Data ElementName="adornment_item_id" Type="int32" Size="1" />
+  <Data ElementName="adornment_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="1" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="broker_item_id" Type="int64" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="860" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="broker_item_id" Type="int64" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="1027" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="broker_item_id" Type="int64" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" Type2="float" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown_stat_count" Type="int8" />
+<Data ElementName="unknown_stat_array" Type="Array" ArraySizeVariable="unknown_stat_count">
+	<Data ElementName="unknown_stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="1" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="860" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="1027" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+  <Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+  <Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+  <Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" Type2="float" />
+  <Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+  <Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+  <Data ElementName="adornment_flag" Type="int8" Size="1" />
+  <Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+    <Data ElementName="adornment_unknown" Type="int8" Size="1" />
+  </Data>
+  <Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+  <Data ElementName="adventure_class" Type="int8" Size="1" />
+  <Data ElementName="tradeskill_class" Type="int8" Size="1" />
+  <Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+  <Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="893" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="1027" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestItemRewards" ClientVersion="1" >
+<Data ElementName="reward_id" Type="sint32" Size="1" />
+<Data ElementName="header" SubStruct="Substruct_QuestItemDescription" Size="1" />
+</Struct>
+<Struct Name="WS_QuestItemRewards" ClientVersion="860" >
+<Data ElementName="reward_id" Type="sint32" Size="1" />
+<Data ElementName="header" SubStruct="Substruct_QuestItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="893" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high1" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_low2" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high2" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_low3" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high3" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="delay" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="range_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="range_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="898" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="unknown_piece0" Type="int8" Size="1" />
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="939" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBook" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="language" Type="int8" Size="1" />
+<Data ElementName="author" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="armor_unknown1" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="unknown_piece0" Type="int8" Size="1" />
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBook" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="language" Type="int8" Size="1" />
+<Data ElementName="author" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="unknown_piece0" Type="int8" Size="1" />
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="942" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBook" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="language" Type="int8" Size="1" />
+<Data ElementName="author" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+</EQ2Emulator>

+ 1258 - 0
EQ2/devtools/PacketParser/ParserStructs/SpawnStructs.xml

@@ -0,0 +1,1258 @@
+<EQ2Emulator>
+<Struct Name="WS_SpawnStruct_Header" ClientVersion="1">
+<Data ElementName="index" Type="int16" Size="1" OversizedValue="255" />
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="crc" Type="int32" Size="1" />
+<Data ElementName="command_list" Type="int8" Size="1" />
+<Data ElementName="command_list_array" Type="Array" ArraySizeVariable="command_list">
+	<Data ElementName="command_list_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="command_list_max_distance" Type="float" Size="1" />
+	<Data ElementName="command_list_error" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="command_list_command" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="default_command" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="max_distance" Type="float" Size="1" />
+<Data ElementName="group_size" Type="int8" Size="1" />
+<Data ElementName="group_array" Type="Array" ArraySizeVariable="group_size">
+	<Data ElementName="group_spawn_id" Type="int32" />
+</Data>
+<Data ElementName="time_stamp" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnPositionStruct" ClientVersion="1" >
+<Data ElementName="pos_grid_id" Type="int32" Size="1" />
+<Data ElementName="pos_x" Type="float" Size="1" />
+<Data ElementName="pos_y" Type="float" Size="1" />
+<Data ElementName="pos_z" Type="float" Size="1" />
+<Data ElementName="pos_unknown" Type="sint16" Size="3" />
+<Data ElementName="pos_heading1" Type="sint16" Size="1" />
+<Data ElementName="pos_heading2" Type="sint16" Size="1" />
+<Data ElementName="pos_speed" Type="int16" Size="1" />
+<Data ElementName="pos_state" Type="int16" Size="1" />
+<Data ElementName="pos_unknown2" Type="int8" Size="4" />
+<Data ElementName="pos_unknown3a" Type="int8" Size="2" />
+<Data ElementName="pos_movement_mode" Type="int8" Size="1" />
+<Data ElementName="pos_unknown3b" Type="int8" Size="1" />
+<Data ElementName="pos_next_x" Type="float" Size="1" />
+<Data ElementName="pos_next_y" Type="float" Size="1" />
+<Data ElementName="pos_next_z" Type="float" Size="1" />
+<Data ElementName="pos_x3" Type="float" Size="1" />
+<Data ElementName="pos_y3" Type="float" Size="1" />
+<Data ElementName="pos_z3" Type="float" Size="1" />
+<Data ElementName="pos_unknown4" Type="int16" Size="2" />
+<Data ElementName="pos_move_type" Type="int16" Size="1" />
+<Data ElementName="pos_unknown6" Type="int16" Size="8" />
+<Data ElementName="pos_collision_radius" Type="int16" Size="1" />
+<Data ElementName="pos_size" Type="int16" Size="1" />
+<Data ElementName="pos_size_multiplier" Type="int16" Size="1" />
+<Data ElementName="pos_unknown10" Type="int16" Size="6" />
+</Struct>
+<Struct Name="Substruct_SpawnPositionStruct" ClientVersion="927" >
+<Data ElementName="pos_grid_id" Type="int32" Size="1" />
+<Data ElementName="pos_x" Type="float" Size="1" />
+<Data ElementName="pos_y" Type="float" Size="1" />
+<Data ElementName="pos_z" Type="float" Size="1" />
+<Data ElementName="pos_unknown" Type="sint16" Size="3" />
+<Data ElementName="pos_heading1" Type="sint16" Size="1" />
+<Data ElementName="pos_heading2" Type="sint16" Size="1" />
+<Data ElementName="pos_speed" Type="int16" Size="1" />
+<Data ElementName="pos_state" Type="int16" Size="1" />
+<Data ElementName="pos_unknown2" Type="int8" Size="4" />
+<Data ElementName="pos_unknown3a" Type="int8" Size="2" />
+<Data ElementName="pos_movement_mode" Type="int8" Size="1" />
+<Data ElementName="pos_unknown3b" Type="int8" Size="1" />
+<Data ElementName="pos_next_x" Type="float" Size="1" />
+<Data ElementName="pos_next_y" Type="float" Size="1" />
+<Data ElementName="pos_next_z" Type="float" Size="1" />
+<Data ElementName="pos_x3" Type="float" Size="1" />
+<Data ElementName="pos_y3" Type="float" Size="1" />
+<Data ElementName="pos_z3" Type="float" Size="1" />
+<Data ElementName="pos_unknown4" Type="int16" Size="2" />
+<Data ElementName="pos_move_type" Type="int16" Size="1" />
+<Data ElementName="pos_unknown6" Type="int16" Size="8" />
+<Data ElementName="pos_collision_radius" Type="int16" Size="1" />
+<Data ElementName="pos_size" Type="int16" Size="1" />
+<Data ElementName="pos_size_ratio" Type="float" Size="1" />
+<Data ElementName="pos_size_multiplier_ratio" Type="float" Size="1" />
+<Data ElementName="pos_unknown10" Type="int16" Size="5" />
+</Struct>
+<Struct Name="Substruct_SpawnPositionStruct" ClientVersion="936" >
+<Data ElementName="pos_grid_id" Type="int32" Size="1" />
+<Data ElementName="pos_x" Type="float" Size="1" />
+<Data ElementName="pos_y" Type="float" Size="1" />
+<Data ElementName="pos_z" Type="float" Size="1" />
+<Data ElementName="pos_unknown" Type="sint16" Size="3" />
+<Data ElementName="pos_heading1" Type="sint16" Size="1" />
+<Data ElementName="pos_heading2" Type="sint16" Size="1" />
+<Data ElementName="pos_speed" Type="int16" Size="1" />
+<Data ElementName="pos_state" Type="int16" Size="1" />
+<Data ElementName="pos_unknown2" Type="int8" Size="6" />
+<Data ElementName="pos_next_x" Type="float" Size="1" />
+<Data ElementName="pos_next_y" Type="float" Size="1" />
+<Data ElementName="pos_next_z" Type="float" Size="1" />
+<Data ElementName="pos_x3" Type="float" Size="1" />
+<Data ElementName="pos_y3" Type="float" Size="1" />
+<Data ElementName="pos_z3" Type="float" Size="1" />
+<Data ElementName="pos_movement_mode" Type="int8" Size="1" />
+<Data ElementName="pos_unknown3b" Type="int8" Size="1" />
+<Data ElementName="pos_unknown4" Type="int16" Size="2" />
+<Data ElementName="pos_move_type" Type="int16" Size="1" />
+<Data ElementName="pos_unknown6" Type="int16" Size="8" />
+<Data ElementName="pos_collision_radius" Type="int16" Size="1" />
+<Data ElementName="pos_size" Type="int16" Size="1" />
+<Data ElementName="pos_size_ratio" Type="float" Size="1" />
+<Data ElementName="pos_size_multiplier_ratio" Type="float" Size="1" />
+<Data ElementName="pos_unknown10" Type="int16" Size="6" />
+</Struct>
+<Struct Name="Substruct_SpawnPositionStruct" ClientVersion="972" >
+<Data ElementName="pos_grid_id" Type="int32" Size="1" />
+<Data ElementName="pos_x" Type="float" Size="1" />
+<Data ElementName="pos_y" Type="float" Size="1" />
+<Data ElementName="pos_z" Type="float" Size="1" />
+<Data ElementName="pos_unknown" Type="sint16" Size="3" />
+<Data ElementName="pos_heading1" Type="sint16" Size="1" />
+<Data ElementName="pos_heading2" Type="sint16" Size="1" />
+<Data ElementName="pos_speed" Type="int16" Size="1" />
+<Data ElementName="pos_state" Type="int16" Size="1" />
+<Data ElementName="pos_unknown2" Type="int8" Size="6" />
+<Data ElementName="pos_next_x" Type="float" Size="1" />
+<Data ElementName="pos_next_y" Type="float" Size="1" />
+<Data ElementName="pos_next_z" Type="float" Size="1" />
+<Data ElementName="pos_x3" Type="float" Size="1" />
+<Data ElementName="pos_y3" Type="float" Size="1" />
+<Data ElementName="pos_z3" Type="float" Size="1" />
+<Data ElementName="pos_movement_mode" Type="int8" Size="1" />
+<Data ElementName="pos_unknown3b" Type="int8" Size="1" />
+<Data ElementName="pos_unknown4" Type="int16" Size="2" />
+<Data ElementName="pos_move_type" Type="int16" Size="1" />
+<Data ElementName="pos_unknown6" Type="int16" Size="8" />
+<Data ElementName="pos_collision_radius" Type="int16" Size="1" />
+<Data ElementName="pos_size" Type="int16" Size="1" />
+<Data ElementName="pos_size_ratio" Type="float" Size="1" />
+<Data ElementName="pos_size_multiplier_ratio" Type="float" Size="1" />
+<Data ElementName="pos_unknown10" Type="int16" Size="6" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="1" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="288" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="6" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="2" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="32" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="860" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="288" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="6" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="2" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="36" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="4" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="864" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="288" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="6" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="936" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="258" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="2" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="945" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="258" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="2" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="954" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="258" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="2" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="955" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="258" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="972" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="258" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="996" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="258" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="unknown_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="3" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="3" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="1008" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="258" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="unknown_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="3" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="3" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="1027" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="power_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="258" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="unknown_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="3" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="3" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="4" />
+<Data ElementName="mount_type" Type="int16" Size="1" />
+<Data ElementName="mount_color" Type="EQ2_Color" />
+<Data ElementName="mount_saddle_color" Type="EQ2_Color" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="combat_voice" Type="int16" Size="1" />
+<Data ElementName="emote_voice" Type="int16" Size="1" />
+<Data ElementName="unknown17" Type="int8" Size="4" />
+<Data ElementName="visual_flag" Type="int8" Size="1" />
+<Data ElementName="interaction_flag" Type="int8" Size="1" />
+<Data ElementName="unknown18" Type="int8" Size="30" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct_Footer" ClientVersion="1">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="2" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="guild" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct_Footer" ClientVersion="882">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="2" />
+<Data ElementName="unknown2" Type="int8" Size="2" />
+<Data ElementName="guild" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_WidgetSpawnStruct_Footer" ClientVersion="1">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown1" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="float" Size="1" />
+<Data ElementName="widget_id" Type="int32" Size="1" />
+<Data ElementName="widget_x" Type="float" Size="1" />
+<Data ElementName="widget_y" Type="float" Size="1" />
+<Data ElementName="widget_z" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_WidgetSpawnStruct_Footer" ClientVersion="882">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown1a" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="float" Size="1" />
+<Data ElementName="unknown3b" Type="int8" Size="1" />
+<Data ElementName="unknown3c" Type="int8" Size="1" />
+<Data ElementName="widget_id" Type="int32" Size="1" />
+<Data ElementName="widget_x" Type="float" Size="1" />
+<Data ElementName="widget_y" Type="float" Size="1" />
+<Data ElementName="widget_z" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_SignWidgetSpawnStruct_Footer" ClientVersion="1">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown1a" Type="float" Size="1" />
+<Data ElementName="unknown1b" Type="float" Size="1" />
+<Data ElementName="unknown1c" Type="float" Size="1" />
+<Data ElementName="widget_id" Type="int32" Size="1" />
+<Data ElementName="widget_x" Type="float" Size="1" />
+<Data ElementName="widget_y" Type="float" Size="1" />
+<Data ElementName="widget_z" Type="float" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="sign_distance" Type="float" Size="1" />
+<Data ElementName="show" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_SignWidgetSpawnStruct_Footer" ClientVersion="882">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown1a" Type="float" Size="1" />
+<Data ElementName="unknown1b" Type="float" Size="1" />
+<Data ElementName="unknown1c" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="widget_id" Type="int32" Size="1" />
+<Data ElementName="widget_x" Type="float" Size="1" />
+<Data ElementName="widget_y" Type="float" Size="1" />
+<Data ElementName="widget_z" Type="float" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="sign_distance" Type="float" Size="1" />
+<Data ElementName="show" Type="int16" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnVisualizationInfoStruct" ClientVersion="1">
+<Data ElementName="arrow_color" Type="int8" Size="1" />
+<Data ElementName="locked_no_loot" Type="int8" Size="1" />
+<Data ElementName="npc_con" Type="sint8" Size="1" />
+<Data ElementName="quest_flag" Type="int8" Size="1" />
+<Data ElementName="vis_flags" Type="int8" Size="1" />
+<Data ElementName="unknownb" Type="int8" Size="4" />
+<Data ElementName="hand_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnVisualizationInfoStruct" ClientVersion="936">
+<Data ElementName="arrow_color" Type="int8" Size="1" />
+<Data ElementName="locked_no_loot" Type="int8" Size="1" />
+<Data ElementName="npc_con" Type="sint8" Size="1" />
+<Data ElementName="quest_flag" Type="int8" Size="1" />
+<Data ElementName="vis_flags" Type="int8" Size="1" />
+<Data ElementName="unknownb" Type="int8" Size="4" />
+<Data ElementName="hand_flag" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+</Struct>
+<Struct Name="Substruct_SpawnVisualizationInfoStruct" ClientVersion="955">
+<Data ElementName="arrow_color" Type="int8" Size="1" />
+<Data ElementName="locked_no_loot" Type="int8" Size="1" />
+<Data ElementName="npc_con" Type="sint8" Size="1" />
+<Data ElementName="quest_flag" Type="int8" Size="1" />
+<Data ElementName="npc_hate" Type="sint8" Size="1" />
+<Data ElementName="vis_flags" Type="int8" Size="1" />
+<Data ElementName="unknownb" Type="int8" Size="4" />
+<Data ElementName="hand_flag" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="5" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="1">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="860">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="864">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="927">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="936">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="954">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="955">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="996">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="1008">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="1027">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+</EQ2Emulator>

+ 5405 - 0
EQ2/devtools/PacketParser/ParserStructs/WorldStructs.xml

@@ -0,0 +1,5405 @@
+<EQ2Emulator>
+<Comment Text="The Emu will get the latest version of the struct that is LESS than or equal to the client's version number.
+This allows multiple struct version to coexist on the same server.  Elements that arent used in the source code are set
+to zero and treated like placeholders." />
+<Struct Name="WS_SkillMap" ClientVersion="1" OpcodeName="OP_PopulateSkillMapsMsg" >
+<Data ElementName="skill_count" Type="int32" /> 
+<Data ElementName="skill_array" Type="Array" ArraySizeVariable="skill_count"> 
+   <Data ElementName="skill_id" Type="int32" /> 
+   <Data ElementName="short_name" Type="EQ2_16Bit_String" /> 
+   <Data ElementName="name" Type="EQ2_16Bit_String" />
+   <Data ElementName="description" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="LoginByNumRequest" ClientVersion="1">
+<Data ElementName="account_id"  Type="int32" />
+<Data ElementName="access_code"  Type="int32" />
+<Data ElementName="unknown"  Type="int32" />
+<Data ElementName="version"  Type="int16" />
+<Data ElementName="unknown2"  Type="int32" Size="5" />
+</Struct>
+<Struct Name="LS_LoginResponse" ClientVersion="1" OpcodeName="OP_LoginReplyMsg">
+<Data ElementName="reply_code" Type="int8" Size="1" />
+<Data ElementName="unknown01" Type="int16" Size="1" />
+<Data ElementName="unknown02" Type="int8" Size="1" />
+<Data ElementName="unknown03" Type="sint32" Size="1" />
+<Data ElementName="unknown04" Type="sint32" Size="1" />
+<Data ElementName="unknown05" Type="sint32" Size="1" />
+<Data ElementName="accountid" Type="int32" Size="1" />
+<Data ElementName="unknown06" Type="int16" Size="1" />
+<Data ElementName="unknown07" Type="int8" Size="1" />
+<Data ElementName="unknown08" Type="int8" Size="1" />
+<Data ElementName="unknown09" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="unknown11" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CommandName" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="514">
+<Data ElementName="unknown01" Type="int32" Size="1" />
+<Data ElementName="unknown02" Type="int32" Size="1" />
+<Data ElementName="unknown03" Type="int32" Size="1" />
+<Data ElementName="character_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown04" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_DisplayText" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDisplayTextCmd">
+<Data ElementName="color" Type="int8" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown02" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_OnScreenMsg" ClientVersion="1" OpcodeName="OP_OnscreenMsgMsg">
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="message_type" Type="EQ2_16Bit_String" />
+<Data ElementName="size" Type="float" Size="1" />
+<Data ElementName="red" Type="int8" Size="1" />
+<Data ElementName="green" Type="int8" Size="1" />
+<Data ElementName="blue" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_LevelChanged" ClientVersion="1" OpcodeName="OP_LevelChangedMsg">
+<Data ElementName="old_level" Type="int16" />
+<Data ElementName="new_level" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_DeathWindow" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqShowDeathWindowCmd"> 
+<Data ElementName="location_count" Type="int16" />
+<Data ElementName="location_array" Type="Array" ArraySizeVariable="location_count"> 
+   <Data ElementName="location_id" Type="int32" />
+   <Data ElementName="unknown2" Type="int8" /> 
+   <Data ElementName="zone_name" Type="EQ2_16Bit_String" /> 
+   <Data ElementName="location_name" Type="EQ2_16Bit_String" />
+   <Data ElementName="choice_text" Type="EQ2_16Bit_String" />
+   <Data ElementName="distance" Type="float" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size = "3" /> 
+</Struct>
+<Struct Name="WS_TeleportWithinZone" ClientVersion="1" OpcodeName="OP_TeleportWithinZoneMsg">
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+</Struct>
+<Struct Name="WS_GameWorldTime" ClientVersion="1" OpcodeName="OP_GameWorldTimeMsg">
+<Data ElementName="year" Type="int16" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="hour" Type="int8" Size="1" />
+<Data ElementName="minute" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unix_time" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_Camp" ClientVersion="1" OpcodeName="OP_CampStartedMsg" >
+<Data ElementName="seconds" Type="int8" Size="1" />
+<Data ElementName="camp_desktop" Type="int8" Size="1" />
+<Data ElementName="camp_char_select" Type="int8" Size="1" />
+<Data ElementName="char_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+</Struct>
+<Struct Name="WS_RequestCamp" ClientVersion="1" OpcodeName="OP_RequestCampMsg">
+<Data ElementName="quit" Type="int8" Size="1" />
+<Data ElementName="camp_desktop" Type="int8" Size="1" />
+<Data ElementName="camp_char_select" Type="int16" Size="1" />
+<Data ElementName="char_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown2" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_SpellGainedMsg" ClientVersion="1" OpcodeName="OP_SpellGainedMsg">
+<Data ElementName="spell_type" Type="int8" Size="1" />
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" />
+<Data ElementName="display_spell_tier" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_SpellGainedMsg" ClientVersion="1011" OpcodeName="OP_SpellGainedMsg">
+<Data ElementName="spell_type" Type="int8" Size="1" />
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="display_spell_tier" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_MacroInit" ClientVersion="1" OpcodeName="OP_MacroInitMsg" > 
+<Data ElementName="macro_count" Type="int32" />
+<Data ElementName="macro_array" Type="Array" ArraySizeVariable="macro_count">
+   <Data ElementName="number" Type="int8" />
+   <Data ElementName="name" Type="EQ2_8Bit_String" />
+   <Data ElementName="macro_details_count" Type="int8" />
+   <Data ElementName="macro_details_array" Type="Array" ArraySizeVariable="macro_details_count">
+      <Data ElementName="command" Type="EQ2_16Bit_String" />
+   </Data>
+   <Data ElementName="icon" Type="int16" Size = "1" /> 
+   <Data ElementName="unknown2" Type="int16" Size = "1" /> 
+   <Data ElementName="unknown3" Type="int32" Size = "1" /> 
+   <Data ElementName="unknown4" Type="int32" Size = "1" /> 
+</Data>
+</Struct>
+<Struct Name="WS_MacroUpdate" ClientVersion="1" OpcodeName="OP_MacroUpdateMsg" > 
+<Data ElementName="number" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" />
+<Data ElementName="macro_count" Type="int8" />
+<Data ElementName="macro_array" Type="Array" ArraySizeVariable="macro_count"> 
+   <Data ElementName="command" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="icon" Type="int16" Size = "1" /> 
+<Data ElementName="unknown2" Type="int16" Size = "1" /> 
+<Data ElementName="unknown3" Type="int32" Size = "1" /> 
+<Data ElementName="unknown4" Type="int32" Size = "1" /> 
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="1" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="942" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="957" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="motd" Type="EQ2_16Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="959" OpcodeName="OP_ZoneInfoMsg" >
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+<Data ElementName="num_news_items" Type="int16" Size="1" />
+<Data ElementName="news_item_array" Type="Array" ArraySizeVariable="num_news_items">
+	<Data ElementName="news_id" Type="int32" Size="1" />
+	<Data ElementName="news" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="Substruct_SpellEffects" ClientVersion="1" >
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown2" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpellEffects" ClientVersion="843" >
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown2" Type="int16" Size="1" />
+</Struct>
+<Struct Name="Substruct_MaintainedEffects" ClientVersion="1">
+<Data ElementName="name" Type="char" Size="60" />
+<Data ElementName="target" Type="int32" Size="1" />
+<Data ElementName="target_type" Type="int8" Size="1" />
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="slot_pos" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_GroupMember" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="hp_current" Type="sint32" Size="1" />
+<Data ElementName="hp_max" Type="sint32" Size="1" />
+<Data ElementName="power_current" Type="sint32" Size="1" />
+<Data ElementName="power_max" Type="sint32" Size="1" />
+<Data ElementName="level_current" Type="int16" Size="1" />
+<Data ElementName="level_max" Type="int16" Size="1" />
+<Data ElementName="name" Type="char" Size="41" />
+<Data ElementName="zone" Type="char" Size="60" />
+<Data ElementName="instance" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="race_id" Type="int8" Size="1" />
+<Data ElementName="class_id" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="1" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="311" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="843" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="312" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="860" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="17" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="314" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="869" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="18" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="319" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="871" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="319" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="877" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="321" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="882" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="322" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="893" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="323" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="898" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="318" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="910" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="8" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="491" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="936" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="31" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="495" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="942" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="31" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="495" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="949" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="496" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="955" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="13" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="153" />
+<Data ElementName="group_members" Substruct="Substruct_GroupMember" Size="5" />
+<Data ElementName="unknown20a" Type="int16" Size="1" />
+<Data ElementName="unknown20b" Type="int32" Size="168" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="972" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="13" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="14" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="156" />
+<Data ElementName="group_members" Substruct="Substruct_GroupMember" Size="5" />
+<Data ElementName="unknown20a" Type="int16" Size="1" />
+<Data ElementName="unknown20b" Type="int32" Size="168" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="996" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="13" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="36" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="14" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="243" />
+<Data ElementName="group_members" Substruct="Substruct_GroupMember" Size="5" />
+<Data ElementName="unknown20a" Type="int16" Size="1" />
+<Data ElementName="unknown20b" Type="int32" Size="168" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="1028" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="exiled" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="13" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="elemental" Type="int16" Size="1" />
+<Data ElementName="noxious" Type="int16" Size="1" />
+<Data ElementName="arcane" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_unknown" Type="int16" Size="3" />
+<Data ElementName="mitigation_percent" Type="int16" Size="1" />
+<Data ElementName="elemental_percent" Type="int16" Size="1" />
+<Data ElementName="noxious_percent" Type="int16" Size="1" />
+<Data ElementName="arcane_percent" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="6" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="36" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="14" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="243" />
+<Data ElementName="group_members" Substruct="Substruct_GroupMember" Size="5" />
+<Data ElementName="unknown20a" Type="int16" Size="1" />
+<Data ElementName="unknown20b" Type="int32" Size="150" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="guild_status" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="1" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_PlayFlavor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearPlayFlavorCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown1" Type="int32" Size="1" />
+<Data ElementName="mp3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="emote" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="key" Type="int32" Size="2" />
+<Data ElementName="unknown5" Type="int8" Size="13" />
+</Struct>
+<Struct Name="WS_PlayVoice" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlayVoiceCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="mp3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="key" Type="int32" Size="2" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_PlaySound" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlaySoundCmd">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_Play3DSound" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlaySound3DCmd">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown1" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_EntityVerbsVerb" ClientVersion="1">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="command" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_Resurrected" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqResurrectedCmd">
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CancelMoveObjectMode" ClientVersion="1" OpcodeName="OP_CancelMoveObjectModeMsg">
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_UpdateTarget" ClientVersion="1" OpcodeName="OP_UpdateTargetMsg">
+<Data ElementName="spawn_index" Type="int16" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ServerUpdateTarget" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateTargetCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SetPOVGhostCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetPOVGhostCmd">
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_DestroyGhostCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDestroyGhostCmd">
+<Data ElementName="spawn_index" Type="int16" OversizedValue="255" />
+<Data ElementName="delete" Type="int8" />
+</Struct>
+<Struct Name="WS_ClientFell" ClientVersion="1" OpcodeName="OP_ClientFellMsg">
+<Data ElementName="height" Type="float" />
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_SetDefaultCommand" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetDefaultVerbCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="command_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="distance" Type="float" />
+</Struct>
+<Struct Name="WS_HearDamage_Header" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="packet_type" Type="int8" />
+<Data ElementName="result_type" Type="int8" />
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+<Data ElementName="unknown" Type="int16" />
+</Struct>
+<Struct Name="WS_HearDamage_Header" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="packet_type" Type="int8" />
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="result_type" Type="int8" />
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+</Struct>
+<Struct Name="WS_HearSimpleDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_HearSiphonSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="siphon_type" Type="int8" />
+<Data ElementName="siphon_subtype" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearMultipleDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="num_dmg" Type="int8" />
+<Data ElementName="dmg_array" Type="Array" ArraySizeVariable="num_dmg">
+	<Data ElementName="damage_type" Type="int8" />
+	<Data ElementName="damage" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_HearSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearRangeDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+</Struct>
+<Struct Name="WS_HearRangeSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearSimpleDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_HearSiphonSpellDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="siphon_type" Type="int8" />
+<Data ElementName="siphon_subtype" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearMultipleDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="num_dmg" Type="int8" />
+<Data ElementName="dmg_array" Type="Array" ArraySizeVariable="num_dmg">
+	<Data ElementName="damage_type" Type="int8" />
+	<Data ElementName="damage" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_HearSpellDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearRangeDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+</Struct>
+<Struct Name="WS_HearRangeSpellDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearDeath" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearDeathCmd">
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="blow_type" Type="int16" />
+</Struct>
+<Struct Name="WS_UpdateSkillBook" ClientVersion="1" OpcodeName="OP_UpdateSkillBookMsg" >
+<Data ElementName="skill_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="skill_array" Type="Array" ArraySizeVariable="skill_count">
+	<Data ElementName="skill_id" Type="int32" />
+	<Data ElementName="type" Type="int32" />
+	<Data ElementName="current_val" Type="int16" />
+	<Data ElementName="base_val" Type="int16" />
+	<Data ElementName="max_val" Type="int16" />
+	<Data ElementName="skill_delta" Type="sint16" />
+	<Data ElementName="skill_delta2" Type="sint16" />
+	<Data ElementName="display_minval" Type="int8" Size="1" />
+	<Data ElementName="display_maxval" Type="int8" Size="1" />
+	<Data ElementName="language_unknown" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_SpellSlotMapping" ClientVersion="1" OpcodeName="OP_KnowledgeWindowSlotMappingMsg" >
+<Data ElementName="spell_count" Type="int16" />
+<Data ElementName="spell_array" Type="Array" ArraySizeVariable="spell_count">
+	<Data ElementName="spell_id" Type="int32" />
+	<Data ElementName="slot_id" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_SkillInfoRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoSpellRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoItemRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoResponse" ClientVersion="1" OpcodeName="OP_SkillInfoResponse" >
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SkillInfoItemResponse" ClientVersion="1" OpcodeName="OP_SkillInfoResponse" >
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SetControlGhost" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetControlGhostCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="speed" Type="float" />
+<Data ElementName="size" Type="float" />
+<Data ElementName="unknown2" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateSpellBook" ClientVersion="1" OpcodeName="OP_UpdateSpellBookMsg" >
+<Data ElementName="spell_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="spell_array" Type="Array" ArraySizeVariable="spell_count">
+	<Data ElementName="spell_id" Type="int32" />
+	<Data ElementName="unique_id" Type="int32" />
+	<Data ElementName="recast_available" Type="int32" Size="1" />
+	<Data ElementName="type" Type="int16" Size="1" />
+	<Data ElementName="recast_time" Type="int16" Size="1" />
+	<Data ElementName="unknown3" Type="int16" />
+	<Data ElementName="icon" Type="sint16" />
+	<Data ElementName="icon_type" Type="int16" />
+	<Data ElementName="icon2" Type="int16" Size="1" />
+	<Data ElementName="charges" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="4" />
+	<Data ElementName="status" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_ExamineInfoHeader" ClientVersion="1" >
+<Data ElementName="show_name" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="show_popup" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineInfoHeader" ClientVersion="860" >
+<Data ElementName="show_name" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="show_popup" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestExamineInfoHeader" ClientVersion="1" >
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestExamineInfoHeader" ClientVersion="860" >
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SpecialSpellInfo" ClientVersion="1">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="uses_remaining" Type="int16" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="damage_remaining" Type="int16" Size = "1" />
+<Data ElementName="unknown14" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpecialSpellInfo" ClientVersion="1008">
+  <Data ElementName="id" Type="int32" />
+  <Data ElementName="icon" Type="int16" Size="1" />
+  <Data ElementName="icontype" Type="int16" Size="1" />
+  <Data ElementName="tier" Type="int8" Size="1" />
+  <Data ElementName="num_effects" Type="int8" />
+  <Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+    <Data ElementName="subbulletflag" Type="int8" Size="1" />
+    <Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+    <Data ElementName="percentage" Type="int8" Size="1" />
+  </Data>
+  <Data ElementName="display_spell_tier" Type="int8" Size="1" />
+  <Data ElementName="uses_remaining" Type="int16" Size="1" />
+  <Data ElementName="unknown" Type="int8" Size="1" />
+  <Data ElementName="damage_remaining" Type="int16" Size="1" />
+  <Data ElementName="unknown2" Type="int8" Size="1" />
+  <Data ElementName="unknown3" Type="int16" Size="1" />
+  <Data ElementName="unknown4" Type="int16" Size="1" />
+  <Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+  <Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_AchievementSpellInfo" ClientVersion="1">
+<Data ElementName="aa_id" Type="int32" /> 
+<Data ElementName="unknown" Type="int16" Size="1" /> 
+<Data ElementName="aa_icon" Type="int16" Size="1" /> 
+<Data ElementName="aa_icon2" Type="int16" Size="1" /> 
+<Data ElementName="current_rank" Type="int8" Size="1" /> 
+<Data ElementName="max_rank" Type="int8" Size="1" /> 
+<Data ElementName="rank_cost" Type="int8" Size="1" /> 
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+	<Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="consumed" Type="int8" Size="1" />
+	<Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_AchievementSpellInfo" ClientVersion="972">
+<Data ElementName="aa_id" Type="int32" /> 
+<Data ElementName="unknown" Type="int16" Size="1" /> 
+<Data ElementName="aa_icon" Type="int16" Size="1" /> 
+<Data ElementName="aa_icon2" Type="int16" Size="1" /> 
+<Data ElementName="current_rank" Type="int8" Size="1" /> 
+<Data ElementName="max_rank" Type="int8" Size="1" /> 
+<Data ElementName="rank_cost" Type="int8" Size="1" /> 
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+	<Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="consumed" Type="int8" Size="1" />
+	<Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="unknown1" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_AchievementSpellInfo" ClientVersion="1027">
+<Data ElementName="aa_id" Type="int32" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="aa_icon" Type="int16" Size="1" />
+<Data ElementName="aa_icon2" Type="int16" Size="1" />
+<Data ElementName="current_rank" Type="int8" Size="1" />
+<Data ElementName="max_rank" Type="int8" Size="1" />
+<Data ElementName="rank_cost" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+  <Data ElementName="adventure_class" Type="int8" Size="1" />
+  <Data ElementName="tradeskill_class" Type="int8" Size="1" />
+  <Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+  <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+  <Data ElementName="consumed" Type="int8" Size="1" />
+  <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+  <Data ElementName="subbulletflag" Type="int8" Size = "1" />
+  <Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+  <Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="unknown1" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="1">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+        <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+        <Data ElementName="consumed" Type="int8" Size="1" />
+        <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="949">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+	<Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="consumed" Type="int8" Size="1" />
+	<Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size="1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="954">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+        <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+        <Data ElementName="consumed" Type="int8" Size="1" />
+        <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="972">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+	<Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="consumed" Type="int8" Size="1" />
+	<Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="unknown1" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="1027">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+  <Data ElementName="adventure_class" Type="int8" Size="1" />
+  <Data ElementName="tradeskill_class" Type="int8" Size="1" />
+  <Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+  <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+  <Data ElementName="consumed" Type="int8" Size="1" />
+  <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+  <Data ElementName="subbulletflag" Type="int8" Size = "1" />
+  <Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+  <Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="unknown1" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineAASpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_AchievementSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineAASpellInfo" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_AchievementSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineAASpellInfo" ClientVersion="1027" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_AchievementSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_MoveObjectMode" ClientVersion="1" OpcodeName="OP_EnterMoveObjectModeMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="placement_mode" Type="int8" />
+<Data ElementName="model_type" Type="int16" />
+<Data ElementName="unknown2" Type="float" />
+<Data ElementName="max_distance" Type="float" />
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveObjectMode" ClientVersion="936" OpcodeName="OP_EnterMoveObjectModeMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="placement_mode" Type="int8" />
+<Data ElementName="model_type" Type="int16" />
+<Data ElementName="unknown" Type="float" />
+<Data ElementName="unknown2" Type="float" Size="4" />
+<Data ElementName="max_distance" Type="float" />
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_PlaceMoveableObject" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="float" />
+<Data ElementName="unknown2" Type="float" />
+<Data ElementName="unknown3" Type="int32" />
+</Struct>
+<Struct Name="WS_ServerControlFlags" ClientVersion="1" OpcodeName="OP_ChangeServerControlFlagMsg" >
+<Data ElementName="parameter1" Type="int8" />
+<Data ElementName="parameter2" Type="int8" />
+<Data ElementName="parameter3" Type="int8" />
+<Data ElementName="parameter4" Type="int8" />
+<Data ElementName="parameter5" Type="int8" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+<Data ElementName="value" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveClient" ClientVersion="1" OpcodeName="OP_TeleportWithinZoneNoReloadMsg" >
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveClient" ClientVersion="869" OpcodeName="OP_TeleportWithinZoneNoReloadMsg" >
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="location" Type="int32" />
+</Struct>
+<Struct Name="WS_ExamineSpellEffectRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoItemRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoRequest" ClientVersion="860" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="2" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoItemLinkRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="3" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_QuickBarUpdateRequest" ClientVersion="1" >
+<Data ElementName="hotbar_number" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="hotkey_slot" Type="int32" />
+<Data ElementName="type" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="unknown4" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int16" Size = "1" />
+</Struct>
+<Struct Name="WS_CannedEmote" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCannedEmoteCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="emote_msg" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="anim_type" Type="int16" />
+<Data ElementName="unknown0" Type="int32" />
+</Struct>
+<Struct Name="WS_HearCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearSpellCastCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_targets" Type="int16" />
+<Data ElementName="target_array" Type="Array" ArraySizeVariable="num_targets">
+     <Data ElementName="target" Type="int32" />
+</Data>
+<Data ElementName="spell_id" Type="int32" />
+<Data ElementName="spell_visual" Type="int32" />
+<Data ElementName="cast_time" Type="float" />
+<Data ElementName="spell_level" Type="int16" />
+<Data ElementName="spell_tier" Type="int8" />
+</Struct>
+<Struct Name="WS_StartCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSpellCastStartCmd">
+<Data ElementName="cast_time" Type="float" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_FinishCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSpellCastEndCmd">
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_QuickBarInit" ClientVersion="1" OpcodeName="OP_QuickbarInitMsg" >
+<Data ElementName="num_abilities" Type="int32" />
+<Data ElementName="ability_array" Type="Array" ArraySizeVariable="num_abilities">
+	<Data ElementName="hotbar" Type="int32" Size="1" />
+	<Data ElementName="unknown" Type="int32" Size="1" />
+	<Data ElementName="slot" Type="int32" Size="1" />
+	<Data ElementName="type" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="icon_type" Type="int16" Size="1" />
+	<Data ElementName="unknown2" Type="int32" Size="1" />
+	<Data ElementName="id" Type="int32" Size="1" />
+	<Data ElementName="unique_id" Type="int32" Size="1" />
+	<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown3" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_EntityVerbRequest" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_EntityVerbResponse" ClientVersion="1" OpcodeName="OP_EntityVerbsReplyMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_verbs" Type="int8" />
+<Data ElementName="verbs_array" Type="Array" ArraySizeVariable="num_verbs">
+	<Data ElementName="command" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="distance" Type="float" />
+	<Data ElementName="display_error" Type="int16" />
+	<Data ElementName="error" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="display_text" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_WhoQueryReply" ClientVersion="1" OpcodeName="OP_WhoQueryReplyMsg" >
+<Data ElementName="account_id" Type="int32" />
+<Data ElementName="unknown" Type="int32" />
+<Data ElementName="response" Type="int8" />
+<Data ElementName="num_characters" Type="int8" />
+<Data ElementName="characters_array" Type="Array" ArraySizeVariable="num_characters">
+	<Data ElementName="char_name" Type="char" Size="40" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="admin_level" Type="int8" Size="1" />
+	<Data ElementName="class" Type="int16" Size="1" />
+	<Data ElementName="unknown4" Type="int8" />
+	<Data ElementName="race" Type="int8" Size="1" />
+	<Data ElementName="flags" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="zone" Type="char" Size="77" />
+	<Data ElementName="guild" Type="char" Size="40" />
+	<Data ElementName="unknown7" Type="int8" />
+	<Data ElementName="unknown8" Type="int8" />
+	<Data ElementName="unknown9" Type="int8" />
+</Data>
+<Data ElementName="unknown10" Type="int8" />
+</Struct>
+
+<Struct Name="WS_HearChat" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearChatCmd" >
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="from_spawn_id" Type="int32" />
+<Data ElementName="to_spawn_id" Type="int32" />
+<Data ElementName="from" Type="EQ2_16Bit_String" />
+<Data ElementName="to" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+<Data ElementName="time" Type="int32" />
+<Data ElementName="channel" Type="int8" />
+<Data ElementName="language" Type="int8" />
+<Data ElementName="message" Type="EQ2_16Bit_String" />
+<Data ElementName="channel_name" Type="EQ2_16Bit_String" />
+<Data ElementName="show_bubble" Type="int8" Size="1" />
+<Data ElementName="understood" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CloseWindow" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCloseWindowCmd" >
+<Data ElementName="window_id" Type="int16" />
+<Data ElementName="index" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateLoot" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateLootCmd" >
+<Data ElementName="loot_count" Type="int16" />
+<Data ElementName="display" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="loot_id" Type="int32" />
+</Struct>
+<Struct Name="WS_UpdateLoot" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateLootCmd" >
+<Data ElementName="loot_count" Type="int16" />
+<Data ElementName="display" Type="int16" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="loot_id" Type="int32" />
+</Struct>
+<Struct Name="WS_LootType" ClientVersion="1" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+</Struct>
+<Struct Name="WS_LootType" ClientVersion="882" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+</Struct>
+<Struct Name="WS_LootItem" ClientVersion="1" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="unknown4" Type="int32" />
+</Struct>
+<Struct Name="WS_LootItem" ClientVersion="882" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="unknown4" Type="int32" />
+</Struct>
+<Struct Name="WS_UpdateBank" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateBankCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="bank_coins" Type="int32" />
+<Data ElementName="bank_coins2" Type="int32" />
+<Data ElementName="copper" Type="int32" />
+<Data ElementName="silver" Type="int32" />
+<Data ElementName="gold" Type="int32" />
+<Data ElementName="plat" Type="int32" />
+<Data ElementName="display" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateBank" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateBankCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="bank_coins" Type="int32" />
+<Data ElementName="bank_coins2" Type="int32" />
+<Data ElementName="shared_bank_coins" Type="int32" />
+<Data ElementName="shared_bank_coins2" Type="int32" />
+<Data ElementName="copper" Type="int32" />
+<Data ElementName="silver" Type="int32" />
+<Data ElementName="gold" Type="int32" />
+<Data ElementName="plat" Type="int32" />
+<Data ElementName="display" Type="int8" />
+</Struct>
+<Struct Name="WS_QuestJournalUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalUpdateCmd" >
+<Data ElementName="num_quests" Type="int16" />
+<Data ElementName="quests_array" Type="Array" ArraySizeVariable="num_quests">
+	<Data ElementName="active" Type="int8" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_type" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown1" Type="int8" Size="1" />
+	<Data ElementName="turned_in" Type="int8" Size="1" />
+	<Data ElementName="repeatable" Type="int8" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="1" />
+	<Data ElementName="completed" Type="int8" Size="1" />
+	<Data ElementName="quest_id" Type="int32" Size="1" />
+	<Data ElementName="day" Type="int8" Size="1" />
+	<Data ElementName="month" Type="int8" Size="1" />
+	<Data ElementName="year" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="encounter_level" Type="int8" Size="1" />
+	<Data ElementName="difficulty" Type="int8" Size="1" />
+	<Data ElementName="visible" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+<Data ElementName="visible_quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="player_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="used_quests" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalUpdate" ClientVersion="931" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalUpdateCmd" >
+<Data ElementName="num_quest_zones" Type="int16" />
+<Data ElementName="quest_zones_array" Type="Array" ArraySizeVariable="num_quest_zones">
+	<Data ElementName="quest_zones_zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_zones_zone_id" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_quests" Type="int16" />
+<Data ElementName="quests_array" Type="Array" ArraySizeVariable="num_quests">
+	<Data ElementName="active" Type="int8" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="zonetype_id" Type="int16" Size="1" />
+	<Data ElementName="zone_id" Type="int16" Size="1" />
+	<Data ElementName="display_status" Type="int8" Size="1" />
+	<Data ElementName="quest_id" Type="int32" Size="1" />
+	<Data ElementName="day" Type="int8" Size="1" />
+	<Data ElementName="month" Type="int8" Size="1" />
+	<Data ElementName="year" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="encounter_level" Type="int8" Size="1" />
+	<Data ElementName="difficulty" Type="int8" Size="1" />
+	<Data ElementName="completed" Type="int8" Size="1" />
+	<Data ElementName="repeatable" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+<Data ElementName="visible_quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="player_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="used_quests" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalUpdate" ClientVersion="1028" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalUpdateCmd" >
+<Data ElementName="num_quest_zones" Type="int16" />
+<Data ElementName="quest_zones_array" Type="Array" ArraySizeVariable="num_quest_zones">
+	<Data ElementName="quest_zones_zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_zones_zone_id" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_quests" Type="int16" />
+<Data ElementName="quests_array" Type="Array" ArraySizeVariable="num_quests">
+	<Data ElementName="active" Type="int8" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="zonetype_id" Type="int16" Size="1" />
+	<Data ElementName="zone_id" Type="int16" Size="1" />
+	<Data ElementName="display_status" Type="int8" Size="1" />
+	<Data ElementName="quest_id" Type="int32" Size="1" />
+	<Data ElementName="day" Type="int8" Size="1" />
+	<Data ElementName="month" Type="int8" Size="1" />
+	<Data ElementName="year" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="encounter_level" Type="int8" Size="1" />
+	<Data ElementName="difficulty" Type="int8" Size="1" />
+	<Data ElementName="completed" Type="int8" Size="1" />
+	<Data ElementName="repeatable" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+<Data ElementName="visible_quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="player_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="used_quests" Type="int16" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_OfferQuest" ClientVersion="1" OpcodeName="OP_OfferQuestMsg" >
+<Data ElementName="unknown0" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="quest_difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="accept_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="decline_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="verify_enabled" Type="int32" Size="1" />
+<Data ElementName="verify_text" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="unknown4b" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_OfferQuest" ClientVersion="860" OpcodeName="OP_OfferQuestMsg" >
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="quest_difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="accept_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="decline_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="verify_enabled" Type="int32" Size="1" />
+<Data ElementName="verify_text" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="unknown4b" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_GlowPath" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHelpPathCmd" >
+	<Data ElementName="num_points" Type="int16" />
+	<Data ElementName="points_array" Type="Array" ArraySizeVariable="num_points">
+		<Data ElementName="x" Type="float" Size="1" />
+		<Data ElementName="y" Type="float" Size="1" />
+		<Data ElementName="z" Type="float" Size="1" />
+	</Data>
+	<Data ElementName="waypoint_x" Type="float" Size="1" />
+	<Data ElementName="waypoint_y" Type="float" Size="1" />
+	<Data ElementName="waypoint_z" Type="float" Size="1" />
+	<Data ElementName="waypoint_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_WaypointUpdate" ClientVersion="1" OpcodeName="OP_WaypointUpdateMsg">
+	<Data ElementName="num_updates" Type="int32" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="waypoint_name" Type="EQ2_16Bit_string" />
+		<Data ElementName="waypoint_category" Type="int8" />
+		<Data ElementName="spawn_id" Type="int32" />
+		<Data ElementName="waypoint_category2" Type="int8" />
+		<Data ElementName="spawn_id2" Type="int32" />
+	</Data>
+</Struct>
+<Struct Name="WS_WaypointSelect" ClientVersion="1" OpcodeName="OP_WaypointSelectMsg">
+	<Data ElementName="num_selections" Type="int32" />
+	<Data ElementName="selection_array" Type="Array" ArraySizeVariable="num_selections">
+		<Data ElementName="waypoint_name" Type="EQ2_16Bit_string" />
+		<Data ElementName="waypoint_category" Type="int8" />
+		<Data ElementName="entry_id" Type="int32" />
+	</Data>
+	<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="8" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="unknown8b" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="5" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="996" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="9" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="1028" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="9" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="display_quest_helper" Type="int8" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_QuestJournalReply_PARSER_ONLY" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="8" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="unknown8b" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalReply_PARSER_ONLY" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="5" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="8" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="839" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="6" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="1" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="unknown4" Type="int8" Size="1" />
+	</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="6" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="1" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="unknown4" Type="int8" Size="1" />
+		<Data ElementName="item_id" Type="sint32" Size="1" />
+		<Data ElementName="item_crc" Type="sint32" Size="1" />
+		</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestComplete" ClientVersion="1" OpcodeName="OP_QuestReward" >
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestFactionRewards" ClientVersion="1" >
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_DialogOpen" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDialogOpenCmd" >
+<Data ElementName="conversation_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="num_responses" Type="int16" />
+<Data ElementName="response_array" Type="Array" ArraySizeVariable="num_responses">
+	<Data ElementName="response" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="voice" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="key1" Type="int32" Size="1" />
+<Data ElementName="key2" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_DialogSelect" ClientVersion="1" >
+<Data ElementName="conversation_id" Type="int32" />
+<Data ElementName="response" Type="int32" />
+</Struct>
+<Struct Name="WS_ServerDialogClose" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDialogCloseCmd" >
+<Data ElementName="conversation_id" Type="int32" />
+</Struct>
+<Struct Name="WS_FactionUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqFactionUpdateCmd" >
+<Data ElementName="num_factions" Type="int16" />
+<Data ElementName="response_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_id" Type="int32" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown" Type="EQ2_16Bit_String" />
+	<Data ElementName="con" Type="sint8" />
+	<Data ElementName="percentage" Type="int8" />
+	<Data ElementName="unknown2" Type="int8" />
+	<Data ElementName="value" Type="sint32" />
+</Data>
+<Data ElementName="unknown3" Type="int8" />
+</Struct>
+<Struct Name="WS_Interrupt" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearSpellInterruptCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_targets" Type="int16" />
+<Data ElementName="target_array" Type="Array" ArraySizeVariable="num_targets">
+	<Data ElementName="target_id" Type="int32" />
+</Data>
+<Data ElementName="spell_id" Type="int32" />
+</Struct>
+<Struct Name="WS_DisplaySpellFailed" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDisplaySpellFailCmd" >
+<Data ElementName="error_code" Type="int16" />
+</Struct>
+<Struct Name="WS_FogInit" ClientVersion="942" OpcodeName="OP_MapFogDataInitMsg" >
+<Data ElementName="unknown1" Type="int8" />
+<Data ElementName="map_id" Type="int32" />
+<Data ElementName="lowest_z" Type="float" />
+<Data ElementName="highest_z" Type="float" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="num_fog_locations" Type="int8" />
+<Data ElementName="locations_array" Type="Array" ArraySizeVariable="num_fog_locations">
+	<Data ElementName="fog_location_unknown1" Type="int32" />
+	<Data ElementName="fog_location_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="fog_location_bounds1_x" Type="float" />
+	<Data ElementName="fog_location_bounds1_z" Type="float" />
+	<Data ElementName="fog_location_bounds2_x" Type="float" />
+	<Data ElementName="fog_location_bounds2_z" Type="float" />
+	<Data ElementName="fog_unknown4" Type="int16" />
+	<Data ElementName="fog_compressed_size" Type="int16" Size = "1" OversizedValue="255" OversizedByte="255" />
+	<Data ElementName="fog_compressed_data_array" Type="Array" ArraySizeVariable="fog_compressed_size">
+		<Data ElementName="fog_compressed_data" Type="int8" />
+	</Data>
+</Data>
+<Data ElementName="unknown5" Type="int8" />
+<Data ElementName="num_fog2_locations" Type="int8" />
+<Data ElementName="locations2_array" Type="Array" ArraySizeVariable="num_fog2_locations">
+	<Data ElementName="fog2_location_unknown1" Type="int32" />
+	<Data ElementName="fog2_location_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="fog2_location_bounds1_x" Type="float" />
+	<Data ElementName="fog2_location_bounds1_z" Type="float" />
+	<Data ElementName="fog2_location_bounds2_x" Type="float" />
+	<Data ElementName="fog2_location_bounds2_z" Type="float" />
+	<Data ElementName="fog2_unknown4" Type="int16" />
+	<Data ElementName="fog2_compressed_size" Type="int16" Size = "1" OversizedValue="255" OversizedByte="255" />
+	<Data ElementName="fog2_compressed_data_array" Type="Array" ArraySizeVariable="fog2_compressed_size">
+		<Data ElementName="fog2_compressed_data" Type="int8" />
+	</Data>
+</Data>
+<Data ElementName="num_maps" Type="int8" />
+<Data ElementName="map_array" Type="Array" ArraySizeVariable="num_maps">
+	<Data ElementName="zone_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="explored_map_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unexplored_map_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown6" Type="int8" Size="8" />
+	<Data ElementName="unknown7" Type="int32" />
+	<Data ElementName="unknown8" Type="int32" />
+	<Data ElementName="map_bounds1_x" Type="float" />
+	<Data ElementName="map_bounds1_z" Type="float" />
+	<Data ElementName="map_bounds2_x" Type="float" />
+	<Data ElementName="map_bounds2_z" Type="float" />
+	<Data ElementName="map_bounds3_x" Type="float" />
+	<Data ElementName="map_bounds3_z" Type="float" />
+	<Data ElementName="map_bounds4_x" Type="float" />
+	<Data ElementName="map_bounds4_z" Type="float" />
+	<Data ElementName="unknown9" Type="int8" Size="9" />
+	<Data ElementName="explored_key" Type="int64" Size="1" />
+	<Data ElementName="unexplored_key" Type="int64" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_SetRemoteCmdsMsg" ClientVersion="1" >
+<Data ElementName="num_commands" Type="int16" />
+<Data ElementName="commands_array" Type="Array" ArraySizeVariable="num_commands">
+	<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_RemoteCmdMsg" ClientVersion="1" OpcodeName="OP_RemoteCmdMsg" >
+<Data ElementName="command_handler" Type="int16" />
+<Data ElementName="arguments" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_UpdateMerchant" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateMerchantCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_items" Type="int16" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="price" Type="int64" />
+	<Data ElementName="item_id" Type="sint32" />
+	<Data ElementName="unknown2" Type="int32" />
+	<Data ElementName="stack_size" Type="int16" />
+	<Data ElementName="icon" Type="int16" />
+	<Data ElementName="item_difficulty" Type="int8" />
+	<Data ElementName="level" Type="int8" />
+	<Data ElementName="unknown4" Type="int8" />
+	<Data ElementName="quantity" Type="int8" />
+	<Data ElementName="unknown5" Type="int8" />
+	<Data ElementName="tier" Type="int8" />
+	<Data ElementName="unknown6" Type="int32" />
+	<Data ElementName="item_id2" Type="sint32" />
+	<Data ElementName="stack_size2" Type="int16" />
+	<Data ElementName="unknown7" Type="int8" Size="5" />
+	<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="type" Type="int32" />
+</Struct>
+<Struct Name="WS_TeleportList" ClientVersion="1" OpcodeName="OP_ShowZoneTeleporterDestinations">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_destinations" Type="int32" />
+<Data ElementName="destination_array" Type="Array" ArraySizeVariable="num_destinations">
+	<Data ElementName="unique_id" Type="int32" />
+	<Data ElementName="display_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="zone_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="cost" Type="int32" />
+</Data>
+</Struct>
+<Struct Name="WS_TeleportDestination" ClientVersion="1">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="zone_name" Type="EQ2_16Bit_String" />
+<Data ElementName="cost" Type="int32" />
+</Struct>
+<Struct Name="WS_MapRequest" ClientVersion="1">
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_DressingRoom" ClientVersion="1" OpcodeName="OP_DressingRoom" >
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="slot" Type="int32" />
+<Data ElementName="appearance_id" Type="int16" />
+<Data ElementName="rgb" Type="float" Size="3" />
+<Data ElementName="highlight_rgb" Type="float" Size="3" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="icon" Type="int16" />
+<Data ElementName="item_id" Type="sint32" />
+<Data ElementName="item_crc" Type="int32" />
+<Data ElementName="unknown4" Type="int32" />
+<Data ElementName="unknown5" Type="int8" Size="10" />
+</Struct>
+<Struct Name="WS_StateCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqStateCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="state" Type="int32" />
+</Struct>
+<Struct Name="WS_EnterCombat" ClientVersion="1" OpcodeName="OP_AttackAllowed">
+<Data ElementName="response" Type="int8" />
+</Struct>
+<Struct Name="WS_StartBroker" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqStartBrokerCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="unknown" Type="int32" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+</Struct>
+<Struct Name="WS_BrokerBags" ClientVersion="1" OpcodeName="OP_ChatToggleFriendMsg" >
+<Data ElementName="char_id" Type="int32" />
+<Data ElementName="num_bags" Type="int8" />
+</Struct>
+<Struct Name="WS_BrokerItems" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqConsignmentItemsCmd" >
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="num_items" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_seller_id" Type="int64" Size="1" />
+	<Data ElementName="item_id" Type="int64" Size="1" />
+	<Data ElementName="item_id3" Type="int32" Size="1" />
+	<Data ElementName="quantity" Type="int32" Size="1" />
+	<Data ElementName="stack_size" Type="int16" Size="1" />
+	<Data ElementName="sell_price" Type="int64" Size="1" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="unknown4" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown7" Type="int16" Size="1" />
+	<Data ElementName="unknown8" Type="int32" Size="1" />
+	<Data ElementName="unknown9" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_sellers" Type="int32" />
+<Data ElementName="seller_array" Type="Array" ArraySizeVariable="num_sellers">
+	<Data ElementName="seller_seller_id" Type="int64" Size="1" />
+	<Data ElementName="seller_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="house_id" Type="int32" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+	<Data ElementName="unknown11" Type="int16" Size="1" />
+	<Data ElementName="unknown12" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_homes" Type="int32" Size="1" />
+<Data ElementName="home_array" Type="Array" ArraySizeVariable="num_homes">
+	<Data ElementName="home_id" Type="int32" Size="1" />
+	<Data ElementName="home_label" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="home_zone" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="num_pages" Type="int32" Size="1" />
+<Data ElementName="per_page" Type="int32" Size="1" />
+<Data ElementName="page" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_BrokerItems" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqConsignmentItemsCmd" >
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="num_items" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_seller_id" Type="int64" Size="1" />
+	<Data ElementName="item_id" Type="int64" Size="1" />
+	<Data ElementName="item_id3" Type="int32" Size="1" />
+	<Data ElementName="quantity" Type="int32" Size="1" />
+	<Data ElementName="stack_size" Type="int16" Size="1" />
+	<Data ElementName="sell_price" Type="int64" Size="1" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="unknown4" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown7" Type="int16" Size="1" />
+  <Data ElementName="req_level" Type="int16" Size="1" />
+	<Data ElementName="unknown8" Type="int16" Size="1" />
+	<Data ElementName="unknown9" Type="int32" Size="1" />
+	<Data ElementName="unknown13" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_sellers" Type="int32" />
+<Data ElementName="seller_array" Type="Array" ArraySizeVariable="num_sellers">
+	<Data ElementName="seller_seller_id" Type="int64" Size="1" />
+	<Data ElementName="seller_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="house_id" Type="int32" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+	<Data ElementName="unknown11" Type="int16" Size="1" />
+	<Data ElementName="unknown12" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_homes" Type="int32" Size="1" />
+<Data ElementName="home_array" Type="Array" ArraySizeVariable="num_homes">
+	<Data ElementName="home_id" Type="int32" Size="1" />
+	<Data ElementName="home_label" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="home_zone" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="num_pages" Type="int32" Size="1" />
+<Data ElementName="per_page" Type="int32" Size="1" />
+<Data ElementName="page" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_EqShowBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqShowBookCmd" >
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="book_title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="book_type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+<Data ElementName="unknown4" Type="int32" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="num_pages" Type="int8" Size="1" />
+<Data ElementName="page_array" Type="Array" ArraySizeVariable="num_pages">
+  <Data ElementName="page_text" Type="EQ2_16Bit_String" Size="1" />
+  <Data ElementName="page_text_valign" Type="int8" Size="1" />
+  <Data ElementName="page_text_halign" Type="int8" Size="1" />
+  <Data ElementName="num_images" Type="int8" Size="1" />
+  <Data ElementName="image_array" Type="Array" ArraySizeVariable="num_images">
+    <Data ElementName="image_file" Type="EQ2_16Bit_String" Size="1" />
+    <Data ElementName="unknown6" Type="int8" Size="1" />
+    <Data ElementName="image_id" Type="int8" Size="1" />
+    <Data ElementName="unknown7" Type="int8" Size="12" />
+  </Data>
+</Data>
+</Struct>
+<Struct Name="WS_ReceiveOffer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqReceiveOfferCmd">
+<Data ElementName="type" Type="int8" />
+<Data ElementName="name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="guild_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_ChatRelationship" ClientVersion="1" OpcodeName="OP_ChatRelationshipUpdateMsg" >
+<Data ElementName="account_id" Type="int32" />
+<Data ElementName="type" Type="int8" />
+<Data ElementName="num_names" Type="int32" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="location" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown" Type="int16" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_GuildEventList" ClientVersion="1" OpcodeName="OP_GuildEventListMsg">
+<Data ElementName="account_id" Type="int32" Size="1" />
+<Data ElementName="num_events" Type="int16" Size="1" />
+<Data ElementName="events_array" Type="Array" ArraySizeVariable="num_events" >
+	<Data ElementName="event_id" Type="int64" Size="1" />
+</Data>
+<Data ElementName="events_locked_array" Type="Array" ArraySizeVariable="num_events" >
+	<Data ElementName="locked" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_GuildEventDetails" ClientVersion="1" OpcodeName="OP_GuildEventDetailsMsg">
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="num_events" Type="int16" Size="1" />
+<Data ElementName="events_array" Type="Array" ArraySizeVariable="num_events" >
+	<Data ElementName="event_id" Type="int64" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_GuildBankEventList" ClientVersion="1" OpcodeName="OP_GuildBankEventListMsg">
+<Data ElementName="account_id" Type="int32" Size="1" />
+<Data ElementName="bank_number" Type="int8" Size="1" />
+<Data ElementName="num_events" Type="int16" Size="1" />
+<Data ElementName="events_array" Type="Array" ArraySizeVariable="num_events" >
+	<Data ElementName="event_id" Type="int64" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_RequestGuildEventDetails" ClientVersion="1" OpcodeName="OP_RequestGuildEventDetailsMsg">
+<Data ElementName="account_id" Type="int32" Size="1" />
+<Data ElementName="character_id" Type="int32" Size="1" />
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="num_events" Type="int16" Size="1" />
+<Data ElementName="events_array" Type="Array" ArraySizeVariable="num_events" >
+	<Data ElementName="date" Type="int32" Size="1" />
+	<Data ElementName="modified_by" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="comment" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="points" Type="float" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_ModifyGuild" ClientVersion="1" OpcodeName="OP_ModifyGuildMsg">
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="12" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="6" />
+<Data ElementName="points" Type="float" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="8" />
+<Data ElementName="num_character_ids" Type="int16" Size="1" />
+<Data ElementName="character_id_array" Type="Array" ArraySizeVariable="num_character_ids" >
+	<Data ElementName="character_id" Type="int32" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_GuildEventAdd" ClientVersion="1" OpcodeName="OP_GuildEventAddMsg">
+<Data ElementName="account_id" Type="int32" Size="1"/>
+<Data ElementName="event_id" Type="int64" Size="1" />
+<Data ElementName="type" Type="int32" Size="1" />
+<Data ElementName="date" Type="int32" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_GuildEventAction" ClientVersion="1" OpcodeName="OP_GuildEventActionMsg">
+<Data ElementName="account_id" Type="int32" Size="1" />
+<Data ElementName="event_id" Type="int64" Size="1" />
+<Data ElementName="action" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+</Struct>
+<Struct Name="WS_RequestGuildInfo" ClientVersion="1" OpcodeName="OP_RequestGuildInfoMsg">
+<Data ElementName="account_id" Type="int32" Size="1" />
+<Data ElementName="event_id" Type="int64" Size="1" />
+<Data ElementName="date" Type="int32" Size="1" />
+<Data ElementName="type" Type="int32" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_GuildMembershipResponse" ClientVersion="1" OpcodeName="OP_GuildMembershipResponseMsg">
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="character_id_to" Type="int32" Size="1" />
+<Data ElementName="num_members" Type="int32" Size="1" />
+<Data ElementName="member_array" Type="Array" ArraySizeVariable="num_members" >
+	<Data ElementName="character_id" Type="int32" Size="1" />
+	<Data ElementName="account_id" Type="int32" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="1" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="adventure_level" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_level" Type="int8" Size="1" />
+	<Data ElementName="rank" Type="int8" Size="1" />
+	<Data ElementName="member_flags" Type="int8" Size="1" />
+	<Data ElementName="join_date" Type="int32" Size="1" />
+	<Data ElementName="guild_status" Type="int32" Size="1" />
+	<Data ElementName="last_login" Type="int32" Size="1" />
+	<Data ElementName="recruiter_id" Type="int32" Size="1" />
+	<Data ElementName="points" Type="float" Size="1" />
+	<Data ElementName="unknown6" Type="int32" Size="1" />
+	<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="note" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="officer_note" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown7" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_JoinGuildNotify" ClientVersion="1" OpcodeName="OP_JoinGuildNotifyMsg">
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="character_id" Type="int32" Size="1" />
+<Data ElementName="account_id" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="adventure_class" Type="int8" Size="1" />
+<Data ElementName="adventure_level" Type="int8" Size="1" />
+<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+<Data ElementName="tradeskill_level" Type="int8" Size="1" />
+<Data ElementName="rank" Type="int8" Size="1"/>
+<Data ElementName="member_flags" Type="int8" Size="1" />
+<Data ElementName="join_date" Type="int32" Size="1" />
+<Data ElementName="guild_status" Type="int32" Size="1" />
+<Data ElementName="last_login" Type="int32" Size="1" />
+<Data ElementName="recruiter_id" Type="int32" Size="1" />
+<Data ElementName="points" Type="float" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="note" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="officer_note" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_LeaveGuildNotify" ClientVersion="1" OpcodeName="OP_LeaveGuildNotifyMsg">
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="character_id" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_GuildUpdate" ClientVersion="1" OpcodeName="OP_GuildUpdateMsg">
+<Data ElementName="guild_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="guild_motd" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="guild_level" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="formed_date" Type="int32" Size="1" />
+<Data ElementName="unique_accounts" Type="int16" Size="1" />
+<Data ElementName="num_members" Type="int16" Size="1" />
+<Data ElementName="exp_current" Type="int32" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="3" />
+<Data ElementName="exp_to_next_level" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="3" />
+<Data ElementName="guild_hall_location" Type="EQ2_16Bit_String" />
+<Data ElementName="guild_hall_zonename" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown4" Type="int32" Size="1" />
+<Data ElementName="event_filter_retain1" Type="int32" Size="1" />
+<Data ElementName="event_filter_retain2" Type="int32" Size="1" />
+<Data ElementName="event_filter_retain3" Type="int32" Size="1" />
+<Data ElementName="event_filter_retain4" Type="int32" Size="1" />
+<Data ElementName="event_filter_broadcast1" Type="int32" Size="1" />
+<Data ElementName="event_filter_broadcast2" Type="int32" Size="1" />
+<Data ElementName="event_filter_broadcast3" Type="int32" Size="1" />
+<Data ElementName="event_filter_broadcast4" Type="int32" Size="1" />
+<Data ElementName="recruiting_looking_for" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="7" />
+<Data ElementName="recruiting_desc_tag1" Type="int8" Size="1" />
+<Data ElementName="recruiting_desc_tag2" Type="int8" Size="1" />
+<Data ElementName="recruiting_desc_tag3" Type="int8" Size="1" />
+<Data ElementName="recruiting_desc_tag4" Type="int8" Size="1" />
+<Data ElementName="recruiting_playstyle" Type="int8" Size="1" />
+<Data ElementName="recruiting_min_level" Type="int8" Size="1" />
+<Data ElementName="recuiting_short_description" Type="EQ2_16Bit_String" />
+<Data ElementName="recruiting_full_description" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="guild_hall_filename" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown7" Type="int16" Size="1" />
+<Data ElementName="rank0_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="rank0_permissions1" Type="int32" Size="1" />
+<Data ElementName="rank0_permissions2" Type="int32" Size="1" />
+<Data ElementName="rank0_permissions_unused" Type="int8" Size="48" />
+<Data ElementName="rank1_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="rank1_permissions1" Type="int32" Size="1" />
+<Data ElementName="rank1_permissions2" Type="int32" Size="1" />
+<Data ElementName="rank1_permissions_unused" Type="int8" Size="48" />
+<Data ElementName="rank2_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="rank2_permissions1" Type="int32" Size="1" />
+<Data ElementName="rank2_permissions2" Type="int32" Size="1" />
+<Data ElementName="rank2_permissions_unused" Type="int8" Size="48" />
+<Data ElementName="rank3_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="rank3_permissions1" Type="int32" Size="1" />
+<Data ElementName="rank3_permissions2" Type="int32" Size="1" />
+<Data ElementName="rank3_permissions_unused" Type="int8" Size="48" />
+<Data ElementName="rank4_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="rank4_permissions1" Type="int32" Size="1" />
+<Data ElementName="rank4_permissions2" Type="int32" Size="1" />
+<Data ElementName="rank4_permissions_unused" Type="int8" Size="48" />
+<Data ElementName="rank5_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="rank5_permissions1" Type="int32" Size="1" />
+<Data ElementName="rank5_permissions2" Type="int32" Size="1" />
+<Data ElementName="rank5_permissions_unused" Type="int8" Size="48" />
+<Data ElementName="rank6_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="rank6_permissions1" Type="int32" Size="1" />
+<Data ElementName="rank6_permissions2" Type="int32" Size="1" />
+<Data ElementName="rank6_permissions_unused" Type="int8" Size="48" />
+<Data ElementName="rank7_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="rank7_permissions1" Type="int32" Size="1" />
+<Data ElementName="rank7_permissions2" Type="int32" Size="1" />
+<Data ElementName="rank7_permissions_unused" Type="int8" Size="48" />
+<Data ElementName="bank1_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="bank2_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="bank3_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="bank4_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="12" />
+</Struct>
+<Struct Name="WS_GuildRecruitingMemberInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_GuildRecruitingMemberInfo" >
+<Data ElementName="character_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="adventure_class" Type="int8" Size="1" />
+<Data ElementName="adventure_level" Type="int8" Size="1" />
+<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+<Data ElementName="tradeskill_level" Type="int8" Size="1" />
+<Data ElementName="show_adventure_class" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+<Data ElementName="num_bytes" Type="int16" Size="1" />
+<Data ElementName="picture_byte_array" Type="Array" ArraySizeVariable="num_bytes" >
+	<Data ElementName="picture_byte" Type="char" Size="1" />
+</Data>
+<Data ElementName="recruiter_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="recruiter_description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_GuildRecruiting" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_GuildRecruiting" >
+<Data ElementName="num_guilds" Type="int8" Size="1" />
+<Data ElementName="guilds_array" Type="Array" ArraySizeVariable="num_guilds" >
+	<Data ElementName="guild_id" Type="int32" Size="1" />
+	<Data ElementName="guild_name" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="recruiting_short_description" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="descriptive_tag1" Type="int8" Size="1" />
+	<Data ElementName="descriptive_tag2" Type="int8" Size="1" />
+	<Data ElementName="descriptive_tag3" Type="int8" Size="1" />
+	<Data ElementName="descriptive_tag4" Type="int8" Size="1" />
+	<Data ElementName="playstyle" Type="int8" Size="1" />
+	<Data ElementName="looking_for" Type="int8" Size="1" />
+	<Data ElementName="unknown7" Type="int8" Size="1" />
+	<Data ElementName="min_level" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_GuildRecruitingDetails" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_GuildRecruitingDetails" >
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="recruiting_full_description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="num_recruiters" Type="int8" Size="1" />
+<Data ElementName="recruiters_array" Type="Array" ArraySizeVariable="num_recruiters" >
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="adventure_level" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_level" Type="int8" Size="1" />
+	<Data ElementName="show_adventure_class" Type="int8" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="1" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="num_bytes" Type="int16" Size="1" />
+	<Data ElementName="picture_byte_array" Type="Array" ArraySizeVariable="num_bytes" >
+		<Data ElementName="picture_byte" Type="char" Size="1" />
+	</Data>
+	<Data ElementName="char_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="recruiter_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_GuildRecruitingImage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_GuildRecruitingImage" >
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="num_bytes" Type="int16" Size="1" />
+<Data ElementName="picture_byte_array" Type="Array" ArraySizeVariable="num_bytes" >
+	<Data ElementName="picture_byte" Type="char" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_RewardPackMsg" ClientVersion="1" OpcodeName="OP_RewardPackMsg" >
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="guild_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="recruiter_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="picture_byte_array" Type="Array" ArraySizeVariable="num_bytes" >
+	<Data ElementName="picture_byte" Type="char" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_TraitsList" ClientVersion="987" OpcodeName="OP_TraitsList" >
+<Data ElementName="num_traits" Type="int8" Size="1" />
+<Data ElementName="traits_array" Type="Array" ArraySizeVariable="num_traits">
+    <Data ElementName="trait_level" Type="int8" Size="1" />
+    <Data ElementName="trait_line" Type="int8" Size="1" />
+    <Data ElementName="trait0_icon" Type="int16" Size="1" />
+    <Data ElementName="trait0_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait0_id" Type="int32" Size="1" />
+    <Data ElementName="trait0_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait0_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="trait1_icon" Type="int16" Size="1" />
+    <Data ElementName="trait1_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait1_id" Type="int32" Size="1" />
+    <Data ElementName="trait1_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait1_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="trait2_icon" Type="int16" Size="1" />
+    <Data ElementName="trait2_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait2_id" Type="int32" Size="1" />
+    <Data ElementName="trait2_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait2_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="trait3_icon" Type="int16" Size="1" />
+    <Data ElementName="trait3_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait3_id" Type="int32" Size="1" />
+    <Data ElementName="trait3_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait3_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="trait4_icon" Type="int16" Size="1" />
+    <Data ElementName="trait4_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait4_id" Type="int32" Size="1" />
+    <Data ElementName="trait4_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait4_name" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="num_trainings" Type="int8" Size="1" />
+<Data ElementName="training_array" Type="Array" ArraySizeVariable="num_trainings">
+    <Data ElementName="training_level" Type="int8" Size="1" />
+    <Data ElementName="training_line" Type="int8" Size="1" />
+    <Data ElementName="training0_icon" Type="int16" Size="1" />
+    <Data ElementName="training0_icon2" Type="int16" Size="1" />
+    <Data ElementName="training0_id" Type="int32" Size="1" />
+    <Data ElementName="training0_unknown" Type="int32" Size="1" />
+    <Data ElementName="training0_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="training1_icon" Type="int16" Size="1" />
+    <Data ElementName="training1_icon2" Type="int16" Size="1" />
+    <Data ElementName="training1_id" Type="int32" Size="1" />
+    <Data ElementName="training1_unknown" Type="int32" Size="1" />
+    <Data ElementName="training1_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="training2_icon" Type="int16" Size="1" />
+    <Data ElementName="training2_icon2" Type="int16" Size="1" />
+    <Data ElementName="training2_id" Type="int32" Size="1" />
+    <Data ElementName="training2_unknown" Type="int32" Size="1" />
+    <Data ElementName="training2_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="training3_icon" Type="int16" Size="1" />
+    <Data ElementName="training3_icon2" Type="int16" Size="1" />
+    <Data ElementName="training3_id" Type="int32" Size="1" />
+    <Data ElementName="training3_unknown" Type="int32" Size="1" />
+    <Data ElementName="training3_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="training4_icon" Type="int16" Size="1" />
+    <Data ElementName="training4_icon2" Type="int16" Size="1" />
+    <Data ElementName="training4_id" Type="int32" Size="1" />
+    <Data ElementName="training4_unknown" Type="int32" Size="1" />
+    <Data ElementName="training4_name" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="num_traditions" Type="int8" Size="1" />
+    <Data ElementName="tradition_array" Type="Array" ArraySizeVariable="num_traditions">
+    <Data ElementName="tradition_selected" Type="int8" Size="1" />
+    <Data ElementName="tradition_icon" Type="int16" Size="1" />
+    <Data ElementName="tradition_icon2" Type="int16" Size="1" />
+    <Data ElementName="tradition_id" Type="int32" Size="1" />
+    <Data ElementName="tradition_unknown" Type="int32" Size="1" />
+    <Data ElementName="tradition_name" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="num_abilities" Type="int8" Size="1" />
+    <Data ElementName="ability_array" Type="Array" ArraySizeVariable="num_abilities">
+    <Data ElementName="ability_icon" Type="int16" Size="1" />
+    <Data ElementName="ability_icon2" Type="int16" Size="1" />
+    <Data ElementName="ability_id" Type="int32" Size="1" />
+    <Data ElementName="ability_unknown" Type="int32" Size="1" />
+    <Data ElementName="ability_name" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="WS_TraitsList" ClientVersion="996" OpcodeName="OP_TraitsList" >
+<Data ElementName="num_traits" Type="int8" Size="1" />
+  <Data ElementName="traits_array" Type="Array" ArraySizeVariable="num_traits">
+  <Data ElementName="trait_level" Type="int8" Size="1" />
+  <Data ElementName="trait_line" Type="int8" Size="1" />
+  <Data ElementName="trait0_icon" Type="int16" Size="1" />
+  <Data ElementName="trait0_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait0_id" Type="int32" Size="1" />
+  <Data ElementName="trait0_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait0_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="trait1_icon" Type="int16" Size="1" />
+  <Data ElementName="trait1_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait1_id" Type="int32" Size="1" />
+  <Data ElementName="trait1_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait1_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="trait2_icon" Type="int16" Size="1" />
+  <Data ElementName="trait2_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait2_id" Type="int32" Size="1" />
+  <Data ElementName="trait2_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait2_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="trait3_icon" Type="int16" Size="1" />
+  <Data ElementName="trait3_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait3_id" Type="int32" Size="1" />
+  <Data ElementName="trait3_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait3_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="trait4_icon" Type="int16" Size="1" />
+  <Data ElementName="trait4_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait4_id" Type="int32" Size="1" />
+  <Data ElementName="trait4_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait4_name" Type="EQ2_16Bit_String" />
+  </Data>
+<Data ElementName="num_trainings" Type="int8" Size="1" />
+  <Data ElementName="training_array" Type="Array" ArraySizeVariable="num_trainings">
+  <Data ElementName="training_level" Type="int8" Size="1" />
+  <Data ElementName="training_line" Type="int8" Size="1" />
+  <Data ElementName="training0_icon" Type="int16" Size="1" />
+  <Data ElementName="training0_icon2" Type="int16" Size="1" />
+  <Data ElementName="training0_id" Type="int32" Size="1" />
+  <Data ElementName="training0_unknown" Type="int32" Size="1" />
+  <Data ElementName="training0_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="training1_icon" Type="int16" Size="1" />
+  <Data ElementName="training1_icon2" Type="int16" Size="1" />
+  <Data ElementName="training1_id" Type="int32" Size="1" />
+  <Data ElementName="training1_unknown" Type="int32" Size="1" />
+  <Data ElementName="training1_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="training2_icon" Type="int16" Size="1" />
+  <Data ElementName="training2_icon2" Type="int16" Size="1" />
+  <Data ElementName="training2_id" Type="int32" Size="1" />
+  <Data ElementName="training2_unknown" Type="int32" Size="1" />
+  <Data ElementName="training2_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="training3_icon" Type="int16" Size="1" />
+  <Data ElementName="training3_icon2" Type="int16" Size="1" />
+  <Data ElementName="training3_id" Type="int32" Size="1" />
+  <Data ElementName="training3_unknown" Type="int32" Size="1" />
+  <Data ElementName="training3_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="training4_icon" Type="int16" Size="1" />
+  <Data ElementName="training4_icon2" Type="int16" Size="1" />
+  <Data ElementName="training4_id" Type="int32" Size="1" />
+  <Data ElementName="training4_unknown" Type="int32" Size="1" />
+  <Data ElementName="training4_name" Type="EQ2_16Bit_String" />
+  </Data>
+<Data ElementName="num_sections" Type="int8" Size="1" />
+  <Data ElementName="sections_array" Type="Array" ArraySizeVariable="num_sections">
+  <Data ElementName="section_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="num_traditions" Type="int8" Size="1" />
+    <Data ElementName="tradition_array" Type="Array" ArraySizeVariable="num_traditions">
+    <Data ElementName="tradition_selected" Type="int8" Size="1" />
+    <Data ElementName="tradition_icon" Type="int16" Size="1" />
+    <Data ElementName="tradition_icon2" Type="int16" Size="1" />
+    <Data ElementName="tradition_id" Type="int32" Size="1" />
+    <Data ElementName="tradition_unknown" Type="int32" Size="1" />
+    <Data ElementName="tradition_name" Type="EQ2_16Bit_String" />
+    </Data>
+  </Data>
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="num_abilities" Type="int8" Size="1" />
+<Data ElementName="ability_array" Type="Array" ArraySizeVariable="num_abilities">
+  <Data ElementName="ability_icon" Type="int16" Size="1" />
+  <Data ElementName="ability_icon2" Type="int16" Size="1" />
+  <Data ElementName="ability_id" Type="int32" Size="1" />
+  <Data ElementName="ability_unknown" Type="int32" Size="1" />
+  <Data ElementName="ability_name" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="WS_AdventureList" ClientVersion="1">
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="class_tab" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+<Data ElementName="max_cleric_aa" Type="int16" Size="1" />
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="class_id" Type="int32" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="num_class_items" Type="int32" Size="1" />
+    <Data ElementName="class_array" Type="Array" ArraySizeVariable="num_class_items">
+    <Data ElementName="unknown6" Type="int32" Size="1" />
+    <Data ElementName="unknown7" Type="int8" Size="1" />
+    <Data ElementName="unknown8" Type="int32" Size="1" />
+    <Data ElementName="unknown9" Type="int8" Size="1" />
+    <Data ElementName="class_spell_id" Type="int32" Size="1" />
+    <Data ElementName="unknown10" Type="int8" Size="1" />
+    <Data ElementName="class_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_icon" Type="int16" Size="1" />
+    <Data ElementName="class_icon2" Type="int16" Size="1" />
+    <Data ElementName="class_current_rank" Type="int8" Size="1" />
+    <Data ElementName="class_max_rank" Type="int8" Size="1" />
+    <Data ElementName="class_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="unknown11" Type="int8" Size="1" />
+    <Data ElementName="unknown12_num_items" Type="int8" Size="1" />
+        <Data ElementName="unknown12_array" Type="Array" ArraySizeVariable="unknown12_num_items">
+        <Data ElementName="unknown12" Type="int32" Size="1" />    
+        </Data>
+    <Data ElementName="unknown13" Type="int32" Size="1" />
+    <Data ElementName="unknown14" Type="int8" Size="1" />
+    <Data ElementName="unknown15" Type="int32" Size="1" />
+    <Data ElementName="unknown16" Type="int8" Size="1" />
+    <Data ElementName="class_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_points_req" Type="int8" Size="1" />
+    <Data ElementName="unknown17" Type="int8" Size="1" />
+    <Data ElementName="class_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_col" Type="int8" Size="1" />
+    <Data ElementName="class_row" Type="int8" Size="1" />
+    <Data ElementName="class_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="unknown20" Type="int32" Size="1" />
+    </Data>
+<Data ElementName="unknown21" Type="int32" Size="1" />
+<Data ElementName="subclass_points_spent" Type="int16" Size="1" />
+<Data ElementName="unknown22" Type="int32" Size="1" />
+<Data ElementName="unknown23" Type="int16" Size="1" />
+<Data ElementName="unknown24" Type="int8" Size="1" />
+<Data ElementName="subclass_tab_title" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown25" Type="int16" Size="1" />
+<Data ElementName="subclass_total" Type="int16" Size="1" />
+<Data ElementName="unknown26" Type="int16" Size="1" />
+<Data ElementName="subclass_id" Type="int32" Size="1" />
+<Data ElementName="unknown27" Type="int8" Size="1" />
+<Data ElementName="num_subclass_items" Type="int32" Size="1" />
+    <Data ElementName="subclass_array" Type="Array" ArraySizeVariable="num_subclass_items">
+    <Data ElementName="subclass_unknown6" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown7" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown8" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown9" Type="int8" Size="1" />
+    <Data ElementName="subclass_spell_id" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown10" Type="int8" Size="1" />
+    <Data ElementName="subclass_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_icon" Type="int16" Size="1" />
+    <Data ElementName="subclass_icon2" Type="int16" Size="1" />
+    <Data ElementName="subclass_current_rank" Type="int8" Size="1" />
+    <Data ElementName="subclass_max_rank" Type="int8" Size="1" />
+    <Data ElementName="subclass_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown11" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown12_num_items" Type="int8" Size="1" />
+        <Data ElementName="subclass_unknown12_array" Type="Array" ArraySizeVariable="subclass_unknown12_num_items">
+        <Data ElementName="subclass_unknown12" Type="int32" Size="1" />    
+        </Data>
+    <Data ElementName="subclass_unknown13" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown14" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown15" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown16" Type="int8" Size="1" />
+    <Data ElementName="subclass_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_points_req" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown17a" Type="int8" Size="1" />
+    <Data ElementName="subclass_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_col" Type="int8" Size="1" />
+    <Data ElementName="subclass_row" Type="int8" Size="1" />
+    <Data ElementName="subclass_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_unknown20" Type="int32" Size="1" />
+    </Data>
+<Data ElementName="unknown28" Type="int32" Size="1" />
+<Data ElementName="subclass_points_spent" Type="int16" Size="1" />
+<Data ElementName="unknown29" Type="int32" Size="1" />
+<Data ElementName="unknown30" Type="int16" Size="1" />
+<Data ElementName="unknown31" Type="int8" Size="1" />
+<Data ElementName="shadows_tab_title" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown32" Type="int16" Size="1" />
+<Data ElementName="shadows_total" Type="int16" Size="1" />
+<Data ElementName="unknown33" Type="int16" Size="1" />
+<Data ElementName="shadows_id" Type="int32" Size="1" />
+<Data ElementName="unknown34" Type="int8" Size="1" />
+<Data ElementName="num_shadows_items" Type="int32" Size="1" />
+    <Data ElementName="shadows_array" Type="Array" ArraySizeVariable="num_shadows_items">
+    <Data ElementName="tso_unknown6" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown7" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown8" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown9" Type="int8" Size="1" />
+    <Data ElementName="tso_spell_id" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown10" Type="int8" Size="1" />
+    <Data ElementName="tso_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_icon" Type="int16" Size="1" />
+    <Data ElementName="tso_icon2" Type="int16" Size="1" />
+    <Data ElementName="tso_current_rank" Type="int8" Size="1" />
+    <Data ElementName="tso_max_rank" Type="int8" Size="1" />
+    <Data ElementName="tso_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown11" Type="int16" Size="1" />
+    <Data ElementName="tso_unknown12" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown14" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown15" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown16" Type="int8" Size="1" />
+    <Data ElementName="tso_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_points_req" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown17" Type="int8" Size="1" />
+    <Data ElementName="tso_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_col" Type="int8" Size="1" />
+    <Data ElementName="tso_row" Type="int8" Size="1" />
+    <Data ElementName="tso_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_unknown20" Type="int16" Size="1" />
+    <Data ElementName="global_req" Type="int16" Size="1" />
+    </Data>
+<Data ElementName="unknown35" Type="int32" Size="1" />
+<Data ElementName="shadows_spent" Type="int32" Size="1" />
+<Data ElementName="unknown36" Type="int16" Size="3" />
+</Struct>
+<Struct Name="WS_AdventureList" ClientVersion="996">
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="class_tab" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+<Data ElementName="max_cleric_aa" Type="int16" Size="1" />
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="class_id" Type="int32" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="num_class_items" Type="int32" Size="1" />
+    <Data ElementName="class_array" Type="Array" ArraySizeVariable="num_class_items">
+    <Data ElementName="unknown6" Type="int32" Size="1" />
+    <Data ElementName="unknown7" Type="int8" Size="1" />
+    <Data ElementName="class_spell_id" Type="int32" Size="1" />
+    <Data ElementName="unknown10" Type="int8" Size="1" />
+    <Data ElementName="class_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_icon" Type="int16" Size="1" />
+    <Data ElementName="class_icon2" Type="int16" Size="1" />
+    <Data ElementName="class_current_rank" Type="int8" Size="1" />
+    <Data ElementName="class_max_rank" Type="int8" Size="1" />
+    <Data ElementName="class_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="unknown11" Type="int8" Size="1" />
+    <Data ElementName="unknown12_num_items" Type="int8" Size="1" />
+        <Data ElementName="unknown12_array" Type="Array" ArraySizeVariable="unknown12_num_items">
+        <Data ElementName="unknown12" Type="int32" Size="1" />
+        </Data>
+    <Data ElementName="unknown13" Type="int32" Size="1" />
+    <Data ElementName="unknown14" Type="int8" Size="1" />
+    <Data ElementName="class_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_points_req" Type="int8" Size="1" />
+    <Data ElementName="unknown17" Type="int8" Size="1" />
+    <Data ElementName="class_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_col" Type="int8" Size="1" />
+    <Data ElementName="class_row" Type="int8" Size="1" />
+    <Data ElementName="class_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="unknown20" Type="int32" Size="1" />
+    </Data>
+<Data ElementName="unknown21" Type="int32" Size="1" />
+<Data ElementName="subclass_points_spent" Type="int16" Size="1" />
+<Data ElementName="unknown22" Type="int32" Size="1" />
+<Data ElementName="unknown23" Type="int16" Size="1" />
+<Data ElementName="unknown24" Type="int8" Size="1" />
+<Data ElementName="subclass_tab_title" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown25" Type="int16" Size="1" />
+<Data ElementName="subclass_total" Type="int16" Size="1" />
+<Data ElementName="unknown26" Type="int16" Size="1" />
+<Data ElementName="subclass_id" Type="int32" Size="1" />
+<Data ElementName="unknown27" Type="int8" Size="1" />
+<Data ElementName="num_subclass_items" Type="int32" Size="1" />
+    <Data ElementName="subclass_array" Type="Array" ArraySizeVariable="num_subclass_items">
+    <Data ElementName="subclass_unknown6" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown7" Type="int8" Size="1" />
+    <Data ElementName="subclass_spell_id" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown10" Type="int8" Size="1" />
+    <Data ElementName="subclass_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_icon" Type="int16" Size="1" />
+    <Data ElementName="subclass_icon2" Type="int16" Size="1" />
+    <Data ElementName="subclass_current_rank" Type="int8" Size="1" />
+    <Data ElementName="subclass_max_rank" Type="int8" Size="1" />
+    <Data ElementName="subclass_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown11" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown12_num_items" Type="int8" Size="1" />
+        <Data ElementName="subclass_unknown12_array" Type="Array" ArraySizeVariable="subclass_unknown12_num_items">
+        <Data ElementName="subclass_unknown12" Type="int32" Size="1" />
+        </Data>
+    <Data ElementName="subclass_unknown13" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown14" Type="int8" Size="1" />
+    <Data ElementName="subclass_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_points_req" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown17a" Type="int8" Size="1" />
+    <Data ElementName="subclass_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_col" Type="int8" Size="1" />
+    <Data ElementName="subclass_row" Type="int8" Size="1" />
+    <Data ElementName="subclass_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_unknown20" Type="int32" Size="1" />
+    </Data>
+<Data ElementName="unknown28" Type="int32" Size="1" />
+<Data ElementName="subclass_points_spent" Type="int16" Size="1" />
+<Data ElementName="unknown29" Type="int32" Size="1" />
+<Data ElementName="unknown30" Type="int16" Size="1" />
+<Data ElementName="unknown31" Type="int8" Size="1" />
+<Data ElementName="shadows_tab_title" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown32" Type="int16" Size="1" />
+<Data ElementName="shadows_total" Type="int16" Size="1" />
+<Data ElementName="unknown33" Type="int16" Size="1" />
+<Data ElementName="shadows_id" Type="int32" Size="1" />
+<Data ElementName="unknown34" Type="int8" Size="1" />
+<Data ElementName="num_shadows_items" Type="int32" Size="1" />
+    <Data ElementName="shadows_array" Type="Array" ArraySizeVariable="num_shadows_items">
+    <Data ElementName="tso_unknown6" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown7" Type="int8" Size="1" />
+    <Data ElementName="tso_spell_id" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown10" Type="int8" Size="1" />
+    <Data ElementName="tso_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_icon" Type="int16" Size="1" />
+    <Data ElementName="tso_icon2" Type="int16" Size="1" />
+    <Data ElementName="tso_current_rank" Type="int8" Size="1" />
+    <Data ElementName="tso_max_rank" Type="int8" Size="1" />
+    <Data ElementName="tso_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown11" Type="int16" Size="1" />
+    <Data ElementName="tso_unknown12" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown14" Type="int8" Size="1" />
+    <Data ElementName="tso_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_points_req" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown17" Type="int8" Size="1" />
+    <Data ElementName="tso_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_col" Type="int8" Size="1" />
+    <Data ElementName="tso_row" Type="int8" Size="1" />
+    <Data ElementName="tso_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_unknown20" Type="int16" Size="1" />
+    <Data ElementName="global_req" Type="int16" Size="1" />
+    </Data>
+<Data ElementName="unknown35" Type="int32" Size="1" />
+<Data ElementName="shadows_spent" Type="int32" Size="1" />
+<Data ElementName="unknown36" Type="int16" Size="3" />
+</Struct>
+<Struct Name="WS_AdventureList" ClientVersion="1008">
+  <Data ElementName="unknown" Type="int8" Size="1" />
+  <Data ElementName="unknown2" Type="int32" Size="1" />
+  <Data ElementName="class_tab" Type="EQ2_16Bit_String" />
+  <Data ElementName="unknown3" Type="int16" Size="1" />
+  <Data ElementName="max_cleric_aa" Type="int16" Size="1" />
+  <Data ElementName="unknown4" Type="int16" Size="1" />
+  <Data ElementName="class_id" Type="int32" Size="1" />
+  <Data ElementName="unknown5" Type="int8" Size="1" />
+  <Data ElementName="num_class_items" Type="int32" Size="1" />
+  <Data ElementName="class_array" Type="Array" ArraySizeVariable="num_class_items">
+    <Data ElementName="unknown6" Type="int32" Size="1" />
+    <Data ElementName="unknown7" Type="int8" Size="1" />
+    <Data ElementName="class_spell_id" Type="int32" Size="1" />
+    <Data ElementName="unknown10" Type="int8" Size="1" />
+    <Data ElementName="class_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_icon" Type="int16" Size="1" />
+    <Data ElementName="class_icon2" Type="int16" Size="1" />
+    <Data ElementName="class_current_rank" Type="int8" Size="1" />
+    <Data ElementName="class_max_rank" Type="int8" Size="1" />
+    <Data ElementName="class_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="unknown11" Type="int8" Size="1" />
+    <Data ElementName="unknown12_num_items" Type="int8" Size="1" />
+    <Data ElementName="unknown12_array" Type="Array" ArraySizeVariable="unknown12_num_items">
+      <Data ElementName="unknown12" Type="int32" Size="1" />
+    </Data>
+    <Data ElementName="unknown13" Type="int32" Size="1" />
+    <Data ElementName="unknown14" Type="int8" Size="1" />
+    <Data ElementName="class_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_points_req" Type="int8" Size="1" />
+    <Data ElementName="unknown17" Type="int8" Size="1" />
+    <Data ElementName="class_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_col" Type="int8" Size="1" />
+    <Data ElementName="class_row" Type="int8" Size="1" />
+    <Data ElementName="class_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="unknown20" Type="int32" Size="1" />
+    <Data ElementName="unknown20a" Type="int16" Size="1" />
+  </Data>
+  <Data ElementName="unknown21" Type="int32" Size="1" />
+  <Data ElementName="subclass_points_spent" Type="int16" Size="1" />
+  <Data ElementName="unknown22" Type="int32" Size="1" />
+  <Data ElementName="unknown23" Type="int16" Size="1" />
+  <Data ElementName="unknown24" Type="int8" Size="1" />
+  <Data ElementName="subclass_tab_title" Type="EQ2_16Bit_String" />
+  <Data ElementName="unknown25" Type="int16" Size="1" />
+  <Data ElementName="subclass_total" Type="int16" Size="1" />
+  <Data ElementName="unknown26" Type="int16" Size="1" />
+  <Data ElementName="subclass_id" Type="int32" Size="1" />
+  <Data ElementName="unknown27" Type="int8" Size="1" />
+  <Data ElementName="num_subclass_items" Type="int32" Size="1" />
+  <Data ElementName="subclass_array" Type="Array" ArraySizeVariable="num_subclass_items">
+    <Data ElementName="subclass_unknown6" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown7" Type="int8" Size="1" />
+    <Data ElementName="subclass_spell_id" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown10" Type="int8" Size="1" />
+    <Data ElementName="subclass_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_icon" Type="int16" Size="1" />
+    <Data ElementName="subclass_icon2" Type="int16" Size="1" />
+    <Data ElementName="subclass_current_rank" Type="int8" Size="1" />
+    <Data ElementName="subclass_max_rank" Type="int8" Size="1" />
+    <Data ElementName="subclass_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown11" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown12_num_items" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown12_array" Type="Array" ArraySizeVariable="subclass_unknown12_num_items">
+      <Data ElementName="subclass_unknown12" Type="int32" Size="1" />
+    </Data>
+    <Data ElementName="subclass_unknown13" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown14" Type="int8" Size="1" />
+    <Data ElementName="subclass_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_points_req" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown17a" Type="int8" Size="1" />
+    <Data ElementName="subclass_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_col" Type="int8" Size="1" />
+    <Data ElementName="subclass_row" Type="int8" Size="1" />
+    <Data ElementName="subclass_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_unknown20" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown20a" Type="int16" Size="1" />
+  </Data>
+  <Data ElementName="unknown28" Type="int32" Size="1" />
+  <Data ElementName="subclass_points_spent" Type="int16" Size="1" />
+  <Data ElementName="unknown29" Type="int32" Size="1" />
+  <Data ElementName="unknown30" Type="int16" Size="1" />
+  <Data ElementName="unknown31" Type="int8" Size="1" />
+  <Data ElementName="shadows_tab_title" Type="EQ2_16Bit_String" />
+  <Data ElementName="unknown32" Type="int16" Size="1" />
+  <Data ElementName="shadows_total" Type="int16" Size="1" />
+  <Data ElementName="unknown33" Type="int16" Size="1" />
+  <Data ElementName="shadows_id" Type="int32" Size="1" />
+  <Data ElementName="unknown34" Type="int8" Size="1" />
+  <Data ElementName="num_shadows_items" Type="int32" Size="1" />
+  <Data ElementName="shadows_array" Type="Array" ArraySizeVariable="num_shadows_items">
+    <Data ElementName="tso_unknown6" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown7" Type="int8" Size="1" />
+    <Data ElementName="tso_spell_id" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown10" Type="int8" Size="1" />
+    <Data ElementName="tso_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_icon" Type="int16" Size="1" />
+    <Data ElementName="tso_icon2" Type="int16" Size="1" />
+    <Data ElementName="tso_current_rank" Type="int8" Size="1" />
+    <Data ElementName="tso_max_rank" Type="int8" Size="1" />
+    <Data ElementName="tso_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown11" Type="int16" Size="1" />
+    <Data ElementName="tso_unknown12" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown14" Type="int8" Size="1" />
+    <Data ElementName="tso_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_points_req" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown17" Type="int8" Size="1" />
+    <Data ElementName="tso_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_col" Type="int8" Size="1" />
+    <Data ElementName="tso_row" Type="int8" Size="1" />
+    <Data ElementName="tso_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_unknown20" Type="int16" Size="1" />
+    <Data ElementName="tso_unknown20a" Type="int16" Size="1" />
+    <Data ElementName="global_req" Type="int16" Size="1" />
+  </Data>
+  <Data ElementName="unknown35" Type="int32" Size="1" />
+  <Data ElementName="shadows_spent" Type="int32" Size="1" />
+  <Data ElementName="unknown36" Type="int16" Size="3" />
+</Struct>
+<Struct Name="WS_PointOfInterest" ClientVersion="1">
+<Data ElementName="poi_id" Type="int8" Size="1" />
+<Data ElementName="zone_id" Type="int16" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="poi_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_MapExploration" ClientVersion="1">
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="num_locations" Type="int16" Size="1" />
+<Data ElementName="location_array" Type="Array" ArraySizeVariable="num_locations">
+<Data ElementName="location_x" Type="float" Size="1" />
+<Data ElementName="location_y" Type="float" Size="1" />
+<Data ElementName="location_z" Type="float" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_GetMailHeader" ClientVersion="1" OpcodeName="OP_MailGetHeadersReplyMsg">
+<Data ElementName="kiosk_id" Type="int32" />
+<Data ElementName="num_messages" Type="int16" Size="1" />
+<Data ElementName="message_array" Type="Array" ArraySizeVariable="num_messages">
+	<Data ElementName="mail_id" Type="int32" Size="1" />
+	<Data ElementName="player_to_id" Type="int32" Size="1" />
+	<Data ElementName="player_from" Type="EQ2_16Bit_String" />
+	<Data ElementName="subject" Type="EQ2_16Bit_String" />
+	<Data ElementName="unknown1" Type="int16" Size="1" />
+	<Data ElementName="already_read" Type="int8" Size="1" />
+	<Data ElementName="mail_deletion" Type="int32" Size="1" />
+	<Data ElementName="mail_type" Type="int8" Size="1" />
+	<Data ElementName="mail_expire" Type="int32" Size="1" />
+	<Data ElementName="coin_copper" Type="int32" Size="1" />
+	<Data ElementName="coin_silver" Type="int32" Size="1" />
+	<Data ElementName="coin_gold" Type="int32" Size="1" />
+	<Data ElementName="coin_plat" Type="int32" Size="1" />
+	<Data ElementName="num_items" Type="int16" Size="1" />
+	<Data ElementName="packettype" Type="int16" Size="1" />
+	<Data ElementName="packetsubtype" Type="int8" />
+	<Data ElementName="unknown2" Type="int32" />
+</Data>
+<Data ElementName="postage_cost" Type="int32" Size="1" />
+<Data ElementName="attachment_cost" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="4" />
+</Struct>
+<Struct Name="WS_MailGetMessage" ClientVersion="1" OpcodeName="OP_MailGetMessageReplyMsg">
+<Data ElementName="kiosk_id" Type="int32" />
+<Data ElementName="mail_id" Type="int32" />
+<Data ElementName="player_to_id" Type="int32" />
+<Data ElementName="player_from" Type="EQ2_16Bit_String" />
+<Data ElementName="subject" Type="EQ2_16Bit_String" />
+<Data ElementName="mail_body" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown1" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="lock_report_button" Type="int8" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="coin_copper" Type="int32" />
+<Data ElementName="coin_silver" Type="int32" />
+<Data ElementName="coin_gold" Type="int32" />
+<Data ElementName="coin_plat" Type="int32" />
+<Data ElementName="stack" Type="int16" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" />
+<Data ElementName="unknown4" Type="int32" IfVariableNotSet="stack_0" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int16" Size="1" />
+<Data ElementName="unknown7" Type="int8" Size="3" />
+</Struct>
+<Struct Name="WS_MailSendMessage" ClientVersion="1" OpcodeName="OP_MailSendMessageMsg">
+<Data ElementName="player_to" Type="EQ2_16Bit_String" />
+<Data ElementName="subject" Type="EQ2_16Bit_String" />
+<Data ElementName="mail_body" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="31"/>
+<Data ElementName="stack" Type="int16" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" />
+<Data ElementName="unknown_item_maybe" Type="int8" Size="4"/>
+</Struct>
+<Struct Name="WS_MailSendMessageReply" ClientVersion="1" OpcodeName="OP_MailSendMessageReplyMsg">
+<Data ElementName="unknown" Type="int8" Size="12" />
+<Data ElementName="reply_type" Type="int8" />
+<Data ElementName="player_to" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown2" Type="int8" Size="9" />
+</Struct>
+<Struct Name="WS_UpdatePlayerMail" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdatePlayerMailCmd">
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="coin_copper" Type="int32" />
+<Data ElementName="coin_silver" Type="int32" />
+<Data ElementName="coin_gold" Type="int32" />
+<Data ElementName="coin_plat" Type="int32" />
+<Data ElementName="stack" Type="int16" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" />
+<Data ElementName="unknown2" Type="int8" Size="9"/>
+<Data ElementName="unknown3" Type="int32"/>
+</Struct>
+<Struct Name="WS_BeginTracking" ClientVersion="1" OpcodeName="OP_BeginTrackingMsg">
+	<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_TrackingUpdate" ClientVersion="1" OpcodeName="OP_TrackingUpdateMsg">
+<Data ElementName="mode" Type="int8" />
+<Data ElementName="type" Type="int8" />
+<Data ElementName="num_spawns" Type="int8" />
+<Data ElementName="spawn_array" Type="Array" ArraySizeVariable="num_spawns">
+	<Data ElementName="spawn_id" Type="int32" />
+	<Data ElementName="spawn_name" Type="EQ2_8Bit_String" />
+	<Data ElementName="spawn_type" Type="int8" />
+	<Data ElementName="spawn_con_color" Type="int8" />
+</Data>
+<Data ElementName="num_array1" Type="int8" />
+<Data ElementName="unknown_array1" Type="Array" ArraySizeVariable="num_array1">
+	<Data ElementName="array1_unknown" Type="int32" />
+</Data>
+<Data ElementName="num_spawns2" Type="int8" />
+<Data ElementName="list_order" Type="Array" ArraySizeVariable="num_spawns2">
+	<Data ElementName="list_spawn_id" Type="int32" />
+	<Data ElementName="list_number" Type="int8" />
+</Data>
+</Struct>
+<Struct Name="WS_BioUpdate" ClientVersion="1" OpcodeName="OP_BioUpdateMsg">
+<Data ElementName="biography" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_InspectPlayer" ClientVersion="1" OpcodeName="OP_InspectPlayerMsg">
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" />
+<Data ElementName="race" Type="int8" />
+<Data ElementName="gender" Type="int8" />
+<Data ElementName="adventure_level" Type="int8" />
+<Data ElementName="adventure_level_effective" Type="int8" />
+<Data ElementName="adventure_class" Type="int8" />
+<Data ElementName="tradeskill_level" Type="int8" />
+<Data ElementName="tradeskill_class" Type="int8" />
+<Data ElementName="health" Type="sint32" />
+<Data ElementName="health_max" Type="sint32" />
+<Data ElementName="health_base" Type="sint32" />
+<Data ElementName="power" Type="sint32" />
+<Data ElementName="power_max" Type="sint32" />
+<Data ElementName="power_base" Type="sint32" />
+<Data ElementName="mitigation" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown1" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="avoidance" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown2" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_percentage" Type="int16"  OversizedValue="127" OversizedByte="127" />
+<Data ElementName="strength" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="strength_base" Type="int8" />
+<Data ElementName="stamina" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="stamina_base" Type="int8" />
+<Data ElementName="agility" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="agility_base" Type="int8" />
+<Data ElementName="wisdom" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="wisdom_base" Type="int8" />
+<Data ElementName="intelligence" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="intelligence_base" Type="int8" />
+<Data ElementName="unknown4" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown5" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown6" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown7" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown8" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown9" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown10" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown11" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown12" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="heat_resist" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="heat_resist_base" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="heat_resist_percentage" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="cold_resist" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="cold_resist_base" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="cold_resist_percentage" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="magic_resist" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="magic_resist_base" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="magic_resist_percentage" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mental_resist" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mental_resist_base" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mental_resist_percentage" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="divine_resist" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="divine_resist_base" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="divine_resist_percentage" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="disease_resist" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="disease_resist_base" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="disease_resist_percentage" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="poison_resist" Type="sint16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="poison_resist_base" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="poison_resist_percentage" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="num_chars" Type="int16" Size="1" />
+<Data ElementName="biography_array" Type="Array" ArraySizeVariable="num_chars">
+	<Data ElementName="biography_char" Type="char" />
+</Data>
+<Data ElementName="primary" Type="EQ2_Item" Size="1" />
+<Data ElementName="secondary" Type="EQ2_Item" Size="1" />
+</Struct>
+<Struct Name="WS_TitleUpdate" ClientVersion="1" OpcodeName="OP_TitleUpdateMsg">
+  <Data ElementName="num_titles" Type="int16" />
+  <Data ElementName="titles_array" Type="Array" ArraySizeVariable="num_titles">
+    <Data ElementName="title" Type="EQ2_16Bit_String" />
+    <Data ElementName="prefix" Type="int8" Size="1" />
+  </Data>
+  <Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_Languages" ClientVersion="1" OpcodeName="OP_KnownLanguagesMsg">
+  <Data ElementName="num_languages" Type="int8" />
+  <Data ElementName="language_array" Type="Array" ArraySizeVariable="num_languages">
+    <Data ElementName="language_id" Type="int8" />
+  </Data>
+  <Data ElementName="unknown" Type="int8" Size="1" />
+  <Data ElementName="current_language" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_PromoFlagsDetails" ClientVersion="1" OpcodeName="OP_PromoFlagsDetailsMsg">
+<Data ElementName="num_claim_items" Type="int32" Size="1" />
+<Data ElementName="claim_items_array" Type="Array" ArraySizeVariable="num_claim_items">
+	<Data ElementName="id" Type="int32" Size="1" />
+	<Data ElementName="not_yet_claimed" Type="int8" Size="1" />
+	<Data ElementName="num_remaining" Type="int32" Size="1" />
+	<Data ElementName="one_per_character" Type="int8" Size="1" />
+	<Data ElementName="claimed_on_this_char" Type="int8" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="item_id" Type="int32" Size="1" />
+	<Data ElementName="unknown" Type="int32" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_CharacterAchievements" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_CharacterAchievements">
+<Data ElementName="num_achievements" Type="int16" Size="1" />
+- <Data ElementName="achievement_array" Type="Array" ArraySizeVariable="num_achievements">
+  <Data ElementName="unknown_id" Type="int32" Size="1" />
+  <Data ElementName="title" Type="EQ2_16Bit_String" />
+  <Data ElementName="uncompleted_text" Type="EQ2_16Bit_String" />
+  <Data ElementName="completed_text" Type="EQ2_16Bit_String" />
+  <Data ElementName="category" Type="EQ2_16Bit_String" />
+  <Data ElementName="expansion" Type="EQ2_16Bit_String" />
+  <Data ElementName="icon" Type="int16" Size="1" />
+  <Data ElementName="point_value" Type="int16" Size="1" />
+  <Data ElementName="unknown" Type="int16" Size="1" />
+  <Data ElementName="qty_req" Type="int32" Size="1" />
+  <Data ElementName="unknown2" Type="int8" Size="1" />
+  <Data ElementName="unknown3" Type="int32" Size="2" />
+  <Data ElementName="num_items" Type="int8" Size="1" />
+  - <Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+    <Data ElementName="item_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="item_qty_req" Type="int32" Size="1" />
+  </Data>
+  <Data ElementName="num_rewards" Type="int8" Size="1" />
+  - <Data ElementName="reward_array" Type="Array" ArraySizeVariable="num_rewards">
+    <Data ElementName="reward_item" Type="EQ2_16Bit_String" />
+  </Data>
+</Data>
+<Data ElementName="unknown4" Type="int8" Size="3" />
+</Struct>
+<Struct Name="WS_Lottery" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_Lottery">
+<Data ElementName="roll_digit1" Type="int32" Size="1" />
+<Data ElementName="roll_digit2" Type="int32" Size="1" />
+<Data ElementName="roll_digit3" Type="int32" Size="1" />
+<Data ElementName="roll_digit4" Type="int32" Size="1" />
+<Data ElementName="roll_digit5" Type="int32" Size="1" />
+<Data ElementName="roll_digit6" Type="int32" Size="1" />
+<Data ElementName="lottery_digit1" Type="int32" Size="1" />
+<Data ElementName="lottery_digit2" Type="int32" Size="1" />
+<Data ElementName="lottery_digit3" Type="int32" Size="1" />
+<Data ElementName="lottery_digit4" Type="int32" Size="1" />
+<Data ElementName="lottery_digit5" Type="int32" Size="1" />
+<Data ElementName="lottery_digit6" Type="int32" Size="1" />
+</Struct>
+</EQ2Emulator>

+ 183 - 0
EQ2/devtools/PacketParser/Readme.txt

@@ -0,0 +1,183 @@
+################################
+# EQ2Emulator PacketParser.exe #
+################################
+
+Contents
+--------
+
+1. Legal and Disclaimers
+2. What is PacketParser.exe?
+3. Before you begin
+4. Parsing your logs
+5. Populating your EQ2Emulator database
+6. Conclusion
+
+
+
+1. Legal and Disclaimers
+=======================================
+There is nothing "Legal" or "Illegal" about using this tool as it is licensed under GPL, so
+don't hack it, reverse-engineer it, and re-release it calling it your own great tool. The 
+only thing I want to really emphasize here is, if you use this tool to parse logs and populate
+your database, YOU ARE 100% RESPONSIBLE FOR THE OUTCOME.
+
+In no way, shape, or form is EQ2Emulator.net, developers, or database designers responsible
+for you losing data, or encountering an inability to parse and populate properly. This tool,
+like every other aspect of EQ2Emulator, is in a constant state of change and update, and at 
+times will cease to function. However, it is not a high priority for the EQ2Emulator team to
+get it working again. 
+
+In other words, be patient, report problems in a mature, friendly, 
+respectful manner, and the problems will be resolved and a new parser package released.
+
+
+
+2. What is PacketParser.exe?
+=======================================
+PacketParser.exe is the small utility that analyzes your collected packets from EQ2 Live game 
+and turns them into "raw" data for use in building your world. This tool is only needed if you 
+choose to build worlds based on the EQ2 Live experience. You can use this tool to parse Spawns, 
+Items, Merchant lists, Factions, Spell and Collection data, and Quest/Conversation from the live 
+game, with additional support added during the EQ2Emulator Alpha development cycle.
+
+In order to use PacketParser.exe, you of course need to have collected a log from the live game.
+You can collect the game data yourself using EQ2PacketCollector.exe - a separate tool (and thus 
+documented separately). EQ2PacketCollector.exe is no longer available freely to the public, but 
+you may PM John Adams or LethalEncounter on the EQ2Emulator.net forums to receive a copy of the
+program.
+
+
+
+3. Before You Begin
+=======================================
+Before you can parse a packet collect, you should have a local instance of MySQL 5.x installed.
+You can have MySQL on your Windows XP workstation, or somewhere on your network - it does not have
+to be on the same machine... but your database should not be located via a WAN or over the internet.
+It would be far too slow!
+
+Create a folder, example C:\eq2parser, and put the following files into that folder:
+
+Required:
+- PacketParser.exe
+- zlib.dll (downloadable package - search for it on the internet)
+- WorldStructs.xml
+- SpawnStructs.xml
+- ItemStructs.xml
+- parser_db.ini
+- Parser DB.sql (not needed except to source in raw DB structures)
+
+Optional (if you wanted to script some mysql actions)
+- parse-all.bat
+- mysql.exe
+- mysqldump.exe
+
+
+MySQL Database setup:
+Assuming you use SQLYog or some other MySQL GUI Tools (google them, they are your friend), you must
+connect to your MySQL instance and create a blank database. Refer to MySQL documentation on creating
+a database. Example database name for the parser: eq2_rawdata.
+
+"Source" in the included Parser_DB.sql file - by this we mean open this Query and execute it so it
+will build the database structure required by PacketParser.exe - without this, you are going nowhere.
+If you encounter errors, you need to explore how to get around them as this is not a lesson in becoming
+a Database Administrator. :)
+
+Once your database is created and you see tables like "raw_spawns", "raw_items", "raw_spells" etc, you 
+are almost ready to go. 
+
+NOTE: Since PacketParser.exe is now a "controlled release", updates to both the EXE and Parser DB.sql 
+will usually be posted in In-House Tools, under PacketParser.
+
+parser_db.ini:
+Edit parser_db.ini to reflect your database settings. Here is an example:
+
+[Database]
+host=localhost
+user=root
+password=sekr3t
+database=eq2_rawdata
+
+host: the IP or FQDN (fully qualified domain name) of your MySQL server. If it is on the same machine,
+use "localhost"
+
+user/password: This is a MySQL account that has SELECT, INSERT, UPDATE, and DELETE rights to your 
+eq2_rawdata database.
+
+database: The name of your raw database - in my example, eq2_rawdata.
+
+
+
+4. Parsing Your Logs
+=======================================
+Included in your PacketParser package is a sample BATCH file that is designed to identify *.log files
+in the current directory and execute the PacketParser.exe (with parameters) on each file individually.
+Once the parser is done with the file, it will move it off to a "Done" folder. This is to prevent the
+same log from being re-parsed should you have to stop and restart the job.
+
+Move your log(s) into your C:\eq2parser directory with your other parser files, and simply run the 
+included "parse-all.bat" file. This batch files is executing the following command:
+
+- PacketParser.exe -spawns -items -spells -quests -factions -collections {log_file}
+
+You can run the command-line version of the PacketParser.exe yourself - you do not need to use the
+batch file. Run PacketParser.exe and hit ENTER to see a list of command-line options.
+
+Example, if you just want to parse Spell information from your logs, run:
+
+- PacketParser.exe -spells {log_file}
+
+* Replace {log_file} with the name of your collected log (ie., EQ2PacketLog.log)
+
+
+You can stack the command-line options as many or as few as you like. There has to be at least one,
+and for PARSING logs, -populate is not valid (see next chapter).
+
+NOTE: The parse-all.bat file is setup to output parser data to a parser_log.txt file. This is the 
+troubleshooting information we would need to see if you are having problems. Simply post your problem
+and attach that text file. If it is larger than 10kb, you probably should ZIP/RAR it first.
+
+
+
+5. Populating your EQ2Emulator Database
+=======================================
+During the 0.7.0 development cycle of EQ2Emulator, some critical changes have been made to the database
+structures regarding Items, Spawns, Spells and Quests. Take note of these as you continue populating 
+your worlds using our tools. Recently, major changes to the Spawns structure broke the -populate
+functionality, but a new parser was released to resolve this issue.
+
+To populate your EQ2Emulator World database, simply run the following command:
+
+PacketParser.exe -populate {eq2world_db} 
+
+* Replace {eq2world_db} with the name of your database that EQ2World.exe uses
+
+The -populate command will move all raw Spawn data from parser DB to World DB for use in your world.
+
+There are a few other commands currently available:
+	-loaditems 	- this will populate the Items tables in your World DB from Raw data
+	-loadfactions 	- this will populate the Factions tables in your World DB from Raw data
+
+
+
+6. Conclusion
+=======================================
+There is literally tons of RAW data coming from packet logs, some we do not even utilize yet in the -populate
+commands of Parser. Examples of some of this data is:
+
+  raw_dialogs		: These are the conversations you have with NPCs in game, with the clickable option buttons
+  raw_conversations	: These are the casual shouts NPCs give as you pass by or Hail them - no interaction
+  raw_map_data		: You should update your map_data table in your World DB with newly parsed raw_map_data as needed
+  raw_merchant_items	: As you parse Items, if they came from a merchant window, this table shows you what spawn_id had what item_id
+  raw_quests		: This data is what we use to build LUA scripts for quests - currently no automation available
+  raw_sounds		: These are your door squeaks and other sound effects in game, mapped to their raw_spawn ID
+  raw_spells		: This data is used to build our Spells lists, or update existing information with new captured data
+  raw_zone_points	: This is an attempt for the collector/parser to locate any known zone-in-points when you zone while collecting (not always accurate)
+
+There is so much more we can gleen from our logs we hvae yet to discover. If you feel like helping identify
+some of this data, feel free to join in on the conversations in Development and offer your help.
+
+
+Happy World Building!
+
+
+-John Adams

+ 1717 - 0
EQ2/devtools/PacketParser/old_files/ItemStructs.xml

@@ -0,0 +1,1717 @@
+<EQ2Emulator>
+<Struct Name="Substruct_Item" ClientVersion="1" >
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="bag_id" Type="int32" Size="1" />
+<Data ElementName="inv_slot_id" Type="int32" Size="1" />
+<Data ElementName="menu_type" Type="int32" Size="1" />
+<Data ElementName="index" Type="int16" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="slot_id" Type="int8" Size="1" />
+<Data ElementName="count" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="name" Type="char" Size="64" />
+<Data ElementName="unknown6" Type="int8" Size="17" />
+</Struct>
+<Struct Name="WS_UpdateInventory" ClientVersion="1" OpcodeName="OP_UpdateInventoryMsg" >
+<Data ElementName="item_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="item_count">
+	<Data ElementName="items" Substruct="Substruct_Item" Size="1" />
+</Data>
+<Data ElementName="equip_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_Item" ClientVersion="893" >
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="bag_id" Type="int32" Size="1" />
+<Data ElementName="inv_slot_id" Type="int32" Size="1" />
+<Data ElementName="menu_type" Type="int32" Size="1" />
+<Data ElementName="unknown3b" Type="int32" Size="1" />
+<Data ElementName="index" Type="int16" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="slot_id" Type="int8" Size="1" />
+<Data ElementName="count" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="name" Type="char" Size="64" />
+<Data ElementName="unknown6" Type="int8" Size="17" />
+</Struct>
+<Struct Name="WS_UpdateInventory" ClientVersion="893" OpcodeName="OP_UpdateInventoryMsg" >
+<Data ElementName="item_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="item_count">
+	<Data ElementName="items" Substruct="Substruct_Item" Size="1" />
+</Data>
+<Data ElementName="equip_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="1" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="stack_size" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="860" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="stack_size" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="893" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="927" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer_unknown4" Type="int8" Size="1" />
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="1" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="19" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="860" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="broker_item_id" Type="int64" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="19" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="1" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="19" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="860" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="19" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="893" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestItemRewards" ClientVersion="1" >
+<Data ElementName="reward_id" Type="int32" Size="1" />
+<Data ElementName="header" SubStruct="Substruct_QuestItemDescription" Size="1" />
+</Struct>
+<Struct Name="WS_QuestItemRewards" ClientVersion="860" >
+<Data ElementName="reward_id" Type="int32" Size="1" />
+<Data ElementName="header" SubStruct="Substruct_QuestItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="893" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high1" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_low2" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high2" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_low3" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high3" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="delay" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="range_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="range_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="11" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="sint32" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="charges" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="12" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="12" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="898" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="12" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="skill_unknown" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="939" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="skill_unknown" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBook" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown1" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="charges" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="11" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="charges" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="11" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="charges" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="11" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="charges" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="12" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="skill_unknown" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="942" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="skill_unknown" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="int32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBook" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown1" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+</EQ2Emulator>

+ 2208 - 0
EQ2/devtools/PacketParser/old_files/ItemStructs_Parser.xml

@@ -0,0 +1,2208 @@
+<EQ2Emulator>
+<Struct Name="Substruct_Item" ClientVersion="1" >
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="bag_id" Type="int32" Size="1" />
+<Data ElementName="inv_slot_id" Type="int32" Size="1" />
+<Data ElementName="menu_type" Type="int32" Size="1" />
+<Data ElementName="index" Type="int16" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="slot_id" Type="int8" Size="1" />
+<Data ElementName="count" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="name" Type="char" Size="64" />
+<Data ElementName="unknown6" Type="int8" Size="17" />
+</Struct>
+<Struct Name="WS_UpdateInventory" ClientVersion="1" OpcodeName="OP_UpdateInventoryMsg" >
+<Data ElementName="item_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="item_count">
+	<Data ElementName="items" Substruct="Substruct_Item" Size="1" />
+</Data>
+<Data ElementName="equip_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_Item" ClientVersion="893" >
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="bag_id" Type="int32" Size="1" />
+<Data ElementName="inv_slot_id" Type="int32" Size="1" />
+<Data ElementName="menu_type" Type="int32" Size="1" />
+<Data ElementName="unknown3b" Type="int32" Size="1" />
+<Data ElementName="index" Type="int16" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="slot_id" Type="int8" Size="1" />
+<Data ElementName="count" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="name" Type="char" Size="64" />
+<Data ElementName="unknown6" Type="int8" Size="17" />
+</Struct>
+<Struct Name="WS_UpdateInventory" ClientVersion="893" OpcodeName="OP_UpdateInventoryMsg" >
+<Data ElementName="item_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="item_count">
+	<Data ElementName="items" Substruct="Substruct_Item" Size="1" />
+</Data>
+<Data ElementName="equip_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="1" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="stack_size" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="860" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="stack_size" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="893" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="927" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer_unknown4" Type="int8" Size="1" />
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="1008" >
+<Data ElementName="num_effects" Type="int8" IfVariableNotSet="header_info_header_unknown_0_0,header_unknown_0" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+  <Data ElementName="subbulletflag" Type="int8" Size = "1" />
+  <Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+  <Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="required_classes" Type="int64" Size="1" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+  <Data ElementName="set_num_needed" Type="int8" Size = "1" />
+  <Data ElementName="set_stat_count" Type="int8" />
+  <Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+    <Data ElementName="set_stat_type" Type="int8" Size="1" />
+    <Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+    <Data ElementName="set_value" Type="sint16" Size="1" OversizedValue="127" OversizedByte="127" />
+    <Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+  </Data>
+  <Data ElementName="num_set_effects" Type="int8" />
+  <Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+    <Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+    <Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+    <Data ElementName="set_percentage" Type="int8" Size = "1" />
+  </Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+  <Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+  <Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+  <Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer_unknown4" Type="int8" Size="1" />
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info3" Type="int32" Size = "1"  IfVariableSet="footer_unknown_set_info2_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="1" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="broker_item_id" Type="int64" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags1" Type="int16" Size="1" />
+<Data ElementName="flags2" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="860" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="broker_item_id" Type="int64" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags1" Type="int16" Size="1" />
+<Data ElementName="flags2" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="1008" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="broker_item_id" Type="int64" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags1" Type="int16" Size="1" />
+<Data ElementName="flags2" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+  <Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+  <Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+  <Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" />
+  <Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+  <Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+  <Data ElementName="adornment_flag" Type="int8" Size="1" />
+  <Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+    <Data ElementName="adornment_unknown" Type="int8" Size="1" />
+  </Data>
+  <Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+  <Data ElementName="adventure_class" Type="int8" Size="1" />
+  <Data ElementName="tradeskill_class" Type="int8" Size="1" />
+  <Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+  <Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="1" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="860" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+	<Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="1008" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags1" Type="int16" Size="1" />
+<Data ElementName="flags2" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="17" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+  <Data ElementName="stat_type" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+  <Data ElementName="stat_subtype" Type="sint16" OversizedValue="127" OversizedByte="127" Size="1" />
+  <Data ElementName="value" Type="sint16" OversizedValue="127" OversizedByte="127" />
+  <Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+  <Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+  <Data ElementName="adornment_flag" Type="int8" Size="1" />
+  <Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+    <Data ElementName="adornment_unknown" Type="int8" Size="1" />
+  </Data>
+  <Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="skill_min" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+  <Data ElementName="adventure_class" Type="int8" Size="1" />
+  <Data ElementName="tradeskill_class" Type="int8" Size="1" />
+  <Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+  <Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="893" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="1008" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="1008" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestItemRewards" ClientVersion="1" >
+<Data ElementName="reward_id" Type="sint32" Size="1" />
+<Data ElementName="header" SubStruct="Substruct_QuestItemDescription" Size="1" />
+</Struct>
+<Struct Name="WS_QuestItemRewards" ClientVersion="860" >
+<Data ElementName="reward_id" Type="sint32" Size="1" />
+<Data ElementName="header" SubStruct="Substruct_QuestItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="1008" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="893" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="1008" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high1" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_low2" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high2" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_low3" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_high3" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="delay" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="range_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="range_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="898" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="unknown_piece0" Type="int8" Size="1" />
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="939" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemPattern" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+  <Data ElementName="item_id" Type="sint32" Size="1" />
+  <Data ElementName="item_crc" Type="sint32" Size="1" />
+  <Data ElementName="item_icon" Type="int16" Size="1" />
+  <Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmorSet" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+  <Data ElementName="item_id" Type="sint32" Size="1" />
+  <Data ElementName="item_crc" Type="sint32" Size="1" />
+  <Data ElementName="item_icon" Type="int16" Size="1" />
+  <Data ElementName="item_tier" Type="int8" Size="1" />
+  <Data ElementName="item_unknown" Type="int8" Size="1" />
+  <Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+  <Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+  <Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+  <Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBook" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="language" Type="int8" Size="1" />
+<Data ElementName="author" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+	<Data ElementName="unknown_piece0" Type="int8" Size="1" />
+	<Data ElementName="item_id" Type="sint32" Size="1" />
+	<Data ElementName="item_crc" Type="sint32" Size="1" />
+	<Data ElementName="item_icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="942" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBook" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="language" Type="int8" Size="1" />
+<Data ElementName="author" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="range" Type="sint32" Size="1" />
+<Data ElementName="damage_modifier" Type="sint32" Size="1" />
+<Data ElementName="hit_bonus" Type="float" Size="1" />
+<Data ElementName="damage_type" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemPattern" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_patterns" Type="int8" Size="1" />
+<Data ElementName="pattern_array" Type="Array" ArraySizeVariable="num_patterns">
+  <Data ElementName="item_id" Type="sint32" Size="1" />
+  <Data ElementName="item_crc" Type="sint32" Size="1" />
+  <Data ElementName="item_icon" Type="int16" Size="1" />
+  <Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmorSet" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_armor_pieces" Type="int8" Size="1" />
+<Data ElementName="piece_array" Type="Array" ArraySizeVariable="num_armor_pieces">
+  <Data ElementName="item_id" Type="sint32" Size="1" />
+  <Data ElementName="item_crc" Type="sint32" Size="1" />
+  <Data ElementName="item_icon" Type="int16" Size="1" />
+  <Data ElementName="item_tier" Type="int8" Size="1" />
+  <Data ElementName="item_unknown" Type="int8" Size="1" />
+  <Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+  <Data ElementName="unknown_piece" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+  <Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="display_slot_optional" Type="int8" Size="1" />
+<Data ElementName="display_cast_time" Type="int8" Size="1" />
+<Data ElementName="display_bauble_type" Type="int8" Size="1" />
+<Data ElementName="effect_radius" Type="float" Size="1" />
+<Data ElementName="max_aoe_targets" Type="int32" Size="1" />
+<Data ElementName="display_until_cancelled" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="scribed_better_version" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="status_rent_reduction" Type="sint32" Size="1" />
+<Data ElementName="coin_rent_reduction" Type="float" Size="1" />
+<Data ElementName="house_only" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="allowed_types" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="broker_commission" Type="int16" Size="1" />
+<Data ElementName="fence_commission" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="1008" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+  <Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="uses" Type="int16" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+</EQ2Emulator>

+ 571 - 0
EQ2/devtools/PacketParser/old_files/MerchantItemStructs.xml

@@ -0,0 +1,571 @@
+<EQ2Emulator>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="1" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="19" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int8" Size="1" />
+	<Data ElementName="stat_subtype" Type="int8" Size="1" />
+	<Data ElementName="stat_resist_oversized" Type="int8" Size="1" />
+	<Data ElementName="value" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseMerchantItemDescription" ClientVersion="860" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="19" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int8" Size="1" />
+	<Data ElementName="stat_subtype" Type="int8" Size="1" />
+	<Data ElementName="value" Type="int16" OversizedValue="127" OversizedByte="127" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_MerchantItemDescription" ClientVersion="893" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseMerchantItemDescription" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int8" Size="1" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="11" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int8" Size="1" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="11" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int8" Size="1" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="11" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemThrown" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRange" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemWeapon" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemArmor" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemShield" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBag" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemFood" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemBauble" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int8" Size="1" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="12" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemSkill" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="skill_unknown" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouse" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="house_unknown1" Type="int32" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemHouseContainer" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MerchantItemRecipeBook" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_MerchantItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+</EQ2Emulator>

+ 3434 - 0
EQ2/devtools/PacketParser/old_files/ParserStructs.xml

@@ -0,0 +1,3434 @@
+<EQ2Emulator>
+<Comment Text="The Emu will get the latest version of the struct that is LESS than or equal to the client's version number.
+This allows multiple struct version to coexist on the same server.  Elements that arent used in the source code are set
+to zero and treated like placeholders." />
+<Struct Name="WS_SkillMap" ClientVersion="1" OpcodeName="OP_PopulateSkillMapsMsg" >
+<Data ElementName="skill_count" Type="int32" /> 
+<Data ElementName="skill_array" Type="Array" ArraySizeVariable="skill_count"> 
+   <Data ElementName="skill_id" Type="int32" /> 
+   <Data ElementName="short_name" Type="EQ2_16Bit_String" /> 
+   <Data ElementName="name" Type="EQ2_16Bit_String" />
+   <Data ElementName="description" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="LoginByNumRequest" ClientVersion="1">
+<Data ElementName="account_id"  Type="int32" />
+<Data ElementName="access_code"  Type="int32" />
+<Data ElementName="unknown"  Type="int32" />
+<Data ElementName="version"  Type="int16" />
+<Data ElementName="unknown2"  Type="int32" Size="5" />
+</Struct>
+<Struct Name="LS_LoginResponse" ClientVersion="1" OpcodeName="OP_LoginReplyMsg">
+<Data ElementName="reply_code" Type="int8" Size="1" />
+<Data ElementName="unknown01" Type="int16" Size="1" />
+<Data ElementName="unknown02" Type="int8" Size="1" />
+<Data ElementName="unknown03" Type="sint32" Size="1" />
+<Data ElementName="unknown04" Type="sint32" Size="1" />
+<Data ElementName="unknown05" Type="sint32" Size="1" />
+<Data ElementName="accountid" Type="int32" Size="1" />
+<Data ElementName="unknown06" Type="int16" Size="1" />
+<Data ElementName="unknown07" Type="int8" Size="1" />
+<Data ElementName="unknown08" Type="int8" Size="1" />
+<Data ElementName="unknown09" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="unknown11" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CommandName" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="514">
+<Data ElementName="unknown01" Type="int32" Size="1" />
+<Data ElementName="unknown02" Type="int32" Size="1" />
+<Data ElementName="unknown03" Type="int32" Size="1" />
+<Data ElementName="character_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown04" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_DisplayText" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDisplayTextCmd">
+<Data ElementName="color" Type="int8" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown02" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_OnScreenMsg" ClientVersion="1" OpcodeName="OP_OnscreenMsgMsg">
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="message_type" Type="EQ2_16Bit_String" />
+<Data ElementName="size" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_LevelChanged" ClientVersion="1" OpcodeName="OP_LevelChangedMsg">
+<Data ElementName="old_level" Type="int16" />
+<Data ElementName="new_level" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_DeathWindow" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqShowDeathWindowCmd"> 
+<Data ElementName="location_count" Type="int16" />
+<Data ElementName="location_array" Type="Array" ArraySizeVariable="location_count"> 
+   <Data ElementName="location_id" Type="int32" />
+   <Data ElementName="unknown2" Type="int8" /> 
+   <Data ElementName="zone_name" Type="EQ2_16Bit_String" /> 
+   <Data ElementName="location_name" Type="EQ2_16Bit_String" />
+   <Data ElementName="choice_text" Type="EQ2_16Bit_String" />
+   <Data ElementName="distance" Type="float" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size = "3" /> 
+</Struct>
+<Struct Name="WS_TeleportWithinZone" ClientVersion="1" OpcodeName="OP_TeleportWithinZoneMsg">
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+</Struct>
+<Struct Name="WS_GameWorldTime" ClientVersion="1" OpcodeName="OP_GameWorldTimeMsg">
+<Data ElementName="year" Type="int16" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="hour" Type="int8" Size="1" />
+<Data ElementName="minute" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unix_time" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_RequestCamp" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_RequestCampMsg">
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_UpdateText" ClientVersion="1" OpcodeName="OP_SpellGainedMsg">
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown02" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_MacroInit" ClientVersion="1" OpcodeName="OP_MacroInitMsg" > 
+<Data ElementName="macro_count" Type="int32" />
+<Data ElementName="macro_array" Type="Array" ArraySizeVariable="macro_count">
+   <Data ElementName="number" Type="int8" />
+   <Data ElementName="name" Type="EQ2_8Bit_String" />
+   <Data ElementName="macro_details_count" Type="int8" />
+   <Data ElementName="macro_details_array" Type="Array" ArraySizeVariable="macro_details_count">
+      <Data ElementName="command" Type="EQ2_16Bit_String" />
+   </Data>
+   <Data ElementName="icon" Type="int16" Size = "1" /> 
+   <Data ElementName="unknown2" Type="int16" Size = "1" /> 
+   <Data ElementName="unknown3" Type="int32" Size = "1" /> 
+   <Data ElementName="unknown4" Type="int32" Size = "1" /> 
+</Data>
+</Struct>
+<Struct Name="WS_MacroUpdate" ClientVersion="1" OpcodeName="OP_MacroUpdateMsg" > 
+<Data ElementName="number" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" />
+<Data ElementName="macro_count" Type="int8" />
+<Data ElementName="macro_array" Type="Array" ArraySizeVariable="macro_count"> 
+   <Data ElementName="command" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="icon" Type="int16" Size = "1" /> 
+<Data ElementName="unknown2" Type="int16" Size = "1" /> 
+<Data ElementName="unknown3" Type="int32" Size = "1" /> 
+<Data ElementName="unknown4" Type="int32" Size = "1" /> 
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="1" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpellEffects" ClientVersion="1" >
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="7" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpellEffects" ClientVersion="843" >
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="7" />
+</Struct>
+<Struct Name="Substruct_MaintainedEffects" ClientVersion="1" >
+<Data ElementName="name" Type="char" Size="60" />
+<Data ElementName="target" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+<Data ElementName="time_remaining" Type="float" Size="1" />
+<Data ElementName="icon_color" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="1" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="311" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="843" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="312" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="860" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="17" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="314" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="869" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="18" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="319" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="871" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="319" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="877" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="321" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="882" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="322" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="893" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="323" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="936" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="unknown8" Type="int32" Size="5" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="31" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="496" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_PlayFlavor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearPlayFlavorCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown1" Type="int32" Size="1" />
+<Data ElementName="mp3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="emote" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="key" Type="int32" Size="2" />
+<Data ElementName="unknown5" Type="int8" Size="13" />
+</Struct>
+<Struct Name="WS_PlayVoice" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlayVoiceCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="mp3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="key" Type="int32" Size="2" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_PlaySound" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlaySoundCmd">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_Play3DSound" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlaySound3DCmd">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown1" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_EntityVerbsVerb" ClientVersion="1">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="command" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_Resurrected" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqResurrectedCmd">
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CancelMoveObjectMode" ClientVersion="1" OpcodeName="OP_CancelMoveObjectModeMsg">
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_UpdateTarget" ClientVersion="1" OpcodeName="OP_UpdateTargetMsg">
+<Data ElementName="spawn_index" Type="int16" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ServerUpdateTarget" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateTargetCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct_Header" ClientVersion="1">
+<Data ElementName="index" Type="int16" Size="1" OversizedValue="255" />
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="crc" Type="int32" Size="1" />
+<Data ElementName="command_list" Type="int8" Size="1" />
+<Data ElementName="command_list_array" Type="Array" ArraySizeVariable="command_list">
+	<Data ElementName="command_list_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="command_list_max_distance" Type="float" Size="1" />
+	<Data ElementName="command_list_error" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="command_list_command" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="default_command" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="max_distance" Type="float" Size="1" />
+<Data ElementName="group_size" Type="int8" Size="1" />
+<Data ElementName="group_array" Type="Array" ArraySizeVariable="group_size">
+	<Data ElementName="group_spawn_id" Type="int32" />
+</Data>
+<Data ElementName="time_stamp" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnPositionStruct" ClientVersion="1" >
+<Data ElementName="pos_grid_id" Type="int32" Size="1" />
+<Data ElementName="pos_x" Type="float" Size="1" />
+<Data ElementName="pos_y" Type="float" Size="1" />
+<Data ElementName="pos_z" Type="float" Size="1" />
+<Data ElementName="pos_unknown" Type="sint16" Size="3" />
+<Data ElementName="pos_heading1" Type="sint16" Size="1" />
+<Data ElementName="pos_heading2" Type="sint16" Size="1" />
+<Data ElementName="pos_speed" Type="int16" Size="1" />
+<Data ElementName="pos_state" Type="int16" Size="1" />
+<Data ElementName="pos_unknown2" Type="int8" Size="4" />
+<Data ElementName="pos_unknown3a" Type="int8" Size="2" />
+<Data ElementName="pos_movement_mode" Type="int8" Size="1" />
+<Data ElementName="pos_unknown3b" Type="int8" Size="1" />
+<Data ElementName="pos_next_x" Type="float" Size="1" />
+<Data ElementName="pos_next_y" Type="float" Size="1" />
+<Data ElementName="pos_next_z" Type="float" Size="1" />
+<Data ElementName="pos_x3" Type="float" Size="1" />
+<Data ElementName="pos_y3" Type="float" Size="1" />
+<Data ElementName="pos_z3" Type="float" Size="1" />
+<Data ElementName="pos_unknown4" Type="int16" Size="2" />
+<Data ElementName="pos_move_type" Type="int16" Size="1" />
+<Data ElementName="pos_unknown6" Type="int16" Size="8" />
+<Data ElementName="pos_collision_radius" Type="int16" Size="1" />
+<Data ElementName="pos_size" Type="int16" Size="1" />
+<Data ElementName="pos_size_multiplier" Type="int16" Size="1" />
+<Data ElementName="pos_unknown10" Type="int16" Size="6" />
+</Struct>
+<Struct Name="Substruct_SpawnPositionStruct" ClientVersion="927" >
+<Data ElementName="pos_grid_id" Type="int32" Size="1" />
+<Data ElementName="pos_x" Type="float" Size="1" />
+<Data ElementName="pos_y" Type="float" Size="1" />
+<Data ElementName="pos_z" Type="float" Size="1" />
+<Data ElementName="pos_unknown" Type="sint16" Size="3" />
+<Data ElementName="pos_heading1" Type="sint16" Size="1" />
+<Data ElementName="pos_heading2" Type="sint16" Size="1" />
+<Data ElementName="pos_speed" Type="int16" Size="1" />
+<Data ElementName="pos_state" Type="int16" Size="1" />
+<Data ElementName="pos_unknown2" Type="int8" Size="4" />
+<Data ElementName="pos_unknown3a" Type="int8" Size="2" />
+<Data ElementName="pos_movement_mode" Type="int8" Size="1" />
+<Data ElementName="pos_unknown3b" Type="int8" Size="1" />
+<Data ElementName="pos_next_x" Type="float" Size="1" />
+<Data ElementName="pos_next_y" Type="float" Size="1" />
+<Data ElementName="pos_next_z" Type="float" Size="1" />
+<Data ElementName="pos_x3" Type="float" Size="1" />
+<Data ElementName="pos_y3" Type="float" Size="1" />
+<Data ElementName="pos_z3" Type="float" Size="1" />
+<Data ElementName="pos_unknown4" Type="int16" Size="2" />
+<Data ElementName="pos_move_type" Type="int16" Size="1" />
+<Data ElementName="pos_unknown6" Type="int16" Size="8" />
+<Data ElementName="pos_collision_radius" Type="int16" Size="1" />
+<Data ElementName="pos_size" Type="int16" Size="1" />
+<Data ElementName="pos_size_ratio" Type="float" Size="1" />
+<Data ElementName="pos_size_multiplier_ratio" Type="float" Size="1" />
+<Data ElementName="pos_unknown10" Type="int16" Size="5" />
+</Struct>
+<Struct Name="Substruct_SpawnPositionStruct" ClientVersion="936" >
+<Data ElementName="pos_grid_id" Type="int32" Size="1" />
+<Data ElementName="pos_x" Type="float" Size="1" />
+<Data ElementName="pos_y" Type="float" Size="1" />
+<Data ElementName="pos_z" Type="float" Size="1" />
+<Data ElementName="pos_unknown" Type="sint16" Size="3" />
+<Data ElementName="pos_heading1" Type="sint16" Size="1" />
+<Data ElementName="pos_heading2" Type="sint16" Size="1" />
+<Data ElementName="pos_speed" Type="int16" Size="1" />
+<Data ElementName="pos_state" Type="int16" Size="1" />
+<Data ElementName="pos_unknown2" Type="int8" Size="6" />
+<Data ElementName="pos_next_x" Type="float" Size="1" />
+<Data ElementName="pos_next_y" Type="float" Size="1" />
+<Data ElementName="pos_next_z" Type="float" Size="1" />
+<Data ElementName="pos_x3" Type="float" Size="1" />
+<Data ElementName="pos_y3" Type="float" Size="1" />
+<Data ElementName="pos_z3" Type="float" Size="1" />
+<Data ElementName="pos_movement_mode" Type="int8" Size="1" />
+<Data ElementName="pos_unknown3b" Type="int8" Size="1" />
+<Data ElementName="pos_unknown4" Type="int16" Size="2" />
+<Data ElementName="pos_move_type" Type="int16" Size="1" />
+<Data ElementName="pos_unknown6" Type="int16" Size="8" />
+<Data ElementName="pos_collision_radius" Type="int16" Size="1" />
+<Data ElementName="pos_size" Type="int16" Size="1" />
+<Data ElementName="pos_size_ratio" Type="float" Size="1" />
+<Data ElementName="pos_size_multiplier_ratio" Type="float" Size="1" />
+<Data ElementName="pos_unknown10" Type="int16" Size="6" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="1" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="health_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="288" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="6" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="8" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="unknown18" Type="int8" Size="40" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="860" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="health_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="288" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="6" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="8" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="unknown18" Type="int8" Size="44" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="4" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="864" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="health_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="288" />
+<Data ElementName="class" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="6" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="8" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="unknown18" Type="int8" Size="40" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnInfoStruct" ClientVersion="936" >
+<Data ElementName="hp_remaining" Type="int8" Size="1" />
+<Data ElementName="unknown2a" Type="int8" Size="3" />
+<Data ElementName="health_percent" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="257" />
+<Data ElementName="heroic_flag" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int8" Size="1" />
+<Data ElementName="activity_status" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="2" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="unknown6b" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="float" Size="1" />
+<Data ElementName="model_type" Type="int16" Size="1" />
+<Data ElementName="soga_model_type" Type="int16" Size="1" />
+<Data ElementName="skin_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_color" Type="EQ2_Color" Size="1" />
+<Data ElementName="soga_eye_color" Type="EQ2_Color" />
+<Data ElementName="soga_skin_color" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color1" Type="EQ2_Color" />
+<Data ElementName="kunark_unknown_color2" Type="EQ2_Color" />
+<Data ElementName="equipment_types" Type="int16" Size="25" />
+<Data ElementName="hair_type_id" Type="int16" Size="1" />
+<Data ElementName="facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="wing_type_id" Type="int16" Size="1" />
+<Data ElementName="chest_type_id" Type="int16" Size="1" />
+<Data ElementName="legs_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="soga_facial_hair_type_id" Type="int16" Size="1" />
+<Data ElementName="equipment_colors" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_color" Type="EQ2_Color" />
+<Data ElementName="wing_color1" Type="EQ2_Color" />
+<Data ElementName="unknown10" Type="EQ2_Color" Size="2" />
+<Data ElementName="equipment_highlights" Type="EQ2_Color" Size="25" />
+<Data ElementName="hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="wing_color2" Type="EQ2_Color" />
+<Data ElementName="unknown11" Type="EQ2_Color" Size="2" />
+<Data ElementName="soga_hair_type_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_type_highlight_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_color" Type="EQ2_Color" />
+<Data ElementName="soga_hair_face_highlight_color" Type="EQ2_Color" />
+<Data ElementName="unknown12" Type="EQ2_Color" Size="1" />
+<Data ElementName="eye_type" Type="sint8" Size="3" />
+<Data ElementName="ear_type" Type="sint8" Size="3" />
+<Data ElementName="eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="cheek_type" Type="sint8" Size="3" />
+<Data ElementName="lip_type" Type="sint8" Size="3" />
+<Data ElementName="chin_type" Type="sint8" Size="3" />
+<Data ElementName="nose_type" Type="sint8" Size="3" />
+<Data ElementName="body_size" Type="sint8" Size="1" />
+<Data ElementName="unknown13" Type="int32" Size="1" />
+<Data ElementName="soga_eye_type" Type="sint8" Size="3" />
+<Data ElementName="soga_ear_type" Type="sint8" Size="3" />
+<Data ElementName="soga_eye_brow_type" Type="sint8" Size="3" />
+<Data ElementName="soga_cheek_type" Type="sint8" Size="3" />
+<Data ElementName="soga_lip_type" Type="sint8" Size="3" />
+<Data ElementName="soga_chin_type" Type="sint8" Size="3" />
+<Data ElementName="soga_nose_type" Type="sint8" Size="3" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="8" />
+<Data ElementName="hair_color1" Type="EQ2_Color" />
+<Data ElementName="hair_color2" Type="EQ2_Color" />
+<Data ElementName="hair_highlight" Type="EQ2_Color" />
+<Data ElementName="soga_hair_color1" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_color2" Type="EQ2_Color"  />
+<Data ElementName="soga_hair_highlight" Type="EQ2_Color" />
+<Data ElementName="unknown18" Type="int8" Size="40" />
+<Data ElementName="action_state" Type="int16" Size="1" />
+<Data ElementName="visual_state" Type="int16" Size="1" />
+<Data ElementName="mood_state" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="2" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown20" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_SpawnStruct_Footer" ClientVersion="1">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="2" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="guild" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct_Footer" ClientVersion="882">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="2" />
+<Data ElementName="unknown2" Type="int8" Size="2" />
+<Data ElementName="guild" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="spawn_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_WidgetSpawnStruct_Footer" ClientVersion="1">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown1" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="float" Size="1" />
+<Data ElementName="widget_id" Type="int32" Size="1" />
+<Data ElementName="widget_x" Type="float" Size="1" />
+<Data ElementName="widget_y" Type="float" Size="1" />
+<Data ElementName="widget_z" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_WidgetSpawnStruct_Footer" ClientVersion="882">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown1a" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="float" Size="1" />
+<Data ElementName="unknown3b" Type="int8" Size="1" />
+<Data ElementName="unknown3c" Type="int8" Size="1" />
+<Data ElementName="widget_id" Type="int32" Size="1" />
+<Data ElementName="widget_x" Type="float" Size="1" />
+<Data ElementName="widget_y" Type="float" Size="1" />
+<Data ElementName="widget_z" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_SignWidgetSpawnStruct_Footer" ClientVersion="1">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown1a" Type="float" Size="1" />
+<Data ElementName="unknown1b" Type="float" Size="1" />
+<Data ElementName="unknown1c" Type="float" Size="1" />
+<Data ElementName="widget_id" Type="int32" Size="1" />
+<Data ElementName="widget_x" Type="float" Size="1" />
+<Data ElementName="widget_y" Type="float" Size="1" />
+<Data ElementName="widget_z" Type="float" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="sign_distance" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_SignWidgetSpawnStruct_Footer" ClientVersion="882">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown1a" Type="float" Size="1" />
+<Data ElementName="unknown1b" Type="float" Size="1" />
+<Data ElementName="unknown1c" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="widget_id" Type="int32" Size="1" />
+<Data ElementName="widget_x" Type="float" Size="1" />
+<Data ElementName="widget_y" Type="float" Size="1" />
+<Data ElementName="widget_z" Type="float" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="sign_distance" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnVisualizationInfoStruct" ClientVersion="1">
+<Data ElementName="arrow_color" Type="int8" Size="1" />
+<Data ElementName="locked_no_loot" Type="int8" Size="1" />
+<Data ElementName="npc_con" Type="sint8" Size="1" />
+<Data ElementName="quest_flag" Type="int8" Size="1" />
+<Data ElementName="vis_flags" Type="int8" Size="1" />
+<Data ElementName="unknownb" Type="int8" Size="4" />
+<Data ElementName="hand_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpawnVisualizationInfoStruct" ClientVersion="936">
+<Data ElementName="arrow_color" Type="int8" Size="1" />
+<Data ElementName="locked_no_loot" Type="int8" Size="1" />
+<Data ElementName="npc_con" Type="sint8" Size="1" />
+<Data ElementName="quest_flag" Type="int8" Size="1" />
+<Data ElementName="vis_flags" Type="int8" Size="1" />
+<Data ElementName="unknownb" Type="int8" Size="4" />
+<Data ElementName="hand_flag" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="1">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="860">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="864">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="927">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SpawnStruct" ClientVersion="936">
+<Data ElementName="position" Substruct="Substruct_SpawnPositionStruct" Size="1" />
+<Data ElementName="vis" Substruct="Substruct_SpawnVisualizationInfoStruct" Size="1" />
+<Data ElementName="info" Substruct="Substruct_SpawnInfoStruct" Size="1" />
+</Struct>
+<Struct Name="WS_SetPOVGhostCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetPOVGhostCmd">
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_DestroyGhostCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDestroyGhostCmd">
+<Data ElementName="spawn_index" Type="int16" OversizedValue="255" />
+<Data ElementName="delete" Type="int8" />
+</Struct>
+<Struct Name="WS_ClientFell" ClientVersion="1" OpcodeName="OP_ClientFellMsg">
+<Data ElementName="height" Type="float" />
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_SetDefaultCommand" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetDefaultVerbCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="command_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="distance" Type="float" />
+</Struct>
+<Struct Name="WS_HearDamage_Header" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="packet_type" Type="int8" />
+<Data ElementName="result_type" Type="int8" />
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+<Data ElementName="unknown" Type="int16" />
+</Struct>
+<Struct Name="WS_HearSimpleDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+</Struct>
+<Struct Name="WS_HearSiphonSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="siphon_type" Type="int8" />
+<Data ElementName="siphon_subtype" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearMultipleDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="num_dmg" Type="int8" />
+<Data ElementName="dmg_array" Type="Array" ArraySizeVariable="num_dmg">
+	<Data ElementName="damage_type" Type="int8" />
+	<Data ElementName="damage" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_HearSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearRangeDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+</Struct>
+<Struct Name="WS_HearRangeSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearDeath" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearDeathCmd">
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="unknown3" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateSkillBook" ClientVersion="1" OpcodeName="OP_UpdateSkillBookMsg" >
+<Data ElementName="skill_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="skill_array" Type="Array" ArraySizeVariable="skill_count">
+	<Data ElementName="skill_id" Type="int32" />
+	<Data ElementName="type" Type="int32" />
+	<Data ElementName="current_val" Type="int16" />
+	<Data ElementName="base_val" Type="int16" />
+	<Data ElementName="max_val" Type="int16" />
+	<Data ElementName="skill_delta" Type="int16" />
+	<Data ElementName="skill_delta2" Type="int16" />
+	<Data ElementName="display_minval" Type="int8" Size="1" />
+	<Data ElementName="display_maxval" Type="int8" Size="1" />
+	<Data ElementName="language_unknown" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_SpellSlotMapping" ClientVersion="1" OpcodeName="OP_KnowledgeWindowSlotMappingMsg" >
+<Data ElementName="spell_count" Type="int16" />
+<Data ElementName="spell_array" Type="Array" ArraySizeVariable="spell_count">
+	<Data ElementName="spell_id" Type="int32" />
+	<Data ElementName="slot_id" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_SkillInfoRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoSpellRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoItemRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoResponse" ClientVersion="1" OpcodeName="OP_SkillInfoResponse" >
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SkillInfoItemResponse" ClientVersion="1" OpcodeName="OP_SkillInfoResponse" >
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SetControlGhost" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetControlGhostCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="speed" Type="float" />
+<Data ElementName="size" Type="float" />
+<Data ElementName="unknown2" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateSpellBook" ClientVersion="1" OpcodeName="OP_UpdateSpellBookMsg" >
+<Data ElementName="spell_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="spell_array" Type="Array" ArraySizeVariable="spell_count">
+	<Data ElementName="spell_id" Type="int32" />
+	<Data ElementName="unique_id" Type="int32" />
+	<Data ElementName="unknown2" Type="int32" Size="1" />
+	<Data ElementName="type" Type="int16" Size="1" />
+	<Data ElementName="recast_time" Type="int16" Size="1" />
+	<Data ElementName="unknown3" Type="int16" />
+	<Data ElementName="icon" Type="sint16" />
+	<Data ElementName="icon_type" Type="int16" />
+	<Data ElementName="unknown4" Type="int16" Size="1" />
+	<Data ElementName="charges" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="4" />
+	<Data ElementName="status" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="Substruct_Item" ClientVersion="1" >
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="bag_id" Type="int32" Size="1" />
+<Data ElementName="inv_slot_id" Type="int32" Size="1" />
+<Data ElementName="menu_type" Type="int8" Size="1" />
+<Data ElementName="sub_type" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="index" Type="int16" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="slot_id" Type="int8" Size="1" />
+<Data ElementName="count" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="name" Type="char" Size="64" />
+<Data ElementName="unknown6" Type="int8" Size="17" />
+</Struct>
+<Struct Name="WS_UpdateInventory" ClientVersion="1" OpcodeName="OP_UpdateInventoryMsg" >
+<Data ElementName="item_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="item_count">
+	<Data ElementName="items" Substruct="Substruct_Item" Size="1" />
+</Data>
+<Data ElementName="equip_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_Item" ClientVersion="893" >
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="bag_id" Type="int32" Size="1" />
+<Data ElementName="inv_slot_id" Type="int32" Size="1" />
+<Data ElementName="menu_type" Type="int8" Size="1" />
+<Data ElementName="sub_type" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="unknown3b" Type="int32" Size="1" />
+<Data ElementName="index" Type="int16" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="slot_id" Type="int8" Size="1" />
+<Data ElementName="count" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="name" Type="char" Size="64" />
+<Data ElementName="unknown6" Type="int8" Size="17" />
+</Struct>
+<Struct Name="WS_UpdateInventory" ClientVersion="893" OpcodeName="OP_UpdateInventoryMsg" >
+<Data ElementName="item_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="item_count">
+	<Data ElementName="items" Substruct="Substruct_Item" Size="1" />
+</Data>
+<Data ElementName="equip_flag" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="1" >
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="footer_unknown" Type="int8" Size="8" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="stack_size" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1" IfVariableSet="footer_set_name_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaubleItemFooter" ClientVersion="1" >
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="footer_unknown" Type="int8" Size="12" />
+<Data ElementName="footer_spell_level" Type="int8" Size="1" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="num_targets" Type="int8" Size="1" />
+<Data ElementName="target_array" Type="Array" ArraySizeVariable="num_targets">
+	<Data ElementName="target_unknown" Type="int32" Size = "1" />
+</Data>
+<Data ElementName="footer_unknown2" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="893" >
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="footer_unknown" Type="int8" Size="8" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaubleItemFooter" ClientVersion="893" >
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="footer_unknown" Type="int8" Size="16" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="display_charges_array" Type="Array" ArraySizeVariable="display_charges" MaxArraySize="1">
+	<Data ElementName="footer_spell_level" Type="int16" Size="1" />
+	<Data ElementName="use_level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="stack_size" Type="int16" Size="1" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemFooter" ClientVersion="927" >
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="footer_unknown" Type="int8" Size="8" />
+<Data ElementName="recommended_level" Type="int8" Size="1" />
+<Data ElementName="required_level" Type="int8" Size="1" IfVariableSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="footer_unknown2" Type="int8" Size="1" IfVariableNotSet="mitigation_low,rating,spell_info_id" />
+<Data ElementName="stack_size" Type="int8" Size="1" />
+<Data ElementName="footer_unknown3" Type="int8" Size="1" />
+<Data ElementName="set_name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="num_sets" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_array" Type="Array" ArraySizeVariable="num_sets">
+	<Data ElementName="set_num_needed" Type="int8" Size = "1" />
+	<Data ElementName="set_stat_count" Type="int8" />
+	<Data ElementName="set_stat_array" Type="Array" ArraySizeVariable="set_stat_count">
+		<Data ElementName="set_stat_type" Type="int8" Size="1" />
+		<Data ElementName="set_stat_subtype" Type="int8" Size="1" />
+		<Data ElementName="set_value" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+		<Data ElementName="set_stat_name" Type="EQ2_8Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="num_set_effects" Type="int8" />
+	<Data ElementName="set_effect_array" Type="Array" ArraySizeVariable="num_set_effects">
+		<Data ElementName="set_subbulletflag" Type="int8" Size = "1" />
+		<Data ElementName="set_effect" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="set_percentage" Type="int8" Size = "1" />
+	</Data>
+</Data>
+<Data ElementName="num_items_in_set" Type="int8" IfVariableSet="footer_set_name_0" />
+<Data ElementName="set_items_array" Type="Array" ArraySizeVariable="num_items_in_set">
+	<Data ElementName="set_items_unknown1" Type="int8" Size = "1" />
+	<Data ElementName="set_items_unknown2" Type="int8" Size = "1" />
+	<Data ElementName="set_item_name" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="footer_unknown4" Type="int8" Size="1" />
+<Data ElementName="collectable" Type="int8"  IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="collection_needed" Type="int8" IfVariableSet="footer_collectable_0" />
+<Data ElementName="offers_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="part_of_quest" Type="EQ2_8Bit_String" Size="1" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="offers_quest_color" Type="int8" IfVariableSet="footer_offers_quest_0" />
+<Data ElementName="part_of_quest_color" Type="int8" IfVariableSet="footer_part_of_quest_0" />
+<Data ElementName="unknown_set_data1" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="charges" Type="int8" IfVariableNotSet="footer_set_name_0" />
+<Data ElementName="total_charges" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="charges_left" Type="int16" IfVariableSet="footer_charges_0" />
+<Data ElementName="unknown_set_info" Type="int32" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="unknown_set_info2" Type="int8" Size = "1"  IfVariableSet="footer_set_name_0" />
+<Data ElementName="footer_unknown5" Type="int8" Size="1" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaubleItemFooter" ClientVersion="927" >
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="footer_unknown" Type="int8" Size="17" />
+<Data ElementName="display_charges" Type="int8" />
+<Data ElementName="display_charges_array" Type="Array" ArraySizeVariable="display_charges" MaxArraySize="1">
+	<Data ElementName="footer_spell_level" Type="int16" Size="1" />
+	<Data ElementName="use_level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="stack_size" Type="int16" Size="1" />
+<Data ElementName="crafting_flag" Type="int8" />
+<Data ElementName="transmuted_flag" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineInfoHeader" ClientVersion="1" >
+<Data ElementName="show_name" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineInfoHeader" ClientVersion="860" >
+<Data ElementName="show_name" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestExamineInfoHeader" ClientVersion="1" >
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestExamineInfoHeader" ClientVersion="860" >
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="1" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="19" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int8" Size="1" />
+	<Data ElementName="stat_subtype" Type="int8" Size="1" />
+	<Data ElementName="stat_resist_oversized" Type="int8" Size="1" />
+	<Data ElementName="value" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_BaseItemDescription" ClientVersion="860" >
+<Data ElementName="creator_flag" Type="int8" Size="1" />
+<Data ElementName="creator" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="adornment" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="2" />
+<Data ElementName="adornment_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="first_desc" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="item_id" Type="sint32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="flags" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="19" />
+<Data ElementName="stat_count" Type="int8" />
+<Data ElementName="stat_array" Type="Array" ArraySizeVariable="stat_count">
+	<Data ElementName="stat_type" Type="int8" Size="1" />
+	<Data ElementName="stat_subtype" Type="int8" Size="1" />
+	<Data ElementName="value" Type="int16" OversizedValue="127" OversizedByte="127" />
+	<Data ElementName="stat_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="stat_string_count" Type="int8" />
+<Data ElementName="stat_string_array" Type="Array" ArraySizeVariable="stat_string_count">
+	<Data ElementName="stat_string" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="adornment_flag" Type="int8" Size="1" />
+	<Data ElementName="adornment_array" Type="Array" ArraySizeVariable="adornment_flag">
+		<Data ElementName="adornment_unknown" Type="int8" Size="1" />
+	</Data>	
+	<Data ElementName="stat_description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="condition" Type="int8" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="skill_req1" Type="int32" Size="1" />
+<Data ElementName="skill_req2" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int16" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="class_count" Type="int8" />
+<Data ElementName="class_array" Type="Array" ArraySizeVariable="class_count">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+</Data>
+<Data ElementName="slot_count" Type="int8" />
+<Data ElementName="slot_array" Type="Array" ArraySizeVariable="slot_count">
+	<Data ElementName="slot" Type="int8" Size="1" />
+</Data>
+<Data ElementName="footer_type" Type="int32" Size="1" />
+<Data ElementName="item_type" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_ItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_QuestItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_QuestExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="1" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="Substruct_LootItemDescription" ClientVersion="860" >
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="info" Substruct="Substruct_BaseItemDescription" Size="1" />
+</Struct>
+<Struct Name="WS_SpecialSpellInfo" ClientVersion="1">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="1">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+        <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+        <Data ElementName="consumed" Type="int8" Size="1" />
+        <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int8" Size="1" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="11" />
+<Data ElementName="footer" Substruct="Substruct_BaubleItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int8" Size="1" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="12" />
+<Data ElementName="footer" Substruct="Substruct_BaubleItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="house_unknown1" Type="int32" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemShield" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int8" Size="1" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="12" />
+<Data ElementName="footer" Substruct="Substruct_BaubleItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="house_unknown1" Type="int32" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="898" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="house_unknown1" Type="int32" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="2" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemThrown" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="unknown12" Type="sint32" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="float" Size="1" />
+<Data ElementName="unknown16" Type="int32" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRange" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_low" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="range_high" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemWeapon" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="wield_type" Type="int8" Size="1" />
+<Data ElementName="damage_low1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high1" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high2" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_low3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_high3" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="delay" Type="int16" OversizedValue="127" OversizedByte="127" Size="1" />
+<Data ElementName="damage_type" Type="int8" Size="1" />
+<Data ElementName="rating" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemArmor" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="mitigation_low" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="mitigation_high" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBag" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="num_empty" Type="int8" Size="1" />
+<Data ElementName="weight_reduction" Type="int16" Size="1" />
+<Data ElementName="num_names" Type="int8" Size="1" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemFood" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="food_type" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="duration" Type="float" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemBauble" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="cast" Type="int16" Size="1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="charges" Type="int8" Size="1" />
+<Data ElementName="duration" Type="int32" Size="1" />
+<Data ElementName="recast" Type="float" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="12" />
+<Data ElementName="footer" Substruct="Substruct_BaubleItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemSkill" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+<Data ElementName="scribed" Type="int8" Size="1" />
+<Data ElementName="skill_unknown" Type="int8" Size="1" IfVariableSet="scribed" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouse" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="rent_reduction" Type="int32" Size="1" />
+<Data ElementName="house_unknown1" Type="int32" Size="1" />
+<Data ElementName="house_unknown2" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemHouseContainer" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="disallowed_types" Type="int16" Size="1" />
+<Data ElementName="allowed_types" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int32" Size="1" />
+<Data ElementName="num_slots" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_ItemRecipeBook" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_ItemDescription" Size="1" />
+<Data ElementName="num_recipes" Type="int16" Size="1" OversizedValue="127" />
+<Data ElementName="recipe_array" Type="Array" ArraySizeVariable="num_recipes">
+	<Data ElementName="recipe_name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown12" Type="int8" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="893" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_LootItemGeneric" ClientVersion="927" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="header" Substruct="Substruct_LootItemDescription" Size="1" />
+<Data ElementName="footer" Substruct="Substruct_ItemFooter" Size="1" />
+</Struct>
+<Struct Name="WS_MoveObjectMode" ClientVersion="1" OpcodeName="OP_EnterMoveObjectModeMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="placement_mode" Type="int8" />
+<Data ElementName="model_type" Type="int16" />
+<Data ElementName="unknown2" Type="float" />
+<Data ElementName="max_distance" Type="float" />
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_PlaceMoveableObject" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="float" />
+<Data ElementName="unknown2" Type="float" />
+<Data ElementName="unknown3" Type="int32" />
+</Struct>
+<Struct Name="WS_ServerControlFlags" ClientVersion="1" OpcodeName="OP_ChangeServerControlFlagMsg" >
+<Data ElementName="parameter1" Type="int8" />
+<Data ElementName="parameter2" Type="int8" />
+<Data ElementName="parameter3" Type="int8" />
+<Data ElementName="parameter4" Type="int8" />
+<Data ElementName="parameter5" Type="int8" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+<Data ElementName="value" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveClient" ClientVersion="1" OpcodeName="OP_TeleportWithinZoneNoReloadMsg" >
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveClient" ClientVersion="869" OpcodeName="OP_TeleportWithinZoneNoReloadMsg" >
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="location" Type="int32" />
+</Struct>
+<Struct Name="WS_ExamineInfoItemRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoRequest" ClientVersion="860" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="2" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoItemLinkRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="4" />
+<Data ElementName="item_id" Type="sint32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_QuickBarUpdateRequest" ClientVersion="1" >
+<Data ElementName="hotbar_number" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="hotkey_slot" Type="int32" />
+<Data ElementName="type" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="unknown4" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int16" Size = "1" />
+</Struct>
+<Struct Name="WS_CannedEmote" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCannedEmoteCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="emote_msg" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="anim_type" Type="int16" />
+<Data ElementName="unknown0" Type="int32" />
+</Struct>
+<Struct Name="WS_HearCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearSpellCastCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="target" Type="int32" />
+<Data ElementName="spell_id" Type="int32" />
+<Data ElementName="spell_visual" Type="int32" />
+<Data ElementName="cast_time" Type="float" />
+<Data ElementName="unknown5" Type="int16" />
+<Data ElementName="unknown6" Type="int8" />
+</Struct>
+<Struct Name="WS_StartCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSpellCastStartCmd">
+<Data ElementName="cast_time" Type="float" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_FinishCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSpellCastEndCmd">
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_QuickBarInit" ClientVersion="1" OpcodeName="OP_QuickbarInitMsg" >
+<Data ElementName="num_abilities" Type="int32" />
+<Data ElementName="ability_array" Type="Array" ArraySizeVariable="num_abilities">
+	<Data ElementName="hotbar" Type="int32" Size="1" />
+	<Data ElementName="unknown" Type="int32" Size="1" />
+	<Data ElementName="slot" Type="int32" Size="1" />
+	<Data ElementName="type" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="icon_type" Type="int16" Size="1" />
+	<Data ElementName="unknown2" Type="int32" Size="1" />
+	<Data ElementName="id" Type="int32" Size="1" />
+	<Data ElementName="unique_id" Type="int32" Size="1" />
+	<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown3" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_EntityVerbRequest" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_EntityVerbResponse" ClientVersion="1" OpcodeName="OP_EntityVerbsReplyMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_verbs" Type="int8" />
+<Data ElementName="verbs_array" Type="Array" ArraySizeVariable="num_verbs">
+	<Data ElementName="command" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="distance" Type="float" />
+	<Data ElementName="display_error" Type="int16" />
+	<Data ElementName="error" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="display_text" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_WhoQueryReply" ClientVersion="1" OpcodeName="OP_WhoQueryReplyMsg" >
+<Data ElementName="account_id" Type="int32" />
+<Data ElementName="unknown" Type="int32" />
+<Data ElementName="response" Type="int8" />
+<Data ElementName="num_characters" Type="int8" />
+<Data ElementName="characters_array" Type="Array" ArraySizeVariable="num_characters">
+	<Data ElementName="char_name" Type="char" Size="40" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int16" Size="1" />
+	<Data ElementName="class" Type="int16" Size="1" />
+	<Data ElementName="unknown4" Type="int8" />
+	<Data ElementName="race" Type="int8" Size="1" />
+	<Data ElementName="flags" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="zone" Type="char" Size="77" />
+	<Data ElementName="guild" Type="char" Size="40" />
+	<Data ElementName="unknown7" Type="int8" />
+	<Data ElementName="unknown8" Type="int8" />
+	<Data ElementName="unknown9" Type="int8" />
+</Data>
+<Data ElementName="unknown10" Type="int8" />
+</Struct>
+
+<Struct Name="WS_HearChat" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearChatCmd" >
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="from_spawn_id" Type="int32" />
+<Data ElementName="to_spawn_id" Type="int32" />
+<Data ElementName="from" Type="EQ2_16Bit_String" />
+<Data ElementName="to" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+<Data ElementName="time" Type="int32" />
+<Data ElementName="channel" Type="int8" />
+<Data ElementName="language" Type="int8" />
+<Data ElementName="message" Type="EQ2_16Bit_String" />
+<Data ElementName="channel_name" Type="EQ2_16Bit_String" />
+<Data ElementName="show_bubble" Type="int8" Size="1" />
+<Data ElementName="understood" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_UpdateLoot" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateLootCmd" >
+<Data ElementName="loot_count" Type="int16" />
+<Data ElementName="display" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="loot_id" Type="int32" />
+</Struct>
+<Struct Name="WS_UpdateLoot" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateLootCmd" >
+<Data ElementName="loot_count" Type="int16" />
+<Data ElementName="display" Type="int16" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="loot_id" Type="int32" />
+</Struct>
+<Struct Name="WS_LootType" ClientVersion="1" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+</Struct>
+<Struct Name="WS_LootType" ClientVersion="882" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+</Struct>
+<Struct Name="WS_LootItem" ClientVersion="1" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="item_id" Type="sint32" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="unknown4" Type="int32" />
+</Struct>
+<Struct Name="WS_LootItem" ClientVersion="882" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="item_id" Type="sint32" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="unknown4" Type="int32" />
+</Struct>
+<Struct Name="WS_UpdateBank" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateBankCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="bank_coins" Type="int32" />
+<Data ElementName="bank_coins2" Type="int32" />
+<Data ElementName="copper" Type="int32" />
+<Data ElementName="silver" Type="int32" />
+<Data ElementName="gold" Type="int32" />
+<Data ElementName="plat" Type="int32" />
+<Data ElementName="display" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateBank" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateBankCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="bank_coins" Type="int32" />
+<Data ElementName="bank_coins2" Type="int32" />
+<Data ElementName="shared_bank_coins" Type="int32" />
+<Data ElementName="shared_bank_coins2" Type="int32" />
+<Data ElementName="copper" Type="int32" />
+<Data ElementName="silver" Type="int32" />
+<Data ElementName="gold" Type="int32" />
+<Data ElementName="plat" Type="int32" />
+<Data ElementName="display" Type="int8" />
+</Struct>
+<Struct Name="WS_QuestJournalUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalUpdateCmd" >
+<Data ElementName="num_quests" Type="int16" />
+<Data ElementName="quests_array" Type="Array" ArraySizeVariable="num_quests">
+	<Data ElementName="active" Type="int8" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_type" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown1" Type="int8" Size="1" />
+	<Data ElementName="turned_in" Type="int8" Size="1" />
+	<Data ElementName="repeatable" Type="int8" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="1" />
+	<Data ElementName="completed" Type="int8" Size="1" />
+	<Data ElementName="quest_id" Type="int32" Size="1" />
+	<Data ElementName="day" Type="int8" Size="1" />
+	<Data ElementName="month" Type="int8" Size="1" />
+	<Data ElementName="year" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="encounter_level" Type="int8" Size="1" />
+	<Data ElementName="difficulty" Type="int8" Size="1" />
+	<Data ElementName="visible" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+<Data ElementName="visible_quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="player_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="used_quests" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_OfferQuest" ClientVersion="1" OpcodeName="OP_OfferQuestMsg" >
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="quest_difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int32" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="3" />
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="accept_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="decline_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="verify_enabled" Type="int32" Size="1" />
+<Data ElementName="verify_text" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="unknown4b" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_GlowPath" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHelpPathCmd" >
+<Data ElementName="num_points" Type="int16" />
+<Data ElementName="points_array" Type="Array" ArraySizeVariable="num_points">
+	<Data ElementName="x" Type="float" Size="1" />
+	<Data ElementName="y" Type="float" Size="1" />
+	<Data ElementName="z" Type="float" Size="1" />
+</Data>
+<Data ElementName="waypoint_x" Type="float" Size="1" />
+<Data ElementName="waypoint_y" Type="float" Size="1" />
+<Data ElementName="waypoint_z" Type="float" Size="1" />
+<Data ElementName="waypoint_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_WaypointUpdate" ClientVersion="1" OpcodeName="OP_WaypointUpdateMsg" >
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="waypoint_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="5" />
+<Data ElementName="level1" Type="int8" Size="1" />
+<Data ElementName="level2" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown7" Type="int8" Size="2" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="3" />
+<Data ElementName="num_rewards" Type="int32" />
+</Struct>
+<Struct Name="WS_QuestItemRewards" ClientVersion="1" >
+<Data ElementName="reward_id" Type="int32" Size="1" />
+<Data ElementName="header" SubStruct="Substruct_QuestItemDescription" Size="1" />
+</Struct>
+<Struct Name="WS_QuestItemRewards" ClientVersion="860" >
+<Data ElementName="reward_id" Type="int32" Size="1" />
+<Data ElementName="header" SubStruct="Substruct_QuestItemDescription" Size="1" />
+</Struct>
+<Struct Name="WS_QuestFactionRewards" ClientVersion="1" >
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="8" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestComplete" ClientVersion="1" OpcodeName="OP_QuestReward" >
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int32" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="3" />
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_DialogOpen" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDialogOpenCmd" >
+<Data ElementName="conversation_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="num_responses" Type="int16" />
+<Data ElementName="response_array" Type="Array" ArraySizeVariable="num_responses">
+	<Data ElementName="response" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="voice" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="key1" Type="int32" Size="1" />
+<Data ElementName="key2" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_DialogSelect" ClientVersion="1" >
+<Data ElementName="conversation_id" Type="int32" />
+<Data ElementName="response" Type="int32" />
+</Struct>
+<Struct Name="WS_ServerDialogClose" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDialogCloseCmd" >
+<Data ElementName="conversation_id" Type="int32" />
+</Struct>
+<Struct Name="WS_DressingRoom" ClientVersion="1" OpcodeName="OP_DressingRoom" >
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="slot" Type="int32" />
+<Data ElementName="appearance_id" Type="int16" />
+<Data ElementName="rgb" Type="float" Size="3" />
+<Data ElementName="highlight_rgb" Type="float" Size="3" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="icon" Type="int16" />
+<Data ElementName="item_id" Type="sint32" />
+<Data ElementName="item_crc" Type="int32" />
+<Data ElementName="unknown4" Type="int32" />
+<Data ElementName="unknown5" Type="int8" Size="10" />
+</Struct>
+<Struct Name="WS_UpdateMerchant" ClientVersion="1" OpcodeName="OP_EqUpdateMerchantCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_items" Type="int16" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="price" Type="int64" />
+	<Data ElementName="item_id" Type="sint32" />
+	<Data ElementName="unknown2" Type="int32" />
+	<Data ElementName="stack_size" Type="int16" />
+	<Data ElementName="icon" Type="int16" />
+	<Data ElementName="unknown3" Type="int8" />
+	<Data ElementName="level" Type="int8" />
+	<Data ElementName="unknown4" Type="int8" />
+	<Data ElementName="unknown5" Type="int16" />
+	<Data ElementName="tier" Type="int8" />
+	<Data ElementName="unknown6" Type="int32" />
+	<Data ElementName="item_id2" Type="sint32" />
+	<Data ElementName="stack_size2" Type="int16" />
+	<Data ElementName="unknown7" Type="int8" Size="5" />
+	<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="type" Type="int32" />
+</Struct>
+<Struct Name="WS_FogInit" ClientVersion="1" >
+<Data ElementName="unknown1" Type="int8" />
+<Data ElementName="map_id" Type="int32" />
+<Data ElementName="lowest_z" Type="float" />
+<Data ElementName="highest_z" Type="float" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="num_fog_locations" Type="int8" />
+<Data ElementName="locations_array" Type="Array" ArraySizeVariable="num_fog_locations">
+	<Data ElementName="fog_location_unknown1" Type="int32" />
+	<Data ElementName="fog_location_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="fog_location_bounds1_x" Type="float" />
+	<Data ElementName="fog_location_bounds1_z" Type="float" />
+	<Data ElementName="fog_location_bounds2_x" Type="float" />
+	<Data ElementName="fog_location_bounds2_z" Type="float" />
+	<Data ElementName="fog_unknown4" Type="int16" />
+	<Data ElementName="fog_compressed_size" Type="int16" Size = "1" OversizedValue="255" OversizedByte="255" />
+	<Data ElementName="fog_compressed_data_array" Type="Array" ArraySizeVariable="fog_compressed_size">
+		<Data ElementName="fog_compressed_data" Type="int8" />
+	</Data>
+</Data>
+<Data ElementName="unknown5" Type="int8" />
+<Data ElementName="num_fog2_locations" Type="int8" />
+<Data ElementName="locations2_array" Type="Array" ArraySizeVariable="num_fog2_locations">
+	<Data ElementName="fog2_location_unknown1" Type="int32" />
+	<Data ElementName="fog2_location_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="fog2_location_bounds1_x" Type="float" />
+	<Data ElementName="fog2_location_bounds1_z" Type="float" />
+	<Data ElementName="fog2_location_bounds2_x" Type="float" />
+	<Data ElementName="fog2_location_bounds2_z" Type="float" />
+	<Data ElementName="fog2_unknown4" Type="int16" />
+	<Data ElementName="fog2_compressed_size" Type="int16" Size = "1" OversizedValue="255" OversizedByte="255" />
+	<Data ElementName="fog2_compressed_data_array" Type="Array" ArraySizeVariable="fog2_compressed_size">
+		<Data ElementName="fog2_compressed_data" Type="int8" />
+	</Data>
+</Data>
+<Data ElementName="num_maps" Type="int8" />
+<Data ElementName="map_array" Type="Array" ArraySizeVariable="num_maps">
+	<Data ElementName="zone_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="explored_map_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unexplored_map_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown6" Type="int8" Size="8" />
+	<Data ElementName="unknown7" Type="int32" />
+	<Data ElementName="unknown8" Type="int32" />
+	<Data ElementName="map_bounds1_x" Type="float" />
+	<Data ElementName="map_bounds1_z" Type="float" />
+	<Data ElementName="map_bounds2_x" Type="float" />
+	<Data ElementName="map_bounds2_z" Type="float" />
+	<Data ElementName="map_bounds3_x" Type="float" />
+	<Data ElementName="map_bounds3_z" Type="float" />
+	<Data ElementName="map_bounds4_x" Type="float" />
+	<Data ElementName="map_bounds4_z" Type="float" />
+	<Data ElementName="unknown9" Type="int8" Size="9" />
+	<Data ElementName="explored_key" Type="int64" Size="1" />
+	<Data ElementName="unexplored_key" Type="int64" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_SetRemoteCmdsMsg" ClientVersion="1" >
+<Data ElementName="num_commands" Type="int16" />
+<Data ElementName="commands_array" Type="Array" ArraySizeVariable="num_commands">
+	<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+</Struct>
+</EQ2Emulator>

+ 8 - 0
EQ2/devtools/PacketParser/old_files/WS_Updates.xml

@@ -0,0 +1,8 @@
+<Struct Name="WS_TitleUpdate" ClientVersion="996" OpcodeName="OP_TitleUpdateMsg">
+<Data ElementName="num_titles" Type="int16" />
+<Data ElementName="titles_array" Type="Array" ArraySizeVariable="num_titles">
+  <Data ElementName="title" Type="EQ2_16Bit_String" />
+  <Data ElementName="prefix" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>

+ 3546 - 0
EQ2/devtools/PacketParser/old_files/WorldStructs.xml

@@ -0,0 +1,3546 @@
+<EQ2Emulator>
+<Comment Text="The Emu will get the latest version of the struct that is LESS than or equal to the client's version number.
+This allows multiple struct version to coexist on the same server.  Elements that arent used in the source code are set
+to zero and treated like placeholders." />
+<Struct Name="WS_SkillMap" ClientVersion="1" OpcodeName="OP_PopulateSkillMapsMsg" >
+<Data ElementName="skill_count" Type="int32" /> 
+<Data ElementName="skill_array" Type="Array" ArraySizeVariable="skill_count"> 
+   <Data ElementName="skill_id" Type="int32" /> 
+   <Data ElementName="short_name" Type="EQ2_16Bit_String" /> 
+   <Data ElementName="name" Type="EQ2_16Bit_String" />
+   <Data ElementName="description" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="LoginByNumRequest" ClientVersion="1">
+<Data ElementName="account_id"  Type="int32" />
+<Data ElementName="access_code"  Type="int32" />
+<Data ElementName="unknown"  Type="int32" />
+<Data ElementName="version"  Type="int16" />
+<Data ElementName="unknown2"  Type="int32" Size="5" />
+</Struct>
+<Struct Name="LS_LoginResponse" ClientVersion="1" OpcodeName="OP_LoginReplyMsg">
+<Data ElementName="reply_code" Type="int8" Size="1" />
+<Data ElementName="unknown01" Type="int16" Size="1" />
+<Data ElementName="unknown02" Type="int8" Size="1" />
+<Data ElementName="unknown03" Type="sint32" Size="1" />
+<Data ElementName="unknown04" Type="sint32" Size="1" />
+<Data ElementName="unknown05" Type="sint32" Size="1" />
+<Data ElementName="accountid" Type="int32" Size="1" />
+<Data ElementName="unknown06" Type="int16" Size="1" />
+<Data ElementName="unknown07" Type="int8" Size="1" />
+<Data ElementName="unknown08" Type="int8" Size="1" />
+<Data ElementName="unknown09" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="unknown11" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CommandName" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="514">
+<Data ElementName="unknown01" Type="int32" Size="1" />
+<Data ElementName="unknown02" Type="int32" Size="1" />
+<Data ElementName="unknown03" Type="int32" Size="1" />
+<Data ElementName="character_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown04" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_DisplayText" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDisplayTextCmd">
+<Data ElementName="color" Type="int8" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown02" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_OnScreenMsg" ClientVersion="1" OpcodeName="OP_OnscreenMsgMsg">
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="message_type" Type="EQ2_16Bit_String" />
+<Data ElementName="size" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_LevelChanged" ClientVersion="1" OpcodeName="OP_LevelChangedMsg">
+<Data ElementName="old_level" Type="int16" />
+<Data ElementName="new_level" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_DeathWindow" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqShowDeathWindowCmd"> 
+<Data ElementName="location_count" Type="int16" />
+<Data ElementName="location_array" Type="Array" ArraySizeVariable="location_count"> 
+   <Data ElementName="location_id" Type="int32" />
+   <Data ElementName="unknown2" Type="int8" /> 
+   <Data ElementName="zone_name" Type="EQ2_16Bit_String" /> 
+   <Data ElementName="location_name" Type="EQ2_16Bit_String" />
+   <Data ElementName="choice_text" Type="EQ2_16Bit_String" />
+   <Data ElementName="distance" Type="float" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size = "3" /> 
+</Struct>
+<Struct Name="WS_TeleportWithinZone" ClientVersion="1" OpcodeName="OP_TeleportWithinZoneMsg">
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+</Struct>
+<Struct Name="WS_GameWorldTime" ClientVersion="1" OpcodeName="OP_GameWorldTimeMsg">
+<Data ElementName="year" Type="int16" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="hour" Type="int8" Size="1" />
+<Data ElementName="minute" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unix_time" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_Camp" ClientVersion="1" OpcodeName="OP_CampStartedMsg" >
+<Data ElementName="seconds" Type="int8" Size="1" />
+<Data ElementName="camp_desktop" Type="int8" Size="1" />
+<Data ElementName="camp_char_select" Type="int8" Size="1" />
+<Data ElementName="char_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+</Struct>
+<Struct Name="WS_RequestCamp" ClientVersion="1" OpcodeName="OP_RequestCampMsg">
+<Data ElementName="quit" Type="int8" Size="1" />
+<Data ElementName="camp_desktop" Type="int8" Size="1" />
+<Data ElementName="camp_char_select" Type="int16" Size="1" />
+<Data ElementName="char_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown2" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_SpellGainedMsg" ClientVersion="1" OpcodeName="OP_SpellGainedMsg">
+<Data ElementName="spell_type" Type="int8" Size="1" />
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" />
+<Data ElementName="display_spell_tier" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_MacroInit" ClientVersion="1" OpcodeName="OP_MacroInitMsg" > 
+<Data ElementName="macro_count" Type="int32" />
+<Data ElementName="macro_array" Type="Array" ArraySizeVariable="macro_count">
+   <Data ElementName="number" Type="int8" />
+   <Data ElementName="name" Type="EQ2_8Bit_String" />
+   <Data ElementName="macro_details_count" Type="int8" />
+   <Data ElementName="macro_details_array" Type="Array" ArraySizeVariable="macro_details_count">
+      <Data ElementName="command" Type="EQ2_16Bit_String" />
+   </Data>
+   <Data ElementName="icon" Type="int16" Size = "1" /> 
+   <Data ElementName="unknown2" Type="int16" Size = "1" /> 
+   <Data ElementName="unknown3" Type="int32" Size = "1" /> 
+   <Data ElementName="unknown4" Type="int32" Size = "1" /> 
+</Data>
+</Struct>
+<Struct Name="WS_MacroUpdate" ClientVersion="1" OpcodeName="OP_MacroUpdateMsg" > 
+<Data ElementName="number" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" />
+<Data ElementName="macro_count" Type="int8" />
+<Data ElementName="macro_array" Type="Array" ArraySizeVariable="macro_count"> 
+   <Data ElementName="command" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="icon" Type="int16" Size = "1" /> 
+<Data ElementName="unknown2" Type="int16" Size = "1" /> 
+<Data ElementName="unknown3" Type="int32" Size = "1" /> 
+<Data ElementName="unknown4" Type="int32" Size = "1" /> 
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="1" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="942" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="957" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="motd" Type="EQ2_16Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="959" OpcodeName="OP_ZoneInfoMsg" >
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+<Data ElementName="num_news_items" Type="int16" Size="1" />
+<Data ElementName="news_item_array" Type="Array" ArraySizeVariable="num_news_items">
+	<Data ElementName="news_id" Type="int32" Size="1" />
+	<Data ElementName="news" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="Substruct_SpellEffects" ClientVersion="1" >
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown2" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpellEffects" ClientVersion="843" >
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown2" Type="int16" Size="1" />
+</Struct>
+<Struct Name="Substruct_MaintainedEffects" ClientVersion="1">
+<Data ElementName="name" Type="char" Size="60" />
+<Data ElementName="target" Type="int32" Size="1" />
+<Data ElementName="target_type" Type="int8" Size="1" />
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="slot_pos" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_GroupMember" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="hp_current" Type="sint32" Size="1" />
+<Data ElementName="hp_max" Type="sint32" Size="1" />
+<Data ElementName="power_current" Type="sint32" Size="1" />
+<Data ElementName="power_max" Type="sint32" Size="1" />
+<Data ElementName="level_current" Type="int16" Size="1" />
+<Data ElementName="level_max" Type="int16" Size="1" />
+<Data ElementName="name" Type="char" Size="41" />
+<Data ElementName="zone" Type="char" Size="60" />
+<Data ElementName="instance" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="race_id" Type="int8" Size="1" />
+<Data ElementName="class_id" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="1" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="311" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="843" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="312" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="860" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="17" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="314" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="869" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="18" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="319" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="871" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="319" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="877" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="321" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="882" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="322" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="893" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="323" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="898" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="318" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="910" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="8" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="491" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="936" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="31" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="495" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="942" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="31" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="495" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="949" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="496" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="955" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="13" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="153" />
+<Data ElementName="group_members" Substruct="Substruct_GroupMember" Size="5" />
+<Data ElementName="unknown20a" Type="int16" Size="1" />
+<Data ElementName="unknown20b" Type="int32" Size="168" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="973" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="13" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="14" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="153" />
+<Data ElementName="group_members" Substruct="Substruct_GroupMember" Size="5" />
+<Data ElementName="unknown20a" Type="int16" Size="1" />
+<Data ElementName="unknown20b" Type="int32" Size="171" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_PlayFlavor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearPlayFlavorCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown1" Type="int32" Size="1" />
+<Data ElementName="mp3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="emote" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="key" Type="int32" Size="2" />
+<Data ElementName="unknown5" Type="int8" Size="13" />
+</Struct>
+<Struct Name="WS_PlayVoice" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlayVoiceCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="mp3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="key" Type="int32" Size="2" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_PlaySound" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlaySoundCmd">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_Play3DSound" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlaySound3DCmd">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown1" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_EntityVerbsVerb" ClientVersion="1">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="command" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_Resurrected" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqResurrectedCmd">
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CancelMoveObjectMode" ClientVersion="1" OpcodeName="OP_CancelMoveObjectModeMsg">
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_UpdateTarget" ClientVersion="1" OpcodeName="OP_UpdateTargetMsg">
+<Data ElementName="spawn_index" Type="int16" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ServerUpdateTarget" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateTargetCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SetPOVGhostCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetPOVGhostCmd">
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_DestroyGhostCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDestroyGhostCmd">
+<Data ElementName="spawn_index" Type="int16" OversizedValue="255" />
+<Data ElementName="delete" Type="int8" />
+</Struct>
+<Struct Name="WS_ClientFell" ClientVersion="1" OpcodeName="OP_ClientFellMsg">
+<Data ElementName="height" Type="float" />
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_SetDefaultCommand" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetDefaultVerbCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="command_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="distance" Type="float" />
+</Struct>
+<Struct Name="WS_HearDamage_Header" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="packet_type" Type="int8" />
+<Data ElementName="result_type" Type="int8" />
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+<Data ElementName="unknown" Type="int16" />
+</Struct>
+<Struct Name="WS_HearDamage_Header" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="packet_type" Type="int8" />
+<Data ElementName="result_type" Type="int8" />
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+</Struct>
+<Struct Name="WS_HearSimpleDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_HearSiphonSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="siphon_type" Type="int8" />
+<Data ElementName="siphon_subtype" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearMultipleDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="num_dmg" Type="int8" />
+<Data ElementName="dmg_array" Type="Array" ArraySizeVariable="num_dmg">
+	<Data ElementName="damage_type" Type="int8" />
+	<Data ElementName="damage" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_HearSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearRangeDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+</Struct>
+<Struct Name="WS_HearRangeSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearSimpleDamage" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_HearSiphonSpellDamage" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="siphon_type" Type="int8" />
+<Data ElementName="siphon_subtype" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearMultipleDamage" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="num_dmg" Type="int8" />
+<Data ElementName="dmg_array" Type="Array" ArraySizeVariable="num_dmg">
+	<Data ElementName="damage_type" Type="int8" />
+	<Data ElementName="damage" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_HearSpellDamage" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearRangeDamage" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+</Struct>
+<Struct Name="WS_HearRangeSpellDamage" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearDeath" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearDeathCmd">
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="unknown3" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateSkillBook" ClientVersion="1" OpcodeName="OP_UpdateSkillBookMsg" >
+<Data ElementName="skill_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="skill_array" Type="Array" ArraySizeVariable="skill_count">
+	<Data ElementName="skill_id" Type="int32" />
+	<Data ElementName="type" Type="int32" />
+	<Data ElementName="current_val" Type="int16" />
+	<Data ElementName="base_val" Type="int16" />
+	<Data ElementName="max_val" Type="int16" />
+	<Data ElementName="skill_delta" Type="int16" />
+	<Data ElementName="skill_delta2" Type="int16" />
+	<Data ElementName="display_minval" Type="int8" Size="1" />
+	<Data ElementName="display_maxval" Type="int8" Size="1" />
+	<Data ElementName="language_unknown" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_SpellSlotMapping" ClientVersion="1" OpcodeName="OP_KnowledgeWindowSlotMappingMsg" >
+<Data ElementName="spell_count" Type="int16" />
+<Data ElementName="spell_array" Type="Array" ArraySizeVariable="spell_count">
+	<Data ElementName="spell_id" Type="int32" />
+	<Data ElementName="slot_id" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_SkillInfoRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoSpellRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoItemRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoResponse" ClientVersion="1" OpcodeName="OP_SkillInfoResponse" >
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SkillInfoItemResponse" ClientVersion="1" OpcodeName="OP_SkillInfoResponse" >
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SetControlGhost" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetControlGhostCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="speed" Type="float" />
+<Data ElementName="size" Type="float" />
+<Data ElementName="unknown2" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateSpellBook" ClientVersion="1" OpcodeName="OP_UpdateSpellBookMsg" >
+<Data ElementName="spell_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="spell_array" Type="Array" ArraySizeVariable="spell_count">
+	<Data ElementName="spell_id" Type="int32" />
+	<Data ElementName="unique_id" Type="int32" />
+	<Data ElementName="recast_available" Type="int32" Size="1" />
+	<Data ElementName="type" Type="int16" Size="1" />
+	<Data ElementName="recast_time" Type="int16" Size="1" />
+	<Data ElementName="unknown3" Type="int16" />
+	<Data ElementName="icon" Type="sint16" />
+	<Data ElementName="icon_type" Type="int16" />
+	<Data ElementName="icon2" Type="int16" Size="1" />
+	<Data ElementName="charges" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="4" />
+	<Data ElementName="status" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_ExamineInfoHeader" ClientVersion="1" >
+<Data ElementName="show_name" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="show_popup" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineInfoHeader" ClientVersion="860" >
+<Data ElementName="show_name" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="show_popup" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestExamineInfoHeader" ClientVersion="1" >
+<Data ElementName="quest_unknown" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestExamineInfoHeader" ClientVersion="860" >
+<Data ElementName="quest_unknown" Type="int8" Size="2" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SpecialSpellInfo" ClientVersion="1">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="uses_remaining" Type="int16" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="damage_remaining" Type="int16" Size = "1" />
+<Data ElementName="unknown14" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="1">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+        <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+        <Data ElementName="consumed" Type="int8" Size="1" />
+        <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="954">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+        <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+        <Data ElementName="consumed" Type="int8" Size="1" />
+        <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="973">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+        <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+        <Data ElementName="consumed" Type="int8" Size="1" />
+        <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="unknown9b" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="crit_multiplier" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_MoveObjectMode" ClientVersion="1" OpcodeName="OP_EnterMoveObjectModeMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="placement_mode" Type="int8" />
+<Data ElementName="model_type" Type="int16" />
+<Data ElementName="unknown2" Type="float" />
+<Data ElementName="max_distance" Type="float" />
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveObjectMode" ClientVersion="936" OpcodeName="OP_EnterMoveObjectModeMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="placement_mode" Type="int8" />
+<Data ElementName="model_type" Type="int16" />
+<Data ElementName="unknown" Type="float" />
+<Data ElementName="unknown2" Type="float" Size="4" />
+<Data ElementName="max_distance" Type="float" />
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_PlaceMoveableObject" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="float" />
+<Data ElementName="unknown2" Type="float" />
+<Data ElementName="unknown3" Type="int32" />
+</Struct>
+<Struct Name="WS_ServerControlFlags" ClientVersion="1" OpcodeName="OP_ChangeServerControlFlagMsg" >
+<Data ElementName="parameter1" Type="int8" />
+<Data ElementName="parameter2" Type="int8" />
+<Data ElementName="parameter3" Type="int8" />
+<Data ElementName="parameter4" Type="int8" />
+<Data ElementName="parameter5" Type="int8" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+<Data ElementName="value" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveClient" ClientVersion="1" OpcodeName="OP_TeleportWithinZoneNoReloadMsg" >
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveClient" ClientVersion="869" OpcodeName="OP_TeleportWithinZoneNoReloadMsg" >
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="location" Type="int32" />
+</Struct>
+<Struct Name="WS_ExamineSpellEffectRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoItemRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoRequest" ClientVersion="860" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="2" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoItemLinkRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="3" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_QuickBarUpdateRequest" ClientVersion="1" >
+<Data ElementName="hotbar_number" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="hotkey_slot" Type="int32" />
+<Data ElementName="type" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="unknown4" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int16" Size = "1" />
+</Struct>
+<Struct Name="WS_CannedEmote" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCannedEmoteCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="emote_msg" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="anim_type" Type="int16" />
+<Data ElementName="unknown0" Type="int32" />
+</Struct>
+<Struct Name="WS_HearCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearSpellCastCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_targets" Type="int16" />
+<Data ElementName="target_array" Type="Array" ArraySizeVariable="num_targets">
+     <Data ElementName="target" Type="int32" />
+</Data>
+<Data ElementName="spell_id" Type="int32" />
+<Data ElementName="spell_visual" Type="int32" />
+<Data ElementName="cast_time" Type="float" />
+<Data ElementName="unknown5" Type="int16" />
+<Data ElementName="unknown6" Type="int8" />
+</Struct>
+<Struct Name="WS_StartCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSpellCastStartCmd">
+<Data ElementName="cast_time" Type="float" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_FinishCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSpellCastEndCmd">
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_QuickBarInit" ClientVersion="1" OpcodeName="OP_QuickbarInitMsg" >
+<Data ElementName="num_abilities" Type="int32" />
+<Data ElementName="ability_array" Type="Array" ArraySizeVariable="num_abilities">
+	<Data ElementName="hotbar" Type="int32" Size="1" />
+	<Data ElementName="unknown" Type="int32" Size="1" />
+	<Data ElementName="slot" Type="int32" Size="1" />
+	<Data ElementName="type" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="icon_type" Type="int16" Size="1" />
+	<Data ElementName="unknown2" Type="int32" Size="1" />
+	<Data ElementName="id" Type="int32" Size="1" />
+	<Data ElementName="unique_id" Type="int32" Size="1" />
+	<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown3" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_EntityVerbRequest" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_EntityVerbResponse" ClientVersion="1" OpcodeName="OP_EntityVerbsReplyMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_verbs" Type="int8" />
+<Data ElementName="verbs_array" Type="Array" ArraySizeVariable="num_verbs">
+	<Data ElementName="command" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="distance" Type="float" />
+	<Data ElementName="display_error" Type="int16" />
+	<Data ElementName="error" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="display_text" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_WhoQueryReply" ClientVersion="1" OpcodeName="OP_WhoQueryReplyMsg" >
+<Data ElementName="account_id" Type="int32" />
+<Data ElementName="unknown" Type="int32" />
+<Data ElementName="response" Type="int8" />
+<Data ElementName="num_characters" Type="int8" />
+<Data ElementName="characters_array" Type="Array" ArraySizeVariable="num_characters">
+	<Data ElementName="char_name" Type="char" Size="40" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="admin_level" Type="int8" Size="1" />
+	<Data ElementName="class" Type="int16" Size="1" />
+	<Data ElementName="unknown4" Type="int8" />
+	<Data ElementName="race" Type="int8" Size="1" />
+	<Data ElementName="flags" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="zone" Type="char" Size="77" />
+	<Data ElementName="guild" Type="char" Size="40" />
+	<Data ElementName="unknown7" Type="int8" />
+	<Data ElementName="unknown8" Type="int8" />
+	<Data ElementName="unknown9" Type="int8" />
+</Data>
+<Data ElementName="unknown10" Type="int8" />
+</Struct>
+
+<Struct Name="WS_HearChat" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearChatCmd" >
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="from_spawn_id" Type="int32" />
+<Data ElementName="to_spawn_id" Type="int32" />
+<Data ElementName="from" Type="EQ2_16Bit_String" />
+<Data ElementName="to" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+<Data ElementName="time" Type="int32" />
+<Data ElementName="channel" Type="int8" />
+<Data ElementName="language" Type="int8" />
+<Data ElementName="message" Type="EQ2_16Bit_String" />
+<Data ElementName="channel_name" Type="EQ2_16Bit_String" />
+<Data ElementName="show_bubble" Type="int8" Size="1" />
+<Data ElementName="understood" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CloseWindow" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCloseWindowCmd" >
+<Data ElementName="window_id" Type="int16" />
+<Data ElementName="index" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateLoot" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateLootCmd" >
+<Data ElementName="loot_count" Type="int16" />
+<Data ElementName="display" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="loot_id" Type="int32" />
+</Struct>
+<Struct Name="WS_UpdateLoot" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateLootCmd" >
+<Data ElementName="loot_count" Type="int16" />
+<Data ElementName="display" Type="int16" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="loot_id" Type="int32" />
+</Struct>
+<Struct Name="WS_LootType" ClientVersion="1" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+</Struct>
+<Struct Name="WS_LootType" ClientVersion="882" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+</Struct>
+<Struct Name="WS_LootItem" ClientVersion="1" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="unknown4" Type="int32" />
+</Struct>
+<Struct Name="WS_LootItem" ClientVersion="882" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="unknown4" Type="int32" />
+</Struct>
+<Struct Name="WS_UpdateBank" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateBankCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="bank_coins" Type="int32" />
+<Data ElementName="bank_coins2" Type="int32" />
+<Data ElementName="copper" Type="int32" />
+<Data ElementName="silver" Type="int32" />
+<Data ElementName="gold" Type="int32" />
+<Data ElementName="plat" Type="int32" />
+<Data ElementName="display" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateBank" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateBankCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="bank_coins" Type="int32" />
+<Data ElementName="bank_coins2" Type="int32" />
+<Data ElementName="shared_bank_coins" Type="int32" />
+<Data ElementName="shared_bank_coins2" Type="int32" />
+<Data ElementName="copper" Type="int32" />
+<Data ElementName="silver" Type="int32" />
+<Data ElementName="gold" Type="int32" />
+<Data ElementName="plat" Type="int32" />
+<Data ElementName="display" Type="int8" />
+</Struct>
+<Struct Name="WS_QuestJournalUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalUpdateCmd" >
+<Data ElementName="num_quests" Type="int16" />
+<Data ElementName="quests_array" Type="Array" ArraySizeVariable="num_quests">
+	<Data ElementName="active" Type="int8" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_type" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown1" Type="int8" Size="1" />
+	<Data ElementName="turned_in" Type="int8" Size="1" />
+	<Data ElementName="repeatable" Type="int8" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="1" />
+	<Data ElementName="completed" Type="int8" Size="1" />
+	<Data ElementName="quest_id" Type="int32" Size="1" />
+	<Data ElementName="day" Type="int8" Size="1" />
+	<Data ElementName="month" Type="int8" Size="1" />
+	<Data ElementName="year" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="encounter_level" Type="int8" Size="1" />
+	<Data ElementName="difficulty" Type="int8" Size="1" />
+	<Data ElementName="visible" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+<Data ElementName="visible_quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="player_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="used_quests" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalUpdate" ClientVersion="931" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalUpdateCmd" >
+<Data ElementName="num_quest_zones" Type="int16" />
+<Data ElementName="quest_zones_array" Type="Array" ArraySizeVariable="num_quest_zones">
+	<Data ElementName="quest_zones_zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_zones_zone_id" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_quests" Type="int16" />
+<Data ElementName="quests_array" Type="Array" ArraySizeVariable="num_quests">
+	<Data ElementName="active" Type="int8" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="zonetype_id" Type="int16" Size="1" />
+	<Data ElementName="zone_id" Type="int16" Size="1" />
+	<Data ElementName="display_status" Type="int8" Size="1" />
+	<Data ElementName="quest_id" Type="int32" Size="1" />
+	<Data ElementName="day" Type="int8" Size="1" />
+	<Data ElementName="month" Type="int8" Size="1" />
+	<Data ElementName="year" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="encounter_level" Type="int8" Size="1" />
+	<Data ElementName="difficulty" Type="int8" Size="1" />
+	<Data ElementName="completed" Type="int8" Size="1" />
+	<Data ElementName="repeatable" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+<Data ElementName="visible_quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="player_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="used_quests" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_OfferQuest" ClientVersion="1" OpcodeName="OP_OfferQuestMsg" >
+<Data ElementName="unknown0" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="quest_difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="accept_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="decline_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="verify_enabled" Type="int32" Size="1" />
+<Data ElementName="verify_text" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="unknown4b" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_OfferQuest" ClientVersion="860" OpcodeName="OP_OfferQuestMsg" >
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="quest_difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="accept_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="decline_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="verify_enabled" Type="int32" Size="1" />
+<Data ElementName="verify_text" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="unknown4b" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_GlowPath" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHelpPathCmd" >
+<Data ElementName="num_points" Type="int16" />
+<Data ElementName="points_array" Type="Array" ArraySizeVariable="num_points">
+	<Data ElementName="x" Type="float" Size="1" />
+	<Data ElementName="y" Type="float" Size="1" />
+	<Data ElementName="z" Type="float" Size="1" />
+</Data>
+<Data ElementName="waypoint_x" Type="float" Size="1" />
+<Data ElementName="waypoint_y" Type="float" Size="1" />
+<Data ElementName="waypoint_z" Type="float" Size="1" />
+<Data ElementName="waypoint_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_WaypointUpdate" ClientVersion="1" OpcodeName="OP_WaypointUpdateMsg" >
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="waypoint_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="8" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="unknown8b" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="5" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_QuestJournalReply_PARSER_ONLY" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="8" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="unknown8b" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalReply_PARSER_ONLY" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="5" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="8" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="839" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="6" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="1" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="unknown4" Type="int8" Size="1" />
+	</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="6" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="1" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="unknown4" Type="int8" Size="1" />
+		<Data ElementName="item_id" Type="sint32" Size="1" />
+		<Data ElementName="item_crc" Type="sint32" Size="1" />
+		</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestComplete" ClientVersion="1" OpcodeName="OP_QuestReward" >
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestFactionRewards" ClientVersion="1" >
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_DialogOpen" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDialogOpenCmd" >
+<Data ElementName="conversation_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="num_responses" Type="int16" />
+<Data ElementName="response_array" Type="Array" ArraySizeVariable="num_responses">
+	<Data ElementName="response" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="voice" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="key1" Type="int32" Size="1" />
+<Data ElementName="key2" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_DialogSelect" ClientVersion="1" >
+<Data ElementName="conversation_id" Type="int32" />
+<Data ElementName="response" Type="int32" />
+</Struct>
+<Struct Name="WS_ServerDialogClose" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDialogCloseCmd" >
+<Data ElementName="conversation_id" Type="int32" />
+</Struct>
+<Struct Name="WS_FactionUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqFactionUpdateCmd" >
+<Data ElementName="num_factions" Type="int16" />
+<Data ElementName="response_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_id" Type="int32" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown" Type="EQ2_16Bit_String" />
+	<Data ElementName="con" Type="sint8" />
+	<Data ElementName="percentage" Type="int8" />
+	<Data ElementName="unknown2" Type="int8" />
+	<Data ElementName="value" Type="sint32" />
+</Data>
+<Data ElementName="unknown3" Type="int8" />
+</Struct>
+<Struct Name="WS_Interrupt" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearSpellInterruptCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_targets" Type="int16" />
+<Data ElementName="target_array" Type="Array" ArraySizeVariable="num_targets">
+	<Data ElementName="target_id" Type="int32" />
+</Data>
+<Data ElementName="spell_id" Type="int32" />
+</Struct>
+<Struct Name="WS_DisplaySpellFailed" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDisplaySpellFailCmd" >
+<Data ElementName="error_code" Type="int16" />
+</Struct>
+<Struct Name="WS_FogInit" ClientVersion="942" OpcodeName="OP_MapFogDataInitMsg" >
+<Data ElementName="unknown1" Type="int8" />
+<Data ElementName="map_id" Type="int32" />
+<Data ElementName="lowest_z" Type="float" />
+<Data ElementName="highest_z" Type="float" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="num_fog_locations" Type="int8" />
+<Data ElementName="locations_array" Type="Array" ArraySizeVariable="num_fog_locations">
+	<Data ElementName="fog_location_unknown1" Type="int32" />
+	<Data ElementName="fog_location_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="fog_location_bounds1_x" Type="float" />
+	<Data ElementName="fog_location_bounds1_z" Type="float" />
+	<Data ElementName="fog_location_bounds2_x" Type="float" />
+	<Data ElementName="fog_location_bounds2_z" Type="float" />
+	<Data ElementName="fog_unknown4" Type="int16" />
+	<Data ElementName="fog_compressed_size" Type="int16" Size = "1" OversizedValue="255" OversizedByte="255" />
+	<Data ElementName="fog_compressed_data_array" Type="Array" ArraySizeVariable="fog_compressed_size">
+		<Data ElementName="fog_compressed_data" Type="int8" />
+	</Data>
+</Data>
+<Data ElementName="unknown5" Type="int8" />
+<Data ElementName="num_fog2_locations" Type="int8" />
+<Data ElementName="locations2_array" Type="Array" ArraySizeVariable="num_fog2_locations">
+	<Data ElementName="fog2_location_unknown1" Type="int32" />
+	<Data ElementName="fog2_location_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="fog2_location_bounds1_x" Type="float" />
+	<Data ElementName="fog2_location_bounds1_z" Type="float" />
+	<Data ElementName="fog2_location_bounds2_x" Type="float" />
+	<Data ElementName="fog2_location_bounds2_z" Type="float" />
+	<Data ElementName="fog2_unknown4" Type="int16" />
+	<Data ElementName="fog2_compressed_size" Type="int16" Size = "1" OversizedValue="255" OversizedByte="255" />
+	<Data ElementName="fog2_compressed_data_array" Type="Array" ArraySizeVariable="fog2_compressed_size">
+		<Data ElementName="fog2_compressed_data" Type="int8" />
+	</Data>
+</Data>
+<Data ElementName="num_maps" Type="int8" />
+<Data ElementName="map_array" Type="Array" ArraySizeVariable="num_maps">
+	<Data ElementName="zone_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="explored_map_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unexplored_map_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown6" Type="int8" Size="8" />
+	<Data ElementName="unknown7" Type="int32" />
+	<Data ElementName="unknown8" Type="int32" />
+	<Data ElementName="map_bounds1_x" Type="float" />
+	<Data ElementName="map_bounds1_z" Type="float" />
+	<Data ElementName="map_bounds2_x" Type="float" />
+	<Data ElementName="map_bounds2_z" Type="float" />
+	<Data ElementName="map_bounds3_x" Type="float" />
+	<Data ElementName="map_bounds3_z" Type="float" />
+	<Data ElementName="map_bounds4_x" Type="float" />
+	<Data ElementName="map_bounds4_z" Type="float" />
+	<Data ElementName="unknown9" Type="int8" Size="9" />
+	<Data ElementName="explored_key" Type="int64" Size="1" />
+	<Data ElementName="unexplored_key" Type="int64" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_SetRemoteCmdsMsg" ClientVersion="1" >
+<Data ElementName="num_commands" Type="int16" />
+<Data ElementName="commands_array" Type="Array" ArraySizeVariable="num_commands">
+	<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_RemoteCmdMsg" ClientVersion="1" OpcodeName="OP_RemoteCmdMsg" >
+<Data ElementName="command_handler" Type="int16" />
+<Data ElementName="arguments" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_UpdateMerchant" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateMerchantCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_items" Type="int16" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="price" Type="int64" />
+	<Data ElementName="item_id" Type="sint32" />
+	<Data ElementName="unknown2" Type="int32" />
+	<Data ElementName="stack_size" Type="int16" />
+	<Data ElementName="icon" Type="int16" />
+	<Data ElementName="item_difficulty" Type="int8" />
+	<Data ElementName="level" Type="int8" />
+	<Data ElementName="unknown4" Type="int8" />
+	<Data ElementName="quantity" Type="int8" />
+	<Data ElementName="unknown5" Type="int8" />
+	<Data ElementName="tier" Type="int8" />
+	<Data ElementName="unknown6" Type="int32" />
+	<Data ElementName="item_id2" Type="sint32" />
+	<Data ElementName="stack_size2" Type="int16" />
+	<Data ElementName="unknown7" Type="int8" Size="5" />
+	<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="type" Type="int32" />
+</Struct>
+<Struct Name="WS_TeleportList" ClientVersion="1" OpcodeName="OP_ShowZoneTeleporterDestinations">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_destinations" Type="int32" />
+<Data ElementName="destination_array" Type="Array" ArraySizeVariable="num_destinations">
+	<Data ElementName="unique_id" Type="int32" />
+	<Data ElementName="display_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="zone_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="cost" Type="int32" />
+</Data>
+</Struct>
+<Struct Name="WS_TeleportDestination" ClientVersion="1">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="zone_name" Type="EQ2_16Bit_String" />
+<Data ElementName="cost" Type="int32" />
+</Struct>
+<Struct Name="WS_MapRequest" ClientVersion="1">
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_DressingRoom" ClientVersion="1" OpcodeName="OP_DressingRoom" >
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="slot" Type="int32" />
+<Data ElementName="appearance_id" Type="int16" />
+<Data ElementName="rgb" Type="float" Size="3" />
+<Data ElementName="highlight_rgb" Type="float" Size="3" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="icon" Type="int16" />
+<Data ElementName="item_id" Type="sint32" />
+<Data ElementName="item_crc" Type="int32" />
+<Data ElementName="unknown4" Type="int32" />
+<Data ElementName="unknown5" Type="int8" Size="10" />
+</Struct>
+<Struct Name="WS_StateCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqStateCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="state" Type="int32" />
+</Struct>
+<Struct Name="WS_EnterCombat" ClientVersion="1" OpcodeName="OP_AttackAllowed">
+<Data ElementName="response" Type="int8" />
+</Struct>
+<Struct Name="WS_StartBroker" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqStartBrokerCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="unknown" Type="int32" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+</Struct>
+<Struct Name="WS_BrokerBags" ClientVersion="1" OpcodeName="OP_ChatToggleFriendMsg" >
+<Data ElementName="char_id" Type="int32" />
+<Data ElementName="num_bags" Type="int8" />
+</Struct>
+<Struct Name="WS_BrokerItems" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqConsignmentItemsCmd" >
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="num_items" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_seller_id" Type="int64" Size="1" />
+	<Data ElementName="item_id" Type="int64" Size="1" />
+	<Data ElementName="item_id3" Type="int32" Size="1" />
+	<Data ElementName="quantity" Type="int32" Size="1" />
+	<Data ElementName="stack_size" Type="int16" Size="1" />
+	<Data ElementName="sell_price" Type="int64" Size="1" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="unknown4" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown7" Type="int16" Size="1" />
+	<Data ElementName="unknown8" Type="int32" Size="1" />
+	<Data ElementName="unknown9" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_sellers" Type="int32" />
+<Data ElementName="seller_array" Type="Array" ArraySizeVariable="num_sellers">
+	<Data ElementName="seller_seller_id" Type="int64" Size="1" />
+	<Data ElementName="seller_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="house_id" Type="int32" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+	<Data ElementName="unknown11" Type="int16" Size="1" />
+	<Data ElementName="unknown12" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_homes" Type="int32" Size="1" />
+<Data ElementName="home_array" Type="Array" ArraySizeVariable="num_homes">
+	<Data ElementName="home_id" Type="int32" Size="1" />
+	<Data ElementName="home_label" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="home_zone" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="num_pages" Type="int32" Size="1" />
+<Data ElementName="per_page" Type="int32" Size="1" />
+<Data ElementName="page" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_BrokerItems" ClientVersion="973" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqConsignmentItemsCmd" >
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="num_items" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_seller_id" Type="int64" Size="1" />
+	<Data ElementName="item_id" Type="int64" Size="1" />
+	<Data ElementName="item_id3" Type="int32" Size="1" />
+	<Data ElementName="quantity" Type="int32" Size="1" />
+	<Data ElementName="stack_size" Type="int16" Size="1" />
+	<Data ElementName="sell_price" Type="int64" Size="1" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="unknown4" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown7" Type="int16" Size="1" />
+	<Data ElementName="unknown8" Type="int32" Size="1" />
+	<Data ElementName="unknown9" Type="int32" Size="1" />
+	<Data ElementName="unknown13" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_sellers" Type="int32" />
+<Data ElementName="seller_array" Type="Array" ArraySizeVariable="num_sellers">
+	<Data ElementName="seller_seller_id" Type="int64" Size="1" />
+	<Data ElementName="seller_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="house_id" Type="int32" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+	<Data ElementName="unknown11" Type="int16" Size="1" />
+	<Data ElementName="unknown12" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_homes" Type="int32" Size="1" />
+<Data ElementName="home_array" Type="Array" ArraySizeVariable="num_homes">
+	<Data ElementName="home_id" Type="int32" Size="1" />
+	<Data ElementName="home_label" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="home_zone" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="num_pages" Type="int32" Size="1" />
+<Data ElementName="per_page" Type="int32" Size="1" />
+<Data ElementName="page" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_EqShowBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqShowBookCmd" >
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="book_title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="type_size" Type="int16" Size="1" />
+	<Data ElementName="type_array" Type="Array" ArraySizeVariable="type_size">
+		<Data ElementName="type" Type="char" Size="1" />
+	</Data>	
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="skill_id_req" Type="int32" Size="1" />
+<Data ElementName="num_pages" Type="int8" Size="1" />
+<Data ElementName="cover_page" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="book_page_array" Type="Array" ArraySizeVariable="num_pages">
+	<Data ElementName="unknown6" Type="int8" Size="1" />
+	<Data ElementName="unknown7" Type="int8" Size="1" />
+	<Data ElementName="unknown8" Type="int8" Size="1" />
+	<Data ElementName="body_array_size" Type="int16" Size="1" />
+		<Data ElementName="body_array" Type="Array" ArraySizeVariable="body_array_size">
+			<Data ElementName="body_text" Type="char" Size="1" />
+		</Data>		
+</Data>
+</Struct>
+<Struct Name="WS_ReceiveOffer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqReceiveOfferCmd">
+<Data ElementName="type" Type="int8" />
+<Data ElementName="name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ChatRelationship" ClientVersion="1" OpcodeName="OP_ChatRelationshipUpdateMsg" >
+<Data ElementName="account_id" Type="int32" />
+<Data ElementName="type" Type="int8" />
+<Data ElementName="num_names" Type="int32" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="location" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown" Type="int16" Size="1" />
+</Data>
+</Struct>
+</EQ2Emulator>

+ 4073 - 0
EQ2/devtools/PacketParser/old_files/WorldStructsDev.xml

@@ -0,0 +1,4073 @@
+<EQ2Emulator>
+<Comment Text="The Emu will get the latest version of the struct that is LESS than or equal to the client's version number.
+This allows multiple struct version to coexist on the same server.  Elements that arent used in the source code are set
+to zero and treated like placeholders." />
+<Struct Name="WS_SkillMap" ClientVersion="1" OpcodeName="OP_PopulateSkillMapsMsg" >
+<Data ElementName="skill_count" Type="int32" /> 
+<Data ElementName="skill_array" Type="Array" ArraySizeVariable="skill_count"> 
+   <Data ElementName="skill_id" Type="int32" /> 
+   <Data ElementName="short_name" Type="EQ2_16Bit_String" /> 
+   <Data ElementName="name" Type="EQ2_16Bit_String" />
+   <Data ElementName="description" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="LoginByNumRequest" ClientVersion="1">
+<Data ElementName="account_id"  Type="int32" />
+<Data ElementName="access_code"  Type="int32" />
+<Data ElementName="unknown"  Type="int32" />
+<Data ElementName="version"  Type="int16" />
+<Data ElementName="unknown2"  Type="int32" Size="5" />
+</Struct>
+<Struct Name="LS_LoginResponse" ClientVersion="1" OpcodeName="OP_LoginReplyMsg">
+<Data ElementName="reply_code" Type="int8" Size="1" />
+<Data ElementName="unknown01" Type="int16" Size="1" />
+<Data ElementName="unknown02" Type="int8" Size="1" />
+<Data ElementName="unknown03" Type="sint32" Size="1" />
+<Data ElementName="unknown04" Type="sint32" Size="1" />
+<Data ElementName="unknown05" Type="sint32" Size="1" />
+<Data ElementName="accountid" Type="int32" Size="1" />
+<Data ElementName="unknown06" Type="int16" Size="1" />
+<Data ElementName="unknown07" Type="int8" Size="1" />
+<Data ElementName="unknown08" Type="int8" Size="1" />
+<Data ElementName="unknown09" Type="int32" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="unknown11" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CommandName" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="514">
+<Data ElementName="unknown01" Type="int32" Size="1" />
+<Data ElementName="unknown02" Type="int32" Size="1" />
+<Data ElementName="unknown03" Type="int32" Size="1" />
+<Data ElementName="character_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown04" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_DisplayText" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDisplayTextCmd">
+<Data ElementName="color" Type="int8" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown02" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_OnScreenMsg" ClientVersion="1" OpcodeName="OP_OnscreenMsgMsg">
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" />
+<Data ElementName="message_type" Type="EQ2_16Bit_String" />
+<Data ElementName="size" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_LevelChanged" ClientVersion="1" OpcodeName="OP_LevelChangedMsg">
+<Data ElementName="old_level" Type="int16" />
+<Data ElementName="new_level" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_DeathWindow" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqShowDeathWindowCmd"> 
+<Data ElementName="location_count" Type="int16" />
+<Data ElementName="location_array" Type="Array" ArraySizeVariable="location_count"> 
+   <Data ElementName="location_id" Type="int32" />
+   <Data ElementName="unknown2" Type="int8" /> 
+   <Data ElementName="zone_name" Type="EQ2_16Bit_String" /> 
+   <Data ElementName="location_name" Type="EQ2_16Bit_String" />
+   <Data ElementName="choice_text" Type="EQ2_16Bit_String" />
+   <Data ElementName="distance" Type="float" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size = "3" /> 
+</Struct>
+<Struct Name="WS_TeleportWithinZone" ClientVersion="1" OpcodeName="OP_TeleportWithinZoneMsg">
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+</Struct>
+<Struct Name="WS_GameWorldTime" ClientVersion="1" OpcodeName="OP_GameWorldTimeMsg">
+<Data ElementName="year" Type="int16" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="hour" Type="int8" Size="1" />
+<Data ElementName="minute" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unix_time" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_Camp" ClientVersion="1" OpcodeName="OP_CampStartedMsg" >
+<Data ElementName="seconds" Type="int8" Size="1" />
+<Data ElementName="camp_desktop" Type="int8" Size="1" />
+<Data ElementName="camp_char_select" Type="int8" Size="1" />
+<Data ElementName="char_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+</Struct>
+<Struct Name="WS_RequestCamp" ClientVersion="1" OpcodeName="OP_RequestCampMsg">
+<Data ElementName="quit" Type="int8" Size="1" />
+<Data ElementName="camp_desktop" Type="int8" Size="1" />
+<Data ElementName="camp_char_select" Type="int16" Size="1" />
+<Data ElementName="char_name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown2" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_SpellGainedMsg" ClientVersion="1" OpcodeName="OP_SpellGainedMsg">
+<Data ElementName="spell_type" Type="int8" Size="1" />
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="unique_id" Type="int32" Size="1" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" />
+<Data ElementName="display_spell_tier" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="tier" Type="int8" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_MacroInit" ClientVersion="1" OpcodeName="OP_MacroInitMsg" > 
+<Data ElementName="macro_count" Type="int32" />
+<Data ElementName="macro_array" Type="Array" ArraySizeVariable="macro_count">
+   <Data ElementName="number" Type="int8" />
+   <Data ElementName="name" Type="EQ2_8Bit_String" />
+   <Data ElementName="macro_details_count" Type="int8" />
+   <Data ElementName="macro_details_array" Type="Array" ArraySizeVariable="macro_details_count">
+      <Data ElementName="command" Type="EQ2_16Bit_String" />
+   </Data>
+   <Data ElementName="icon" Type="int16" Size = "1" /> 
+   <Data ElementName="unknown2" Type="int16" Size = "1" /> 
+   <Data ElementName="unknown3" Type="int32" Size = "1" /> 
+   <Data ElementName="unknown4" Type="int32" Size = "1" /> 
+</Data>
+</Struct>
+<Struct Name="WS_MacroUpdate" ClientVersion="1" OpcodeName="OP_MacroUpdateMsg" > 
+<Data ElementName="number" Type="int8" />
+<Data ElementName="name" Type="EQ2_8Bit_String" />
+<Data ElementName="macro_count" Type="int8" />
+<Data ElementName="macro_array" Type="Array" ArraySizeVariable="macro_count"> 
+   <Data ElementName="command" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="icon" Type="int16" Size = "1" /> 
+<Data ElementName="unknown2" Type="int16" Size = "1" /> 
+<Data ElementName="unknown3" Type="int32" Size = "1" /> 
+<Data ElementName="unknown4" Type="int32" Size = "1" /> 
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="1" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="942" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="957" OpcodeName="OP_ZoneInfoMsg">
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="motd" Type="EQ2_16Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ZoneInfo" ClientVersion="959" OpcodeName="OP_ZoneInfoMsg" >
+<Data ElementName="server1" Type="EQ2_8Bit_String" />
+<Data ElementName="server2" Type="EQ2_8Bit_String" />
+<Data ElementName="unknown1" Type="int8" Size="2" />
+<Data ElementName="expansions_enabled" Type="int32" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="auction_website" Type="EQ2_8Bit_String" />
+<Data ElementName="auction_port" Type="int32" Size="1" />
+<Data ElementName="upload_page" Type="EQ2_8Bit_String" />
+<Data ElementName="upload_key" Type="EQ2_8Bit_String" />
+<Data ElementName="zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone2" Type="EQ2_8Bit_String" />
+<Data ElementName="parent_zone" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_unknown2" Type="EQ2_8Bit_String" />
+<Data ElementName="zone_desc" Type="EQ2_8Bit_String" />
+<Data ElementName="char_name" Type="EQ2_8Bit_String" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int8" Size="3" />
+<Data ElementName="unknown7" Type="float" Size="2" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="float" Size="1" />
+<Data ElementName="unknown10" Type="int32" Size="1" />
+<Data ElementName="unknown10b" Type="int16" Size="1" />
+<Data ElementName="num_adv" Type="int32" Size="1" />
+<Data ElementName="adv_array" Type="Array" ArraySizeVariable="num_adv">
+	<Data ElementName="adv_name" Type="EQ2_16Bit_String" />
+	<Data ElementName="adv_id" Type="int16" />
+</Data>
+<Data ElementName="num_client_setup" Type="int32" Size="1" />
+<Data ElementName="client_cmd_array" Type="Array" ArraySizeVariable="num_client_setup">
+	<Data ElementName="client_cmds" Type="EQ2_8Bit_String" />
+</Data>
+<Data ElementName="unknown11" Type="int32" Size="1" />
+<Data ElementName="num_news_items" Type="int16" Size="1" />
+<Data ElementName="news_item_array" Type="Array" ArraySizeVariable="num_news_items">
+	<Data ElementName="news_id" Type="int32" Size="1" />
+	<Data ElementName="news" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="Substruct_SpellEffects" ClientVersion="1" >
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown2" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+</Struct>
+<Struct Name="Substruct_SpellEffects" ClientVersion="843" >
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown2" Type="int16" Size="1" />
+</Struct>
+<Struct Name="Substruct_MaintainedEffects" ClientVersion="1">
+<Data ElementName="name" Type="char" Size="60" />
+<Data ElementName="target" Type="int32" Size="1" />
+<Data ElementName="target_type" Type="int8" Size="1" />
+<Data ElementName="spell_id" Type="int32" Size="1" />
+<Data ElementName="slot_pos" Type="int32" Size="1" />
+<Data ElementName="icon" Type="int16" Size="1" />
+<Data ElementName="icon_type" Type="int16" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="total_time" Type="float" Size="1" />
+<Data ElementName="expire_timestamp" Type="int32" Size="1" />
+</Struct>
+<Struct Name="Substruct_GroupMember" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="hp_current" Type="sint32" Size="1" />
+<Data ElementName="hp_max" Type="sint32" Size="1" />
+<Data ElementName="power_current" Type="sint32" Size="1" />
+<Data ElementName="power_max" Type="sint32" Size="1" />
+<Data ElementName="level_current" Type="int16" Size="1" />
+<Data ElementName="level_max" Type="int16" Size="1" />
+<Data ElementName="name" Type="char" Size="41" />
+<Data ElementName="zone" Type="char" Size="60" />
+<Data ElementName="instance" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="race_id" Type="int8" Size="1" />
+<Data ElementName="class_id" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="1" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="311" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="843" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="312" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="860" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="17" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="314" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="869" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="18" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="319" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="871" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="319" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="877" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="321" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="882" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="19" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="322" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="893" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="323" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="898" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="7" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="12" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="318" />
+<Data ElementName="unknown20b" Type="int8" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="910" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="8" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="27" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="exp_bar" Type="int16" Size="1" />
+<Data ElementName="in_combat" Type="int16" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="491" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="936" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="31" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="30" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="495" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="int8" Size="28" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="32" />
+<Data ElementName="unknown23" Type="int8" Size="30" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="942" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="31" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="495" />
+<Data ElementName="unknown20b" Type="int8" Size="3" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="949" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="12" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="496" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="955" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="13" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="13" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="153" />
+<Data ElementName="group_members" Substruct="Substruct_GroupMember" Size="5" />
+<Data ElementName="unknown20a" Type="int16" Size="1" />
+<Data ElementName="unknown20b" Type="int32" Size="168" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_CharacterSheet" ClientVersion="972" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="char" Size="40" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="race" Type="int8" Size="1" />
+<Data ElementName="gender" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="class1" Type="int32" Size="1" />
+<Data ElementName="class2" Type="int32" Size="1" />
+<Data ElementName="class3" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class1" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class2" Type="int32" Size="1" />
+<Data ElementName="tradeskill_class3" Type="int32" Size="1" />
+<Data ElementName="level" Type="int16" Size="1" />
+<Data ElementName="effective_level" Type="int16" Size="1" />
+<Data ElementName="tradeskill_level" Type="int16" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="account_age_base" Type="int16" Size="1" />
+<Data ElementName="account_age_bonus" Type="int16" Size="1" />
+<Data ElementName="deity" Type="char" Size="32" />
+<Data ElementName="last_name" Type="char" Size="20" />
+<Data ElementName="unknown9" Type="int8" Size="1" />
+<Data ElementName="current_hp" Type="int32" Size="1" />
+<Data ElementName="max_hp" Type="int32" Size="1" />
+<Data ElementName="base_hp" Type="int32" Size="1" />
+<Data ElementName="current_power" Type="int32" Size="1" />
+<Data ElementName="max_power" Type="int32" Size="1" />
+<Data ElementName="base_power" Type="int32" Size="1" />
+<Data ElementName="conc_used" Type="int8" Size="1" />
+<Data ElementName="conc_max" Type="int8" Size="1" />
+<Data ElementName="attack" Type="int16" Size="1" />
+<Data ElementName="attack_base" Type="int16" Size="1" />
+<Data ElementName="hp_regen" Type="int32" Size="1" />
+<Data ElementName="power_regen" Type="int32" Size="1" />
+<Data ElementName="unknown11" Type="float" Size="2" />
+<Data ElementName="mitigation3" Type="int16" Size="1" />
+<Data ElementName="mitigation3_base" Type="int16" Size="1" />
+<Data ElementName="absorb" Type="int16" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="13" />
+<Data ElementName="str" Type="int16" Size="1" />
+<Data ElementName="sta" Type="int16" Size="1" />
+<Data ElementName="agi" Type="int16" Size="1" />
+<Data ElementName="wis" Type="int16" Size="1" />
+<Data ElementName="int" Type="int16" Size="1" />
+<Data ElementName="str_base" Type="int16" Size="1" />
+<Data ElementName="sta_base" Type="int16" Size="1" />
+<Data ElementName="agi_base" Type="int16" Size="1" />
+<Data ElementName="wis_base" Type="int16" Size="1" />
+<Data ElementName="int_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation_max" Type="int16" Size="1" />
+<Data ElementName="mitigation_base" Type="int16" Size="1" />
+<Data ElementName="heat" Type="int16" Size="1" />
+<Data ElementName="cold" Type="int16" Size="1" />
+<Data ElementName="magic" Type="int16" Size="1" />
+<Data ElementName="mental" Type="int16" Size="1" />
+<Data ElementName="divine" Type="int16" Size="1" />
+<Data ElementName="disease" Type="int16" Size="1" />
+<Data ElementName="poison" Type="int16" Size="1" />
+<Data ElementName="mitigation2_cur" Type="int16" Size="1" />
+<Data ElementName="mitigation2_max" Type="int16" Size="1" />
+<Data ElementName="mitigation2_base" Type="int16" Size="1" />
+<Data ElementName="heat_base" Type="int16" Size="1" />
+<Data ElementName="cold_base" Type="int16" Size="1" />
+<Data ElementName="magic_base" Type="int16" Size="1" />
+<Data ElementName="mental_base" Type="int16" Size="1" />
+<Data ElementName="divine_base" Type="int16" Size="1" />
+<Data ElementName="disease_base" Type="int16" Size="1" />
+<Data ElementName="poison_base" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill1" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill2" Type="int16" Size="1" />
+<Data ElementName="mitigation_skill3" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int16" Size="28" />
+<Data ElementName="exp_yellow" Type="int16" Size="1" />
+<Data ElementName="exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown13b" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_yellow" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_blue" Type="int16" Size="1" />
+<Data ElementName="unknown14" Type="int16" Size="1" />
+<Data ElementName="unknown15a" Type="int16" Size="1" />
+<Data ElementName="adventure_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="xp_yellow_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="xp_blue_vitality_bar" Type="int16" Size="1" />
+<Data ElementName="tradeskill_exp_vitality" Type="int16" Size="1" />
+<Data ElementName="unknown15c" Type="int16" Size="33" />
+<Data ElementName="coins_copper" Type="int32" Size="1" />
+<Data ElementName="coins_silver" Type="int32" Size="1" />
+<Data ElementName="coins_gold" Type="int32" Size="1" />
+<Data ElementName="coins_plat" Type="int32" Size="1" />
+<Data ElementName="weight" Type="int32" Size="1" />
+<Data ElementName="max_weight" Type="int32" Size="1" />
+<Data ElementName="unknown16" Type="int16" Size="10" />
+<Data ElementName="spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="detrimental_spell_effects" Substruct="Substruct_SpellEffects" Size="45" />
+<Data ElementName="unknown17" Type="int16" Size="2" />
+<Data ElementName="unknown17b" Type="int8" Size="1" />
+<Data ElementName="maintained_effects" Substruct="Substruct_MaintainedEffects" Size="30" />
+<Data ElementName="unknown18" Type="int16" Size="4" />
+<Data ElementName="unknown19" Type="int32" Size="14" />
+<Data ElementName="flags" Type="int32" Size="1" />
+<Data ElementName="flags2" Type="int32" Size="1" />
+<Data ElementName="unknown20" Type="int32" Size="153" />
+<Data ElementName="group_members" Substruct="Substruct_GroupMember" Size="5" />
+<Data ElementName="unknown20a" Type="int16" Size="1" />
+<Data ElementName="unknown20b" Type="int32" Size="171" />
+<Data ElementName="pet_id" Type="int32" Size="1" />
+<Data ElementName="pet_name" Type="char" Size="32" />
+<Data ElementName="unknown21" Type="float" Size="5" />
+<Data ElementName="rain" Type="float" Size="1" />
+<Data ElementName="rain2" Type="float" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="5" />
+<Data ElementName="house_zone" Type="char" Size="48" />
+<Data ElementName="unknown23" Type="int8" Size="146" />
+<Data ElementName="bind_zone" Type="char" Size="32" />
+<Data ElementName="unknown24" Type="int8" Size="29" />
+</Struct>
+<Struct Name="WS_PlayFlavor" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearPlayFlavorCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown1" Type="int32" Size="1" />
+<Data ElementName="mp3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="emote" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="key" Type="int32" Size="2" />
+<Data ElementName="unknown5" Type="int8" Size="13" />
+</Struct>
+<Struct Name="WS_PlayVoice" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlayVoiceCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="mp3" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="key" Type="int32" Size="2" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_PlaySound" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlaySoundCmd">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_Play3DSound" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqPlaySound3DCmd">
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="x" Type="float" Size="1" />
+<Data ElementName="y" Type="float" Size="1" />
+<Data ElementName="z" Type="float" Size="1" />
+<Data ElementName="unknown1" Type="float" Size="1" />
+<Data ElementName="unknown2" Type="float" Size="1" />
+<Data ElementName="unknown3" Type="float" Size="1" />
+</Struct>
+<Struct Name="WS_EntityVerbsVerb" ClientVersion="1">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="command" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_Resurrected" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqResurrectedCmd">
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CancelMoveObjectMode" ClientVersion="1" OpcodeName="OP_CancelMoveObjectModeMsg">
+<Data ElementName="unknown" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_UpdateTarget" ClientVersion="1" OpcodeName="OP_UpdateTargetMsg">
+<Data ElementName="spawn_index" Type="int16" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ServerUpdateTarget" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateTargetCmd">
+<Data ElementName="spawn_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SetPOVGhostCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetPOVGhostCmd">
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_DestroyGhostCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDestroyGhostCmd">
+<Data ElementName="spawn_index" Type="int16" OversizedValue="255" />
+<Data ElementName="delete" Type="int8" />
+</Struct>
+<Struct Name="WS_ClientFell" ClientVersion="1" OpcodeName="OP_ClientFellMsg">
+<Data ElementName="height" Type="float" />
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_SetDefaultCommand" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetDefaultVerbCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="command_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="distance" Type="float" />
+</Struct>
+<Struct Name="WS_HearDamage_Header" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="packet_type" Type="int8" />
+<Data ElementName="result_type" Type="int8" />
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+<Data ElementName="unknown" Type="int16" />
+</Struct>
+<Struct Name="WS_HearDamage_Header" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="packet_type" Type="int8" />
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="result_type" Type="int8" />
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+</Struct>
+<Struct Name="WS_HearSimpleDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_HearSiphonSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="siphon_type" Type="int8" />
+<Data ElementName="siphon_subtype" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearMultipleDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="num_dmg" Type="int8" />
+<Data ElementName="dmg_array" Type="Array" ArraySizeVariable="num_dmg">
+	<Data ElementName="damage_type" Type="int8" />
+	<Data ElementName="damage" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_HearSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearRangeDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+</Struct>
+<Struct Name="WS_HearRangeSpellDamage" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearSimpleDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_HearSiphonSpellDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="siphon_type" Type="int8" />
+<Data ElementName="siphon_subtype" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearMultipleDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="num_dmg" Type="int8" />
+<Data ElementName="dmg_array" Type="Array" ArraySizeVariable="num_dmg">
+	<Data ElementName="damage_type" Type="int8" />
+	<Data ElementName="damage" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_HearSpellDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearRangeDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+</Struct>
+<Struct Name="WS_HearRangeSpellDamage" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearCombatCmd">
+<Data ElementName="header" Substruct="WS_HearDamage_Header" Size="1" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="damage" Type="int16" />
+<Data ElementName="weapon_appearance" Type="int16" />
+<Data ElementName="spell_name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_HearDeath" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearDeathCmd">
+<Data ElementName="attacker" Type="int32" />
+<Data ElementName="defender" Type="int32" />
+<Data ElementName="damage_type" Type="int8" />
+<Data ElementName="blow_type" Type="int16" />
+</Struct>
+<Struct Name="WS_UpdateSkillBook" ClientVersion="1" OpcodeName="OP_UpdateSkillBookMsg" >
+<Data ElementName="skill_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="skill_array" Type="Array" ArraySizeVariable="skill_count">
+	<Data ElementName="skill_id" Type="int32" />
+	<Data ElementName="type" Type="int32" />
+	<Data ElementName="current_val" Type="int16" />
+	<Data ElementName="base_val" Type="int16" />
+	<Data ElementName="max_val" Type="int16" />
+	<Data ElementName="skill_delta" Type="int16" />
+	<Data ElementName="skill_delta2" Type="int16" />
+	<Data ElementName="display_minval" Type="int8" Size="1" />
+	<Data ElementName="display_maxval" Type="int8" Size="1" />
+	<Data ElementName="language_unknown" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_SpellSlotMapping" ClientVersion="1" OpcodeName="OP_KnowledgeWindowSlotMappingMsg" >
+<Data ElementName="spell_count" Type="int16" />
+<Data ElementName="spell_array" Type="Array" ArraySizeVariable="spell_count">
+	<Data ElementName="spell_id" Type="int32" />
+	<Data ElementName="slot_id" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_SkillInfoRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoSpellRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoItemRequest" ClientVersion="1">
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+</Struct>
+<Struct Name="WS_SkillInfoResponse" ClientVersion="1" OpcodeName="OP_SkillInfoResponse" >
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SkillInfoItemResponse" ClientVersion="1" OpcodeName="OP_SkillInfoResponse" >
+<Data ElementName="request_type" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SetControlGhost" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSetControlGhostCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="speed" Type="float" />
+<Data ElementName="size" Type="float" />
+<Data ElementName="unknown2" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateSpellBook" ClientVersion="1" OpcodeName="OP_UpdateSpellBookMsg" >
+<Data ElementName="spell_count" Type="int16" />
+<Data ElementName="packed_size" Type="int32" />
+<Data ElementName="spell_array" Type="Array" ArraySizeVariable="spell_count">
+	<Data ElementName="spell_id" Type="int32" />
+	<Data ElementName="unique_id" Type="int32" />
+	<Data ElementName="recast_available" Type="int32" Size="1" />
+	<Data ElementName="type" Type="int16" Size="1" />
+	<Data ElementName="recast_time" Type="int16" Size="1" />
+	<Data ElementName="unknown3" Type="int16" />
+	<Data ElementName="icon" Type="sint16" />
+	<Data ElementName="icon_type" Type="int16" />
+	<Data ElementName="icon2" Type="int16" Size="1" />
+	<Data ElementName="charges" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="4" />
+	<Data ElementName="status" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_ExamineInfoHeader" ClientVersion="1" >
+<Data ElementName="show_name" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="show_popup" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineInfoHeader" ClientVersion="860" >
+<Data ElementName="show_name" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="show_popup" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestExamineInfoHeader" ClientVersion="1" >
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestExamineInfoHeader" ClientVersion="860" >
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="packettype" Type="int16" Size="1" />
+<Data ElementName="packetsubtype" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_SpecialSpellInfo" ClientVersion="1">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="uses_remaining" Type="int16" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="damage_remaining" Type="int16" Size = "1" />
+<Data ElementName="unknown14" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_AchievementSpellInfo" ClientVersion="1">
+<Data ElementName="aa_id" Type="int32" /> 
+<Data ElementName="unknown" Type="int16" Size="1" /> 
+<Data ElementName="aa_icon" Type="int16" Size="1" /> 
+<Data ElementName="aa_icon2" Type="int16" Size="1" /> 
+<Data ElementName="current_rank" Type="int8" Size="1" /> 
+<Data ElementName="max_rank" Type="int8" Size="1" /> 
+<Data ElementName="rank_cost" Type="int8" Size="1" /> 
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+	<Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="consumed" Type="int8" Size="1" />
+	<Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_AchievementSpellInfo" ClientVersion="972">
+<Data ElementName="aa_id" Type="int32" /> 
+<Data ElementName="unknown" Type="int16" Size="1" /> 
+<Data ElementName="aa_icon" Type="int16" Size="1" /> 
+<Data ElementName="aa_icon2" Type="int16" Size="1" /> 
+<Data ElementName="current_rank" Type="int8" Size="1" /> 
+<Data ElementName="max_rank" Type="int8" Size="1" /> 
+<Data ElementName="rank_cost" Type="int8" Size="1" /> 
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+	<Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="consumed" Type="int8" Size="1" />
+	<Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="unknown1" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="1">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+        <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+        <Data ElementName="consumed" Type="int8" Size="1" />
+        <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="949">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+	<Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="consumed" Type="int8" Size="1" />
+	<Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size="1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="954">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+        <Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+        <Data ElementName="consumed" Type="int8" Size="1" />
+        <Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_SpellInfo" ClientVersion="972">
+<Data ElementName="id" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icon2" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="version" Type="int16" Size = "1" />
+<Data ElementName="sub_version" Type="int16" Size = "1" />
+<Data ElementName="type" Type="int8" Size = "1" />
+<Data ElementName="class_skill" Type="int32" Size = "1" />
+<Data ElementName="mastery_skill" Type="int32" Size = "1" />
+<Data ElementName="min_class_skill_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="spell_text_color" Type="int32" Size = "1" />
+<Data ElementName="num_levels" Type="int8" Size = "1" />
+<Data ElementName="level_array" Type="Array" ArraySizeVariable="num_levels">
+	<Data ElementName="adventure_class" Type="int8" Size="1" />
+	<Data ElementName="tradeskill_class" Type="int8" Size="1" />
+	<Data ElementName="spell_level" Type="int16" Size = "1" />
+</Data>
+<Data ElementName="tier" Type="int8" Size = "1" />
+<Data ElementName="health_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="health_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_req" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="power_upkeep" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="req_concentration" Type="int16" Size = "1" />
+<Data ElementName="cast_time" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recovery" Type="int16" Size = "1" OversizedValue="127" OversizedByte="127" />
+<Data ElementName="recast" Type="float" Size = "1" />
+<Data ElementName="radius" Type="float" Size = "1" />
+<Data ElementName="max_aoe_targets" Type="int16" Size = "1" />
+<Data ElementName="friendly_spell" Type="int8" Size = "1" />
+<Data ElementName="num_reagents" Type="int8" />
+<Data ElementName="reagent_array" Type="Array" ArraySizeVariable="num_reagents">
+	<Data ElementName="reagent" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="consumed" Type="int8" Size="1" />
+	<Data ElementName="qty_required" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_effects" Type="int8" />
+<Data ElementName="effect_array" Type="Array" ArraySizeVariable="num_effects">
+	<Data ElementName="subbulletflag" Type="int8" Size = "1" />
+	<Data ElementName="effect" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="percentage" Type="int8" Size = "1" />
+</Data>
+<Data ElementName="display_spell_tier" Type="int8" Size = "1" />
+<Data ElementName="unknown1" Type="int8" Size = "1" />
+<Data ElementName="minimum_range" Type="float" Size = "1" />
+<Data ElementName="range" Type="float" Size = "1" />
+<Data ElementName="Unknown28" Type="int32" Size = "1" />
+<Data ElementName="duration1" Type="int32" Size = "1" />
+<Data ElementName="duration2" Type="int32" Size = "1" />
+<Data ElementName="unknown9" Type="int8" Size = "1" />
+<Data ElementName="duration_flag" Type="int8" Size = "1" />
+<Data ElementName="target" Type="int8" Size = "1" />
+<Data ElementName="can_effect_raid" Type="int8" Size = "1" />
+<Data ElementName="affect_only_group_members" Type="int8" Size = "1" />
+<Data ElementName="group_spell" Type="int8" Size = "1" />
+<Data ElementName="resistibility" Type="float" Size = "1" />
+<Data ElementName="unknown11" Type="int8" Size = "6" />
+<Data ElementName="hit_bonus" Type="float" Size = "1" />
+<Data ElementName="unknown12" Type="int8" Size = "1" />
+<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpecialSpellInfo" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpecialSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="954" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineSpellInfo" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_SpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineAASpellInfo" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_AchievementSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_ExamineAASpellInfo" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqExamineInfoCmd">
+<Data ElementName="info_header" Substruct="WS_ExamineInfoHeader" Size="1" />
+<Data ElementName="spell_info" Substruct="WS_AchievementSpellInfo" Size="1" />
+</Struct>
+<Struct Name="WS_MoveObjectMode" ClientVersion="1" OpcodeName="OP_EnterMoveObjectModeMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="placement_mode" Type="int8" />
+<Data ElementName="model_type" Type="int16" />
+<Data ElementName="unknown2" Type="float" />
+<Data ElementName="max_distance" Type="float" />
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveObjectMode" ClientVersion="936" OpcodeName="OP_EnterMoveObjectModeMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="placement_mode" Type="int8" />
+<Data ElementName="model_type" Type="int16" />
+<Data ElementName="unknown" Type="float" />
+<Data ElementName="unknown2" Type="float" Size="4" />
+<Data ElementName="max_distance" Type="float" />
+<Data ElementName="unknown4" Type="int8" />
+</Struct>
+<Struct Name="WS_PlaceMoveableObject" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="float" />
+<Data ElementName="unknown2" Type="float" />
+<Data ElementName="unknown3" Type="int32" />
+</Struct>
+<Struct Name="WS_ServerControlFlags" ClientVersion="1" OpcodeName="OP_ChangeServerControlFlagMsg" >
+<Data ElementName="parameter1" Type="int8" />
+<Data ElementName="parameter2" Type="int8" />
+<Data ElementName="parameter3" Type="int8" />
+<Data ElementName="parameter4" Type="int8" />
+<Data ElementName="parameter5" Type="int8" />
+<Data ElementName="unknown" Type="int8" Size="3" />
+<Data ElementName="value" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveClient" ClientVersion="1" OpcodeName="OP_TeleportWithinZoneNoReloadMsg" >
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_MoveClient" ClientVersion="869" OpcodeName="OP_TeleportWithinZoneNoReloadMsg" >
+<Data ElementName="x" Type="float" />
+<Data ElementName="y" Type="float" />
+<Data ElementName="z" Type="float" />
+<Data ElementName="heading" Type="float" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="location" Type="int32" />
+</Struct>
+<Struct Name="WS_ExamineSpellEffectRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoItemRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoRequest" ClientVersion="860" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="2" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_ExamineInfoItemLinkRequest" ClientVersion="1" >
+<Data ElementName="type" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="3" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown5" Type="int16" />
+</Struct>
+<Struct Name="WS_QuickBarUpdateRequest" ClientVersion="1" >
+<Data ElementName="hotbar_number" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="hotkey_slot" Type="int32" />
+<Data ElementName="type" Type="int32" />
+<Data ElementName="icon" Type="int16" Size = "1" />
+<Data ElementName="icontype" Type="int16" Size = "1" />
+<Data ElementName="unknown4" Type="int32" />
+<Data ElementName="id" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int16" Size = "1" />
+</Struct>
+<Struct Name="WS_CannedEmote" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCannedEmoteCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="emote_msg" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="anim_type" Type="int16" />
+<Data ElementName="unknown0" Type="int32" />
+</Struct>
+<Struct Name="WS_HearCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearSpellCastCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_targets" Type="int16" />
+<Data ElementName="target_array" Type="Array" ArraySizeVariable="num_targets">
+     <Data ElementName="target" Type="int32" />
+</Data>
+<Data ElementName="spell_id" Type="int32" />
+<Data ElementName="spell_visual" Type="int32" />
+<Data ElementName="cast_time" Type="float" />
+<Data ElementName="spell_level" Type="int16" />
+<Data ElementName="spell_tier" Type="int8" />
+</Struct>
+<Struct Name="WS_StartCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSpellCastStartCmd">
+<Data ElementName="cast_time" Type="float" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_FinishCastSpell" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqSpellCastEndCmd">
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="spell_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_QuickBarInit" ClientVersion="1" OpcodeName="OP_QuickbarInitMsg" >
+<Data ElementName="num_abilities" Type="int32" />
+<Data ElementName="ability_array" Type="Array" ArraySizeVariable="num_abilities">
+	<Data ElementName="hotbar" Type="int32" Size="1" />
+	<Data ElementName="unknown" Type="int32" Size="1" />
+	<Data ElementName="slot" Type="int32" Size="1" />
+	<Data ElementName="type" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="icon_type" Type="int16" Size="1" />
+	<Data ElementName="unknown2" Type="int32" Size="1" />
+	<Data ElementName="id" Type="int32" Size="1" />
+	<Data ElementName="unique_id" Type="int32" Size="1" />
+	<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown3" Type="int16" />
+</Data>
+</Struct>
+<Struct Name="WS_EntityVerbRequest" ClientVersion="1" >
+<Data ElementName="spawn_id" Type="int32" />
+</Struct>
+<Struct Name="WS_EntityVerbResponse" ClientVersion="1" OpcodeName="OP_EntityVerbsReplyMsg" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_verbs" Type="int8" />
+<Data ElementName="verbs_array" Type="Array" ArraySizeVariable="num_verbs">
+	<Data ElementName="command" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="distance" Type="float" />
+	<Data ElementName="display_error" Type="int16" />
+	<Data ElementName="error" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="display_text" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_WhoQueryReply" ClientVersion="1" OpcodeName="OP_WhoQueryReplyMsg" >
+<Data ElementName="account_id" Type="int32" />
+<Data ElementName="unknown" Type="int32" />
+<Data ElementName="response" Type="int8" />
+<Data ElementName="num_characters" Type="int8" />
+<Data ElementName="characters_array" Type="Array" ArraySizeVariable="num_characters">
+	<Data ElementName="char_name" Type="char" Size="40" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="admin_level" Type="int8" Size="1" />
+	<Data ElementName="class" Type="int16" Size="1" />
+	<Data ElementName="unknown4" Type="int8" />
+	<Data ElementName="race" Type="int8" Size="1" />
+	<Data ElementName="flags" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="zone" Type="char" Size="77" />
+	<Data ElementName="guild" Type="char" Size="40" />
+	<Data ElementName="unknown7" Type="int8" />
+	<Data ElementName="unknown8" Type="int8" />
+	<Data ElementName="unknown9" Type="int8" />
+</Data>
+<Data ElementName="unknown10" Type="int8" />
+</Struct>
+
+<Struct Name="WS_HearChat" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearChatCmd" >
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="from_spawn_id" Type="int32" />
+<Data ElementName="to_spawn_id" Type="int32" />
+<Data ElementName="from" Type="EQ2_16Bit_String" />
+<Data ElementName="to" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+<Data ElementName="time" Type="int32" />
+<Data ElementName="channel" Type="int8" />
+<Data ElementName="language" Type="int8" />
+<Data ElementName="message" Type="EQ2_16Bit_String" />
+<Data ElementName="channel_name" Type="EQ2_16Bit_String" />
+<Data ElementName="show_bubble" Type="int8" Size="1" />
+<Data ElementName="understood" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CloseWindow" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCloseWindowCmd" >
+<Data ElementName="window_id" Type="int16" />
+<Data ElementName="index" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateLoot" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateLootCmd" >
+<Data ElementName="loot_count" Type="int16" />
+<Data ElementName="display" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="loot_id" Type="int32" />
+</Struct>
+<Struct Name="WS_UpdateLoot" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateLootCmd" >
+<Data ElementName="loot_count" Type="int16" />
+<Data ElementName="display" Type="int16" />
+<Data ElementName="unknown2" Type="int32" />
+<Data ElementName="unknown3" Type="int32" />
+<Data ElementName="loot_id" Type="int32" />
+</Struct>
+<Struct Name="WS_LootType" ClientVersion="1" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+</Struct>
+<Struct Name="WS_LootType" ClientVersion="882" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int32" />
+</Struct>
+<Struct Name="WS_LootItem" ClientVersion="1" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="unknown4" Type="int32" />
+</Struct>
+<Struct Name="WS_LootItem" ClientVersion="882" OpcodeName="OP_LootItemsRequestMsg" >
+<Data ElementName="loot_id" Type="int32" />
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="loot_all" Type="int8" />
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="item_id" Type="int32" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="unknown4" Type="int32" />
+</Struct>
+<Struct Name="WS_UpdateBank" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateBankCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="bank_coins" Type="int32" />
+<Data ElementName="bank_coins2" Type="int32" />
+<Data ElementName="copper" Type="int32" />
+<Data ElementName="silver" Type="int32" />
+<Data ElementName="gold" Type="int32" />
+<Data ElementName="plat" Type="int32" />
+<Data ElementName="display" Type="int8" />
+</Struct>
+<Struct Name="WS_UpdateBank" ClientVersion="882" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateBankCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="bank_coins" Type="int32" />
+<Data ElementName="bank_coins2" Type="int32" />
+<Data ElementName="shared_bank_coins" Type="int32" />
+<Data ElementName="shared_bank_coins2" Type="int32" />
+<Data ElementName="copper" Type="int32" />
+<Data ElementName="silver" Type="int32" />
+<Data ElementName="gold" Type="int32" />
+<Data ElementName="plat" Type="int32" />
+<Data ElementName="display" Type="int8" />
+</Struct>
+<Struct Name="WS_QuestJournalUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalUpdateCmd" >
+<Data ElementName="num_quests" Type="int16" />
+<Data ElementName="quests_array" Type="Array" ArraySizeVariable="num_quests">
+	<Data ElementName="active" Type="int8" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_type" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown1" Type="int8" Size="1" />
+	<Data ElementName="turned_in" Type="int8" Size="1" />
+	<Data ElementName="repeatable" Type="int8" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="1" />
+	<Data ElementName="completed" Type="int8" Size="1" />
+	<Data ElementName="quest_id" Type="int32" Size="1" />
+	<Data ElementName="day" Type="int8" Size="1" />
+	<Data ElementName="month" Type="int8" Size="1" />
+	<Data ElementName="year" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="encounter_level" Type="int8" Size="1" />
+	<Data ElementName="difficulty" Type="int8" Size="1" />
+	<Data ElementName="visible" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+<Data ElementName="visible_quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="player_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="used_quests" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalUpdate" ClientVersion="931" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalUpdateCmd" >
+<Data ElementName="num_quest_zones" Type="int16" />
+<Data ElementName="quest_zones_array" Type="Array" ArraySizeVariable="num_quest_zones">
+	<Data ElementName="quest_zones_zone" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="quest_zones_zone_id" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_quests" Type="int16" />
+<Data ElementName="quests_array" Type="Array" ArraySizeVariable="num_quests">
+	<Data ElementName="active" Type="int8" Size="1" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="zonetype_id" Type="int16" Size="1" />
+	<Data ElementName="zone_id" Type="int16" Size="1" />
+	<Data ElementName="display_status" Type="int8" Size="1" />
+	<Data ElementName="quest_id" Type="int32" Size="1" />
+	<Data ElementName="day" Type="int8" Size="1" />
+	<Data ElementName="month" Type="int8" Size="1" />
+	<Data ElementName="year" Type="int8" Size="1" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="encounter_level" Type="int8" Size="1" />
+	<Data ElementName="difficulty" Type="int8" Size="1" />
+	<Data ElementName="completed" Type="int8" Size="1" />
+	<Data ElementName="repeatable" Type="int8" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+<Data ElementName="visible_quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="player_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="used_quests" Type="int16" Size="1" />
+</Struct>
+<Struct Name="WS_OfferQuest" ClientVersion="1" OpcodeName="OP_OfferQuestMsg" >
+<Data ElementName="unknown0" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="quest_difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="accept_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="decline_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="verify_enabled" Type="int32" Size="1" />
+<Data ElementName="verify_text" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="unknown4b" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_OfferQuest" ClientVersion="860" OpcodeName="OP_OfferQuestMsg" >
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="quest_difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="accept_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="decline_command" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="verify_enabled" Type="int32" Size="1" />
+<Data ElementName="verify_text" Type="EQ2_8Bit_String" Size="1" />
+<Data ElementName="unknown4b" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_GlowPath" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHelpPathCmd" >
+<Data ElementName="num_points" Type="int16" />
+<Data ElementName="points_array" Type="Array" ArraySizeVariable="num_points">
+	<Data ElementName="x" Type="float" Size="1" />
+	<Data ElementName="y" Type="float" Size="1" />
+	<Data ElementName="z" Type="float" Size="1" />
+</Data>
+<Data ElementName="waypoint_x" Type="float" Size="1" />
+<Data ElementName="waypoint_y" Type="float" Size="1" />
+<Data ElementName="waypoint_z" Type="float" Size="1" />
+<Data ElementName="waypoint_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_WaypointUpdate" ClientVersion="1" OpcodeName="OP_WaypointUpdateMsg" >
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="waypoint_name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="8" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="unknown8b" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestJournalReply" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="5" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_QuestJournalReply_PARSER_ONLY" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="8" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="unknown8b" Type="int8" Size="1" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_QuestJournalReply_PARSER_ONLY" ClientVersion="860" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqQuestJournalReplyCmd" >
+<Data ElementName="quest_id" Type="int32" Size="1" />
+<Data ElementName="player_crc" Type="int32" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="type" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="complete_header" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="day" Type="int8" Size="1" />
+<Data ElementName="month" Type="int8" Size="1" />
+<Data ElementName="year" Type="int8" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="5" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="encounter_level" Type="int8" Size="1" />
+<Data ElementName="unknown2b" Type="int8" Size="1" />
+<Data ElementName="difficulty" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="8" />
+<Data ElementName="task_groups_completed" Type="int16" Size="1" />
+<Data ElementName="num_task_groups" Type="int16" />
+<Data ElementName="task_group_array" Type="Array" ArraySizeVariable="num_task_groups">
+	<Data ElementName="task_group" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="num_tasks" Type="int16" />
+	<Data ElementName="task_array" Type="Array" ArraySizeVariable="num_tasks">
+		<Data ElementName="task" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="task_completed" Type="int8" Size="1" />
+	</Data>
+	<Data ElementName="num_updates" Type="int16" />
+	<Data ElementName="update_array" Type="Array" ArraySizeVariable="num_updates">
+		<Data ElementName="index" Type="int8" Size="1" />
+		<Data ElementName="update_countval" Type="int8" Size="1" />
+		<Data ElementName="update_currentval" Type="int16" Size="1" />
+		<Data ElementName="update_maxval" Type="int16" Size="1" />
+		<Data ElementName="icon" Type="int16" Size="1" />
+		<Data ElementName="update_target_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+	<Data ElementName="unknown4" Type="int32" Size="1" />
+</Data>
+<Data ElementName="unknown5" Type="int8" Size="2" />
+<Data ElementName="update" Type="int8" Size="1" />
+<Data ElementName="bullets" Type="int8" Size="1" />
+<Data ElementName="update_taskgroup_number" Type="int16" Size="1" />
+<Data ElementName="update_task_number" Type="int16" Size="1" />
+<Data ElementName="onscreen_update" Type="int8" Size="1" />
+<Data ElementName="onscreen_update_count" Type="int16" Size="1" />
+<Data ElementName="onscreen_update_text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_text2" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="onscreen_update_icon" Type="int16" Size="1" />
+<Data ElementName="unknown8" Type="int8" Size="2" />
+<Data ElementName="reward" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown9" Type="int8" Size="7" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="8" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="839" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="6" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="1" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+		<Data ElementName="unknown4" Type="int8" Size="1" />
+	</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_CollectionUpdate" ClientVersion="955" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqCollectionUpdateCmd" >
+<Data ElementName="num_collections" Type="int16" />
+<Data ElementName="collection_array" Type="Array" ArraySizeVariable="num_collections">
+	<Data ElementName="unknown" Type="int8" Size="1" />
+	<Data ElementName="collection_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="collection_category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown2" Type="int8" Size="6" />
+	<Data ElementName="level" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int8" Size="1" />
+	<Data ElementName="num_items" Type="int16" />
+	<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+		<Data ElementName="item_icon" Type="int16" Size="1" />
+		<Data ElementName="unknown4" Type="int8" Size="1" />
+		<Data ElementName="item_id" Type="sint32" Size="1" />
+		<Data ElementName="item_crc" Type="sint32" Size="1" />
+		</Data>
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestComplete" ClientVersion="1" OpcodeName="OP_QuestReward" >
+<Data ElementName="title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="2" />
+<Data ElementName="level" Type="int8" Size="1" />
+<Data ElementName="max_coin" Type="int64" Size="1" />
+<Data ElementName="min_coin" Type="int64" Size="1" />
+<Data ElementName="status_points" Type="int32" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="exp_bonus" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int8" Size="1" />
+<Data ElementName="num_select_rewards" Type="int32" Size="1" />
+<Data ElementName="select_rewards_array" Type="Array" ArraySizeVariable="num_select_rewards">
+	<Data ElementName="select_reward_id" Type="int32" Size="1" />
+	<Data ElementName="select_item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_rewards" Type="int32" />
+<Data ElementName="rewards_array" Type="Array" ArraySizeVariable="num_rewards">
+	<Data ElementName="reward_id" Type="int32" Size="1" />
+	<Data ElementName="item" Type="EQ2_Item" Size="1" />
+</Data>
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown3" Type="int8" Size="2" />
+</Struct>
+<Struct Name="WS_QuestFactionRewards" ClientVersion="1" >
+<Data ElementName="num_factions" Type="int8" />
+<Data ElementName="factions_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="amount" Type="sint32" Size="1" />
+</Data>
+<Data ElementName="unknown11" Type="int8" Size="7" />
+</Struct>
+<Struct Name="WS_DialogOpen" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDialogOpenCmd" >
+<Data ElementName="conversation_id" Type="int32" Size="1" />
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="text" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="num_responses" Type="int16" />
+<Data ElementName="response_array" Type="Array" ArraySizeVariable="num_responses">
+	<Data ElementName="response" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="unknown2" Type="int8" />
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="voice" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="key1" Type="int32" Size="1" />
+<Data ElementName="key2" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_DialogSelect" ClientVersion="1" >
+<Data ElementName="conversation_id" Type="int32" />
+<Data ElementName="response" Type="int32" />
+</Struct>
+<Struct Name="WS_ServerDialogClose" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDialogCloseCmd" >
+<Data ElementName="conversation_id" Type="int32" />
+</Struct>
+<Struct Name="WS_FactionUpdate" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqFactionUpdateCmd" >
+<Data ElementName="num_factions" Type="int16" />
+<Data ElementName="response_array" Type="Array" ArraySizeVariable="num_factions">
+	<Data ElementName="faction_id" Type="int32" />
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="category" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown" Type="EQ2_16Bit_String" />
+	<Data ElementName="con" Type="sint8" />
+	<Data ElementName="percentage" Type="int8" />
+	<Data ElementName="unknown2" Type="int8" />
+	<Data ElementName="value" Type="sint32" />
+</Data>
+<Data ElementName="unknown3" Type="int8" />
+</Struct>
+<Struct Name="WS_Interrupt" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqHearSpellInterruptCmd" >
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_targets" Type="int16" />
+<Data ElementName="target_array" Type="Array" ArraySizeVariable="num_targets">
+	<Data ElementName="target_id" Type="int32" />
+</Data>
+<Data ElementName="spell_id" Type="int32" />
+</Struct>
+<Struct Name="WS_DisplaySpellFailed" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqDisplaySpellFailCmd" >
+<Data ElementName="error_code" Type="int16" />
+</Struct>
+<Struct Name="WS_FogInit" ClientVersion="942" OpcodeName="OP_MapFogDataInitMsg" >
+<Data ElementName="unknown1" Type="int8" />
+<Data ElementName="map_id" Type="int32" />
+<Data ElementName="lowest_z" Type="float" />
+<Data ElementName="highest_z" Type="float" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="num_fog_locations" Type="int8" />
+<Data ElementName="locations_array" Type="Array" ArraySizeVariable="num_fog_locations">
+	<Data ElementName="fog_location_unknown1" Type="int32" />
+	<Data ElementName="fog_location_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="fog_location_bounds1_x" Type="float" />
+	<Data ElementName="fog_location_bounds1_z" Type="float" />
+	<Data ElementName="fog_location_bounds2_x" Type="float" />
+	<Data ElementName="fog_location_bounds2_z" Type="float" />
+	<Data ElementName="fog_unknown4" Type="int16" />
+	<Data ElementName="fog_compressed_size" Type="int16" Size = "1" OversizedValue="255" OversizedByte="255" />
+	<Data ElementName="fog_compressed_data_array" Type="Array" ArraySizeVariable="fog_compressed_size">
+		<Data ElementName="fog_compressed_data" Type="int8" />
+	</Data>
+</Data>
+<Data ElementName="unknown5" Type="int8" />
+<Data ElementName="num_fog2_locations" Type="int8" />
+<Data ElementName="locations2_array" Type="Array" ArraySizeVariable="num_fog2_locations">
+	<Data ElementName="fog2_location_unknown1" Type="int32" />
+	<Data ElementName="fog2_location_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="fog2_location_bounds1_x" Type="float" />
+	<Data ElementName="fog2_location_bounds1_z" Type="float" />
+	<Data ElementName="fog2_location_bounds2_x" Type="float" />
+	<Data ElementName="fog2_location_bounds2_z" Type="float" />
+	<Data ElementName="fog2_unknown4" Type="int16" />
+	<Data ElementName="fog2_compressed_size" Type="int16" Size = "1" OversizedValue="255" OversizedByte="255" />
+	<Data ElementName="fog2_compressed_data_array" Type="Array" ArraySizeVariable="fog2_compressed_size">
+		<Data ElementName="fog2_compressed_data" Type="int8" />
+	</Data>
+</Data>
+<Data ElementName="num_maps" Type="int8" />
+<Data ElementName="map_array" Type="Array" ArraySizeVariable="num_maps">
+	<Data ElementName="zone_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="explored_map_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unexplored_map_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown6" Type="int8" Size="8" />
+	<Data ElementName="unknown7" Type="int32" />
+	<Data ElementName="unknown8" Type="int32" />
+	<Data ElementName="map_bounds1_x" Type="float" />
+	<Data ElementName="map_bounds1_z" Type="float" />
+	<Data ElementName="map_bounds2_x" Type="float" />
+	<Data ElementName="map_bounds2_z" Type="float" />
+	<Data ElementName="map_bounds3_x" Type="float" />
+	<Data ElementName="map_bounds3_z" Type="float" />
+	<Data ElementName="map_bounds4_x" Type="float" />
+	<Data ElementName="map_bounds4_z" Type="float" />
+	<Data ElementName="unknown9" Type="int8" Size="9" />
+	<Data ElementName="explored_key" Type="int64" Size="1" />
+	<Data ElementName="unexplored_key" Type="int64" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_SetRemoteCmdsMsg" ClientVersion="1" >
+<Data ElementName="num_commands" Type="int16" />
+<Data ElementName="commands_array" Type="Array" ArraySizeVariable="num_commands">
+	<Data ElementName="name" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_RemoteCmdMsg" ClientVersion="1" OpcodeName="OP_RemoteCmdMsg" >
+<Data ElementName="command_handler" Type="int16" />
+<Data ElementName="arguments" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_UpdateMerchant" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqUpdateMerchantCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_items" Type="int16" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_name" Type="EQ2_8Bit_String" Size="1" />
+	<Data ElementName="price" Type="int64" />
+	<Data ElementName="item_id" Type="sint32" />
+	<Data ElementName="unknown2" Type="int32" />
+	<Data ElementName="stack_size" Type="int16" />
+	<Data ElementName="icon" Type="int16" />
+	<Data ElementName="item_difficulty" Type="int8" />
+	<Data ElementName="level" Type="int8" />
+	<Data ElementName="unknown4" Type="int8" />
+	<Data ElementName="quantity" Type="int8" />
+	<Data ElementName="unknown5" Type="int8" />
+	<Data ElementName="tier" Type="int8" />
+	<Data ElementName="unknown6" Type="int32" />
+	<Data ElementName="item_id2" Type="sint32" />
+	<Data ElementName="stack_size2" Type="int16" />
+	<Data ElementName="unknown7" Type="int8" Size="5" />
+	<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Data>
+<Data ElementName="type" Type="int32" />
+</Struct>
+<Struct Name="WS_TeleportList" ClientVersion="1" OpcodeName="OP_ShowZoneTeleporterDestinations">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="num_destinations" Type="int32" />
+<Data ElementName="destination_array" Type="Array" ArraySizeVariable="num_destinations">
+	<Data ElementName="unique_id" Type="int32" />
+	<Data ElementName="display_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="zone_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="cost" Type="int32" />
+</Data>
+</Struct>
+<Struct Name="WS_TeleportDestination" ClientVersion="1">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="unique_id" Type="int32" />
+<Data ElementName="zone_name" Type="EQ2_16Bit_String" />
+<Data ElementName="cost" Type="int32" />
+</Struct>
+<Struct Name="WS_MapRequest" ClientVersion="1">
+<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown" Type="int8" />
+</Struct>
+<Struct Name="WS_DressingRoom" ClientVersion="1" OpcodeName="OP_DressingRoom" >
+<Data ElementName="unknown" Type="int16" />
+<Data ElementName="slot" Type="int32" />
+<Data ElementName="appearance_id" Type="int16" />
+<Data ElementName="rgb" Type="float" Size="3" />
+<Data ElementName="highlight_rgb" Type="float" Size="3" />
+<Data ElementName="unknown3" Type="int8" />
+<Data ElementName="icon" Type="int16" />
+<Data ElementName="item_id" Type="sint32" />
+<Data ElementName="item_crc" Type="int32" />
+<Data ElementName="unknown4" Type="int32" />
+<Data ElementName="unknown5" Type="int8" Size="10" />
+</Struct>
+<Struct Name="WS_StateCmd" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqStateCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="state" Type="int32" />
+</Struct>
+<Struct Name="WS_EnterCombat" ClientVersion="1" OpcodeName="OP_AttackAllowed">
+<Data ElementName="response" Type="int8" />
+</Struct>
+<Struct Name="WS_StartBroker" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqStartBrokerCmd">
+<Data ElementName="spawn_id" Type="int32" />
+<Data ElementName="unknown" Type="int32" />
+<Data ElementName="unknown2" Type="int8" Size="6" />
+</Struct>
+<Struct Name="WS_BrokerBags" ClientVersion="1" OpcodeName="OP_ChatToggleFriendMsg" >
+<Data ElementName="char_id" Type="int32" />
+<Data ElementName="num_bags" Type="int8" />
+</Struct>
+<Struct Name="WS_BrokerItems" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqConsignmentItemsCmd" >
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="num_items" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_seller_id" Type="int64" Size="1" />
+	<Data ElementName="item_id" Type="int64" Size="1" />
+	<Data ElementName="item_id3" Type="int32" Size="1" />
+	<Data ElementName="quantity" Type="int32" Size="1" />
+	<Data ElementName="stack_size" Type="int16" Size="1" />
+	<Data ElementName="sell_price" Type="int64" Size="1" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="unknown4" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown7" Type="int16" Size="1" />
+	<Data ElementName="unknown8" Type="int32" Size="1" />
+	<Data ElementName="unknown9" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_sellers" Type="int32" />
+<Data ElementName="seller_array" Type="Array" ArraySizeVariable="num_sellers">
+	<Data ElementName="seller_seller_id" Type="int64" Size="1" />
+	<Data ElementName="seller_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="house_id" Type="int32" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+	<Data ElementName="unknown11" Type="int16" Size="1" />
+	<Data ElementName="unknown12" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_homes" Type="int32" Size="1" />
+<Data ElementName="home_array" Type="Array" ArraySizeVariable="num_homes">
+	<Data ElementName="home_id" Type="int32" Size="1" />
+	<Data ElementName="home_label" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="home_zone" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="num_pages" Type="int32" Size="1" />
+<Data ElementName="per_page" Type="int32" Size="1" />
+<Data ElementName="page" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_BrokerItems" ClientVersion="972" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqConsignmentItemsCmd" >
+<Data ElementName="unknown" Type="int8" />
+<Data ElementName="num_items" Type="int32" />
+<Data ElementName="item_array" Type="Array" ArraySizeVariable="num_items">
+	<Data ElementName="item_seller_id" Type="int64" Size="1" />
+	<Data ElementName="item_id" Type="int64" Size="1" />
+	<Data ElementName="item_id3" Type="int32" Size="1" />
+	<Data ElementName="quantity" Type="int32" Size="1" />
+	<Data ElementName="stack_size" Type="int16" Size="1" />
+	<Data ElementName="sell_price" Type="int64" Size="1" />
+	<Data ElementName="unknown3" Type="int8" Size="1" />
+	<Data ElementName="unknown4" Type="int8" Size="1" />
+	<Data ElementName="unknown5" Type="int32" Size="1" />
+	<Data ElementName="icon" Type="int16" Size="1" />
+	<Data ElementName="item_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown7" Type="int16" Size="1" />
+	<Data ElementName="unknown8" Type="int32" Size="1" />
+	<Data ElementName="unknown9" Type="int32" Size="1" />
+	<Data ElementName="unknown13" Type="int32" Size="1" />
+</Data>
+<Data ElementName="num_sellers" Type="int32" />
+<Data ElementName="seller_array" Type="Array" ArraySizeVariable="num_sellers">
+	<Data ElementName="seller_seller_id" Type="int64" Size="1" />
+	<Data ElementName="seller_name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="house_id" Type="int32" Size="1" />
+	<Data ElementName="unknown10" Type="int8" Size="1" />
+	<Data ElementName="unknown11" Type="int16" Size="1" />
+	<Data ElementName="unknown12" Type="int16" Size="1" />
+</Data>
+<Data ElementName="num_homes" Type="int32" Size="1" />
+<Data ElementName="home_array" Type="Array" ArraySizeVariable="num_homes">
+	<Data ElementName="home_id" Type="int32" Size="1" />
+	<Data ElementName="home_label" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="home_zone" Type="EQ2_8Bit_String" Size="1" />
+</Data>
+<Data ElementName="num_pages" Type="int32" Size="1" />
+<Data ElementName="per_page" Type="int32" Size="1" />
+<Data ElementName="page" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_EqShowBook" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqShowBookCmd" >
+<Data ElementName="unknown" Type="int32" Size="1" />
+<Data ElementName="book_title" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="type_size" Type="int16" Size="1" />
+	<Data ElementName="type_array" Type="Array" ArraySizeVariable="type_size">
+		<Data ElementName="type" Type="char" Size="1" />
+	</Data>	
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="skill_id_req" Type="int32" Size="1" />
+<Data ElementName="num_pages" Type="int8" Size="1" />
+<Data ElementName="cover_page" Type="EQ2_16Bit_String" Size="1" />
+<Data ElementName="book_page_array" Type="Array" ArraySizeVariable="num_pages">
+	<Data ElementName="unknown6" Type="int8" Size="1" />
+	<Data ElementName="unknown7" Type="int8" Size="1" />
+	<Data ElementName="unknown8" Type="int8" Size="1" />
+	<Data ElementName="body_array_size" Type="int16" Size="1" />
+		<Data ElementName="body_array" Type="Array" ArraySizeVariable="body_array_size">
+			<Data ElementName="body_text" Type="char" Size="1" />
+		</Data>		
+</Data>
+</Struct>
+<Struct Name="WS_ReceiveOffer" ClientVersion="1" OpcodeName="OP_ClientCmdMsg" OpcodeType="OP_EqReceiveOfferCmd">
+<Data ElementName="type" Type="int8" />
+<Data ElementName="name" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int32" Size="1" />
+</Struct>
+<Struct Name="WS_ChatRelationship" ClientVersion="1" OpcodeName="OP_ChatRelationshipUpdateMsg" >
+<Data ElementName="account_id" Type="int32" />
+<Data ElementName="type" Type="int8" />
+<Data ElementName="num_names" Type="int32" />
+<Data ElementName="name_array" Type="Array" ArraySizeVariable="num_names">
+	<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="location" Type="EQ2_16Bit_String" Size="1" />
+	<Data ElementName="unknown" Type="int16" Size="1" />
+</Data>
+</Struct>
+<Struct Name="WS_RequestGuildInfo" ClientVersion="1" >
+  <Data ElementName="guild_id" Type="int32" />
+  <Data ElementName="unknown1" Type="int16" Size="1" />
+  <Data ElementName="unknown2" Type="int32" Size="1" />
+  <Data ElementName="unknown3" Type="int16" Size="1" />
+  <Data ElementName="unknown4" Type="int16" Size="1" />
+  <Data ElementName="unknown5" Type="int16" Size="1" />
+  <Data ElementName="icon" Type="int16" Size="1" />
+  <Data ElementName="unknown6" Type="int16" Size="1" />
+<Data ElementName="description" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_TraitsList" ClientVersion="987" OpcodeName="OP_TraitsList" >
+<Data ElementName="num_traits" Type="int8" Size="1" />
+<Data ElementName="traits_array" Type="Array" ArraySizeVariable="num_traits">
+    <Data ElementName="trait_level" Type="int8" Size="1" />
+    <Data ElementName="trait_line" Type="int8" Size="1" />
+    <Data ElementName="trait0_icon" Type="int16" Size="1" />
+    <Data ElementName="trait0_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait0_id" Type="int32" Size="1" />
+    <Data ElementName="trait0_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait0_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="trait1_icon" Type="int16" Size="1" />
+    <Data ElementName="trait1_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait1_id" Type="int32" Size="1" />
+    <Data ElementName="trait1_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait1_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="trait2_icon" Type="int16" Size="1" />
+    <Data ElementName="trait2_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait2_id" Type="int32" Size="1" />
+    <Data ElementName="trait2_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait2_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="trait3_icon" Type="int16" Size="1" />
+    <Data ElementName="trait3_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait3_id" Type="int32" Size="1" />
+    <Data ElementName="trait3_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait3_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="trait4_icon" Type="int16" Size="1" />
+    <Data ElementName="trait4_icon2" Type="int16" Size="1" />
+    <Data ElementName="trait4_id" Type="int32" Size="1" />
+    <Data ElementName="trait4_unknown" Type="int32" Size="1" />
+    <Data ElementName="trait4_name" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="num_trainings" Type="int8" Size="1" />
+<Data ElementName="training_array" Type="Array" ArraySizeVariable="num_trainings">
+    <Data ElementName="training_level" Type="int8" Size="1" />
+    <Data ElementName="training_line" Type="int8" Size="1" />
+    <Data ElementName="training0_icon" Type="int16" Size="1" />
+    <Data ElementName="training0_icon2" Type="int16" Size="1" />
+    <Data ElementName="training0_id" Type="int32" Size="1" />
+    <Data ElementName="training0_unknown" Type="int32" Size="1" />
+    <Data ElementName="training0_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="training1_icon" Type="int16" Size="1" />
+    <Data ElementName="training1_icon2" Type="int16" Size="1" />
+    <Data ElementName="training1_id" Type="int32" Size="1" />
+    <Data ElementName="training1_unknown" Type="int32" Size="1" />
+    <Data ElementName="training1_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="training2_icon" Type="int16" Size="1" />
+    <Data ElementName="training2_icon2" Type="int16" Size="1" />
+    <Data ElementName="training2_id" Type="int32" Size="1" />
+    <Data ElementName="training2_unknown" Type="int32" Size="1" />
+    <Data ElementName="training2_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="training3_icon" Type="int16" Size="1" />
+    <Data ElementName="training3_icon2" Type="int16" Size="1" />
+    <Data ElementName="training3_id" Type="int32" Size="1" />
+    <Data ElementName="training3_unknown" Type="int32" Size="1" />
+    <Data ElementName="training3_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="training4_icon" Type="int16" Size="1" />
+    <Data ElementName="training4_icon2" Type="int16" Size="1" />
+    <Data ElementName="training4_id" Type="int32" Size="1" />
+    <Data ElementName="training4_unknown" Type="int32" Size="1" />
+    <Data ElementName="training4_name" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="num_traditions" Type="int8" Size="1" />
+    <Data ElementName="tradition_array" Type="Array" ArraySizeVariable="num_traditions">
+    <Data ElementName="tradition_selected" Type="int8" Size="1" />
+    <Data ElementName="tradition_icon" Type="int16" Size="1" />
+    <Data ElementName="tradition_icon2" Type="int16" Size="1" />
+    <Data ElementName="tradition_id" Type="int32" Size="1" />
+    <Data ElementName="tradition_unknown" Type="int32" Size="1" />
+    <Data ElementName="tradition_name" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="num_abilities" Type="int8" Size="1" />
+    <Data ElementName="ability_array" Type="Array" ArraySizeVariable="num_abilities">
+    <Data ElementName="ability_icon" Type="int16" Size="1" />
+    <Data ElementName="ability_icon2" Type="int16" Size="1" />
+    <Data ElementName="ability_id" Type="int32" Size="1" />
+    <Data ElementName="ability_unknown" Type="int32" Size="1" />
+    <Data ElementName="ability_name" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="WS_TraitsList" ClientVersion="996" OpcodeName="OP_TraitsList" >
+<Data ElementName="num_traits" Type="int8" Size="1" />
+<Data ElementName="traits_array" Type="Array" ArraySizeVariable="num_traits">
+  <Data ElementName="trait_level" Type="int8" Size="1" />
+  <Data ElementName="trait_line" Type="int8" Size="1" />
+  <Data ElementName="trait0_icon" Type="int16" Size="1" />
+  <Data ElementName="trait0_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait0_id" Type="int32" Size="1" />
+  <Data ElementName="trait0_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait0_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="trait1_icon" Type="int16" Size="1" />
+  <Data ElementName="trait1_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait1_id" Type="int32" Size="1" />
+  <Data ElementName="trait1_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait1_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="trait2_icon" Type="int16" Size="1" />
+  <Data ElementName="trait2_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait2_id" Type="int32" Size="1" />
+  <Data ElementName="trait2_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait2_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="trait3_icon" Type="int16" Size="1" />
+  <Data ElementName="trait3_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait3_id" Type="int32" Size="1" />
+  <Data ElementName="trait3_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait3_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="trait4_icon" Type="int16" Size="1" />
+  <Data ElementName="trait4_icon2" Type="int16" Size="1" />
+  <Data ElementName="trait4_id" Type="int32" Size="1" />
+  <Data ElementName="trait4_unknown" Type="int32" Size="1" />
+  <Data ElementName="trait4_name" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="num_trainings" Type="int8" Size="1" />
+<Data ElementName="training_array" Type="Array" ArraySizeVariable="num_trainings">
+  <Data ElementName="training_level" Type="int8" Size="1" />
+  <Data ElementName="training_line" Type="int8" Size="1" />
+  <Data ElementName="training0_icon" Type="int16" Size="1" />
+  <Data ElementName="training0_icon2" Type="int16" Size="1" />
+  <Data ElementName="training0_id" Type="int32" Size="1" />
+  <Data ElementName="training0_unknown" Type="int32" Size="1" />
+  <Data ElementName="training0_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="training1_icon" Type="int16" Size="1" />
+  <Data ElementName="training1_icon2" Type="int16" Size="1" />
+  <Data ElementName="training1_id" Type="int32" Size="1" />
+  <Data ElementName="training1_unknown" Type="int32" Size="1" />
+  <Data ElementName="training1_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="training2_icon" Type="int16" Size="1" />
+  <Data ElementName="training2_icon2" Type="int16" Size="1" />
+  <Data ElementName="training2_id" Type="int32" Size="1" />
+  <Data ElementName="training2_unknown" Type="int32" Size="1" />
+  <Data ElementName="training2_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="training3_icon" Type="int16" Size="1" />
+  <Data ElementName="training3_icon2" Type="int16" Size="1" />
+  <Data ElementName="training3_id" Type="int32" Size="1" />
+  <Data ElementName="training3_unknown" Type="int32" Size="1" />
+  <Data ElementName="training3_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="training4_icon" Type="int16" Size="1" />
+  <Data ElementName="training4_icon2" Type="int16" Size="1" />
+  <Data ElementName="training4_id" Type="int32" Size="1" />
+  <Data ElementName="training4_unknown" Type="int32" Size="1" />
+  <Data ElementName="training4_name" Type="EQ2_16Bit_String" />
+</Data>
+<Data ElementName="num_sections" Type="int8" Size="1" />
+<Data ElementName="sections_array" Type="Array" ArraySizeVariable="num_sections">
+  <Data ElementName="section_name" Type="EQ2_16Bit_String" />
+  <Data ElementName="num_traditions" Type="int8" Size="1" />
+  <Data ElementName="tradition_array" Type="Array" ArraySizeVariable="num_traditions">
+    <Data ElementName="tradition_selected" Type="int8" Size="1" />
+    <Data ElementName="tradition_icon" Type="int16" Size="1" />
+    <Data ElementName="tradition_icon2" Type="int16" Size="1" />
+    <Data ElementName="tradition_id" Type="int32" Size="1" />
+    <Data ElementName="tradition_unknown" Type="int32" Size="1" />
+    <Data ElementName="tradition_name" Type="EQ2_16Bit_String" />
+  </Data>
+</Data>
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="num_abilities" Type="int8" Size="1" />
+<Data ElementName="ability_array" Type="Array" ArraySizeVariable="num_abilities">
+  <Data ElementName="ability_icon" Type="int16" Size="1" />
+  <Data ElementName="ability_icon2" Type="int16" Size="1" />
+  <Data ElementName="ability_id" Type="int32" Size="1" />
+  <Data ElementName="ability_unknown" Type="int32" Size="1" />
+  <Data ElementName="ability_name" Type="EQ2_16Bit_String" />
+</Data>
+</Struct>
+<Struct Name="WS_PointOfInterest" ClientVersion="1">
+<Data ElementName="poi_id" Type="int8" Size="1" />
+<Data ElementName="zone_id" Type="int16" Size="1" />
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="poi_name" Type="EQ2_16Bit_String" Size="1" />
+</Struct>
+<Struct Name="WS_MapExploration" ClientVersion="1">
+<Data ElementName="unknown" Type="int16" Size="1" />
+<Data ElementName="num_locations" Type="int16" Size="1" />
+    <Data ElementName="location_array" Type="Array" ArraySizeVariable="num_locations">
+    <Data ElementName="location_x" Type="float" Size="1" />
+    <Data ElementName="location_y" Type="float" Size="1" />
+    <Data ElementName="location_z" Type="float" Size="1" />
+    </Data>
+</Struct>
+<Struct Name="WS_AdventureList" ClientVersion="1">
+<Data ElementName="unknown" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int32" Size="1" />
+<Data ElementName="class_tab" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown3" Type="int16" Size="1" />
+<Data ElementName="max_cleric_aa" Type="int16" Size="1" />
+<Data ElementName="unknown4" Type="int16" Size="1" />
+<Data ElementName="class_id" Type="int32" Size="1" />
+<Data ElementName="unknown5" Type="int8" Size="1" />
+<Data ElementName="num_class_items" Type="int32" Size="1" />
+    <Data ElementName="class_array" Type="Array" ArraySizeVariable="num_class_items">
+    <Data ElementName="unknown6" Type="int32" Size="1" />
+    <Data ElementName="unknown7" Type="int8" Size="1" />
+    <Data ElementName="unknown8" Type="int32" Size="1" />
+    <Data ElementName="unknown9" Type="int8" Size="1" />
+    <Data ElementName="class_spell_id" Type="int32" Size="1" />
+    <Data ElementName="unknown10" Type="int8" Size="1" />
+    <Data ElementName="class_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_icon" Type="int16" Size="1" />
+    <Data ElementName="class_icon2" Type="int16" Size="1" />
+    <Data ElementName="class_current_rank" Type="int8" Size="1" />
+    <Data ElementName="class_max_rank" Type="int8" Size="1" />
+    <Data ElementName="class_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="unknown11" Type="int8" Size="1" />
+    <Data ElementName="unknown12_num_items" Type="int8" Size="1" />
+        <Data ElementName="unknown12_array" Type="Array" ArraySizeVariable="unknown12_num_items">
+        <Data ElementName="unknown12" Type="int32" Size="1" />    
+        </Data>
+    <Data ElementName="unknown13" Type="int32" Size="1" />
+    <Data ElementName="unknown14" Type="int8" Size="1" />
+    <Data ElementName="unknown15" Type="int32" Size="1" />
+    <Data ElementName="unknown16" Type="int8" Size="1" />
+    <Data ElementName="class_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_points_req" Type="int8" Size="1" />
+    <Data ElementName="unknown17" Type="int8" Size="1" />
+    <Data ElementName="class_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="class_col" Type="int8" Size="1" />
+    <Data ElementName="class_row" Type="int8" Size="1" />
+    <Data ElementName="class_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="unknown20" Type="int32" Size="1" />
+    </Data>
+<Data ElementName="unknown21" Type="int32" Size="1" />
+<Data ElementName="subclass_points_spent" Type="int16" Size="1" />
+<Data ElementName="unknown22" Type="int32" Size="1" />
+<Data ElementName="unknown23" Type="int16" Size="1" />
+<Data ElementName="unknown24" Type="int8" Size="1" />
+<Data ElementName="subclass_tab_title" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown25" Type="int16" Size="1" />
+<Data ElementName="subclass_total" Type="int16" Size="1" />
+<Data ElementName="unknown26" Type="int16" Size="1" />
+<Data ElementName="subclass_id" Type="int32" Size="1" />
+<Data ElementName="unknown27" Type="int8" Size="1" />
+<Data ElementName="num_subclass_items" Type="int32" Size="1" />
+    <Data ElementName="subclass_array" Type="Array" ArraySizeVariable="num_subclass_items">
+    <Data ElementName="subclass_unknown6" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown7" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown8" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown9" Type="int8" Size="1" />
+    <Data ElementName="subclass_spell_id" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown10" Type="int8" Size="1" />
+    <Data ElementName="subclass_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_icon" Type="int16" Size="1" />
+    <Data ElementName="subclass_icon2" Type="int16" Size="1" />
+    <Data ElementName="subclass_current_rank" Type="int8" Size="1" />
+    <Data ElementName="subclass_max_rank" Type="int8" Size="1" />
+    <Data ElementName="subclass_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown11" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown12_num_items" Type="int8" Size="1" />
+        <Data ElementName="subclass_unknown12_array" Type="Array" ArraySizeVariable="subclass_unknown12_num_items">
+        <Data ElementName="subclass_unknown12" Type="int32" Size="1" />    
+        </Data>
+    <Data ElementName="subclass_unknown13" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown14" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown15" Type="int32" Size="1" />
+    <Data ElementName="subclass_unknown16" Type="int8" Size="1" />
+    <Data ElementName="subclass_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_points_req" Type="int8" Size="1" />
+    <Data ElementName="subclass_unknown17a" Type="int8" Size="1" />
+    <Data ElementName="subclass_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_col" Type="int8" Size="1" />
+    <Data ElementName="subclass_row" Type="int8" Size="1" />
+    <Data ElementName="subclass_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="subclass_unknown20" Type="int32" Size="1" />
+    </Data>
+<Data ElementName="unknown28" Type="int32" Size="1" />
+<Data ElementName="subclass_points_spent" Type="int16" Size="1" />
+<Data ElementName="unknown29" Type="int32" Size="1" />
+<Data ElementName="unknown30" Type="int16" Size="1" />
+<Data ElementName="unknown31" Type="int8" Size="1" />
+<Data ElementName="shadows_tab_title" Type="EQ2_16Bit_String" />
+<Data ElementName="unknown32" Type="int16" Size="1" />
+<Data ElementName="shadows_total" Type="int16" Size="1" />
+<Data ElementName="unknown33" Type="int16" Size="1" />
+<Data ElementName="shadows_id" Type="int32" Size="1" />
+<Data ElementName="unknown34" Type="int8" Size="1" />
+<Data ElementName="num_shadows_items" Type="int32" Size="1" />
+    <Data ElementName="shadows_array" Type="Array" ArraySizeVariable="num_shadows_items">
+    <Data ElementName="tso_unknown6" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown7" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown8" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown9" Type="int8" Size="1" />
+    <Data ElementName="tso_spell_id" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown10" Type="int8" Size="1" />
+    <Data ElementName="tso_spell_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_spell_description" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_icon" Type="int16" Size="1" />
+    <Data ElementName="tso_icon2" Type="int16" Size="1" />
+    <Data ElementName="tso_current_rank" Type="int8" Size="1" />
+    <Data ElementName="tso_max_rank" Type="int8" Size="1" />
+    <Data ElementName="tso_rank_cost" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown11" Type="int16" Size="1" />
+    <Data ElementName="tso_unknown12" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown14" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown15" Type="int32" Size="1" />
+    <Data ElementName="tso_unknown16" Type="int8" Size="1" />
+    <Data ElementName="tso_class_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_points_req" Type="int8" Size="1" />
+    <Data ElementName="tso_unknown17" Type="int8" Size="1" />
+    <Data ElementName="tso_subclass_name" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_col" Type="int8" Size="1" />
+    <Data ElementName="tso_row" Type="int8" Size="1" />
+    <Data ElementName="tso_line_title" Type="EQ2_16Bit_String" />
+    <Data ElementName="tso_unknown20" Type="int16" Size="1" />
+    <Data ElementName="global_req" Type="int16" Size="1" />
+    </Data>
+<Data ElementName="unknown35" Type="int32" Size="1" />
+<Data ElementName="shadows_spent" Type="int32" Size="1" />
+<Data ElementName="unknown36" Type="int16" Size="3" />
+</Struct>
+</EQ2Emulator>

+ 10 - 0
EQ2/devtools/PacketParser/parse all.bat

@@ -0,0 +1,10 @@
+@echo off
+for /f "delims=^" %%a in ('dir /b *.log') do call :process "%%a"
+PacketParser.exe -populate eq2_test
+PAUSE
+goto :eof
+
+:process
+PacketParser.exe -spawns -spells -items %1%2
+move %1 Parsed
+

+ 5 - 0
EQ2/devtools/PacketParser/parser_db.ini

@@ -0,0 +1,5 @@
+[Database]
+host=HOST
+user=USER
+password=PASSWORD
+database=DATABASE

+ 20 - 0
EQ2/devtools/PacketParser/sql_updates/AchievementUpdates SQL.txt

@@ -0,0 +1,20 @@
+CREATE TABLE `raw_achievement_updates` (
+	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+	`achievement_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+	`completed_date` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+	`num_items` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+	PRIMARY KEY (`id`),
+	UNIQUE INDEX `achievement_id` (`achievement_id`)
+)
+COLLATE='latin1_swedish_ci'
+ENGINE=MyISAM;
+
+CREATE TABLE `raw_achievement_update_items` (
+	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+	`achievement_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+	`item_update` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+	PRIMARY KEY (`id`)
+)
+COLLATE='latin1_swedish_ci'
+ENGINE=MyISAM;
+

+ 1 - 0
EQ2/devtools/PacketParser/sql_updates/Conversation Fix.sql

@@ -0,0 +1 @@
+ALTER TABLE `raw_conversations` DROP INDEX `NewIndex`, ADD UNIQUE `NewIndex` (spawn_name, `sound_file`, `chat_text`(200));

+ 69 - 0
EQ2/devtools/PacketParser/sql_updates/EQ2ParserDB SQL Updates_v0.1.1.txt

@@ -0,0 +1,69 @@
+ALTER TABLE raw_item_effects CHANGE column `name` `effect` VARCHAR(512) NOT NULL DEFAULT 'Unknown' AFTER `item_id`;
+ALTER TABLE raw_item_effects DROP COLUMN `description`;
+ALTER TABLE parser_stats ADD COLUMN `total_skills` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `new_books`;
+ALTER TABLE parser_stats ADD COLUMN `unique_skills` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `total_skills`;
+ALTER TABLE parser_stats ADD COLUMN `new_skills` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `unique_skills`;
+
+CREATE TABLE IF NOT EXISTS `raw_traits` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `level` tinyint(3) unsigned NOT NULL default '0',
+  `selection` tinyint(3) unsigned NOT NULL default '0',
+  `icon_0` smallint(5) unsigned NOT NULL default '0',
+  `icon2_0` smallint(5) unsigned NOT NULL default '0',
+  `trait_id_0` int(10) unsigned NOT NULL default '0',
+  `unknown_0` int(10) unsigned NOT NULL default '0',
+  `name_0` varchar(250) collate latin1_general_ci default NULL,
+  `icon_1` smallint(5) unsigned NOT NULL default '0',
+  `icon2_1` smallint(5) unsigned NOT NULL default '0',
+  `trait_id_1` int(10) unsigned NOT NULL default '0',
+  `unknown_1` int(10) unsigned NOT NULL default '0',
+  `name_1` varchar(250) collate latin1_general_ci default '',
+  `icon_2` smallint(5) unsigned NOT NULL default '0',
+  `icon2_2` smallint(5) unsigned NOT NULL default '0',
+  `trait_id_2` int(10) unsigned NOT NULL default '0',
+  `unknown_2` int(10) unsigned NOT NULL default '0',
+  `name_2` varchar(250) collate latin1_general_ci default '',
+  `icon_3` smallint(5) unsigned NOT NULL default '0',
+  `icon2_3` smallint(5) unsigned NOT NULL default '0',
+  `trait_id_3` int(10) unsigned NOT NULL default '0',
+  `unknown_3` int(10) unsigned NOT NULL default '0',
+  `name_3` varchar(250) collate latin1_general_ci default '',
+  `icon_4` smallint(5) unsigned NOT NULL default '0',
+  `icon2_4` smallint(5) unsigned NOT NULL default '0',
+  `trait_id_4` int(10) unsigned NOT NULL default '0',
+  `unknown_4` int(10) unsigned NOT NULL default '0',
+  `name_4` varchar(250) collate latin1_general_ci default '',
+  `data_version` smallint(5) unsigned NOT NULL,
+  `language_type` tinyint(3) unsigned NOT NULL default '0',
+  `log_file` varchar(250) collate latin1_general_ci default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `NewIndex1` (`trait_id_0`,`trait_id_1`,`trait_id_2`,`trait_id_3`,`trait_id_4`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci ROW_FORMAT=DYNAMIC;
+
+CREATE TABLE IF NOT EXISTS `raw_skills` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `skill_id` int(10) unsigned NOT NULL default '0',
+  `short_name` varchar(32) default 'Unknown',
+  `name` varchar(255) default 'Unknown',
+  `description` varchar(255) default 'Unknown',
+  `data_version` smallint(5) NOT NULL default '0',
+  `log_file` varchar(250) NOT NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+CREATE TABLE IF NOT EXISTS `raw_skills_current` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `skill_id` int(10) unsigned NOT NULL default '0',
+  `type` smallint(5) unsigned NOT NULL default '0',
+  `current_val` mediumint(7) unsigned NOT NULL default '0',
+  `base_val` mediumint(7) unsigned NOT NULL default '0',
+  `max_val` mediumint(7) unsigned NOT NULL default '0',
+  `skill_delta` mediumint(7) NOT NULL default '0',
+  `skill_delta2` mediumint(7) NOT NULL default '0',
+  `display_min` tinyint(3) unsigned NOT NULL default '0',
+  `display_max` tinyint(3) unsigned NOT NULL default '0',
+  `unknown` tinyint(3) unsigned NOT NULL default '0',
+  `data_version` smallint(5) unsigned NOT NULL default '0',
+  `log_file` varchar(250) NOT NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;

+ 11 - 0
EQ2/devtools/PacketParser/sql_updates/Item Updates.sql

@@ -0,0 +1,11 @@
+ALTER TABLE `raw_items` ADD `offers_quest` VARCHAR(64) DEFAULT ' ' NOT NULL AFTER `set_name`;
+ALTER TABLE `raw_items` ADD `part_of_quest` VARCHAR(64) DEFAULT ' ' NOT NULL AFTER `offers_quest`;
+ALTER TABLE `raw_items` ADD `quest_unknown` tinyint unsigned DEFAULT '0' NOT NULL AFTER `part_of_quest`;
+ALTER TABLE `raw_items` ADD `total_charges` smallint unsigned DEFAULT '0' NOT NULL AFTER `quest_unknown`;
+ALTER TABLE `raw_items` ADD `recommended_level` smallint unsigned DEFAULT '0' NOT NULL AFTER `total_charges`;
+ALTER TABLE `raw_items` ADD `required_level` smallint unsigned DEFAULT '0' NOT NULL AFTER `recommended_level`;
+ALTER TABLE `raw_items` ADD `stack_size` smallint unsigned DEFAULT '0' NOT NULL AFTER `required_level`;
+ALTER TABLE `raw_items` ADD `collectable` tinyint unsigned DEFAULT '0' NOT NULL AFTER `stack_size`;
+ALTER TABLE `raw_items` ADD `adornment_description` VARCHAR(64) DEFAULT ' ' NOT NULL AFTER `collectable`;
+ALTER TABLE `raw_items` CHANGE `item_type` `item_type` ENUM('Normal','Armor','Food','Bag','Weapon','Ranged','Shield','Spell','Recipe','Book','House','Thrown','Bauble','House Container','Adornment') DEFAULT 'Normal' NOT NULL;
+ALTER TABLE `raw_items` ADD `adornment_description` VARCHAR(255) DEFAULT ' ' NOT NULL AFTER `collectable`;

+ 24 - 0
EQ2/devtools/PacketParser/sql_updates/MerchantItems.sql

@@ -0,0 +1,24 @@
+CREATE TABLE `raw_merchant_items` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `spawn_id` int(10) unsigned NOT NULL default '0',
+  `item_id` int(10) unsigned NOT NULL,
+  `item_name` varchar(128) NOT NULL default ' ',
+  `unknown` tinyint(3) unsigned NOT NULL default '0',
+  `price` int(10) unsigned NOT NULL default '0',
+  `unknown2` int(10) unsigned NOT NULL default '0',
+  `stack_size` smallint(5) unsigned NOT NULL default '0',
+  `icon` smallint(5) unsigned NOT NULL default '0',
+  `unknown3` tinyint(3) unsigned NOT NULL default '0',
+  `level` tinyint(3) unsigned NOT NULL default '0',
+  `unknown4` tinyint(3) unsigned NOT NULL default '0',
+  `unknown5` smallint(5) unsigned NOT NULL default '0',
+  `tier` tinyint(3) unsigned NOT NULL default '0',
+  `unknown6` int(10) unsigned NOT NULL default '0',
+  `item_id2` int(10) unsigned NOT NULL default '0',
+  `stack_size2` smallint(5) unsigned NOT NULL default '0',
+  `description` varchar(512) NOT NULL default ' ',
+  `log_file` varchar(128) NOT NULL default ' ',
+  `language_type` tinyint(3) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `SpawnItemNDX` (`item_id`,`spawn_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;

+ 39 - 0
EQ2/devtools/PacketParser/sql_updates/Misc item unknown updates.sql

@@ -0,0 +1,39 @@
+DROP TABLE IF EXISTS `raw_item_details_thrown`;
+
+CREATE TABLE `raw_item_details_thrown` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `item_id` int(11) NOT NULL default '0',
+  `range` int(11) NOT NULL default '0',
+  `damage_modifier` int(11) NOT NULL default '0',
+  `hit_bonus` float NOT NULL default '0',
+  `damage_type` int(10) unsigned NOT NULL default '0',
+  `language_type` tinyint(3) unsigned NOT NULL default '1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `NewIndex` (`item_id`,`language_type`)
+) ENGINE=MyISAM AUTO_INCREMENT=41 DEFAULT CHARSET=latin1;
+
+ALTER TABLE `raw_item_details_house` CHANGE `status_rent_reduction` `status_rent_reduction` INT DEFAULT '0' NOT NULL;
+
+ALTER TABLE `raw_item_details_house_container` DROP `disallowed_types`;
+
+ALTER TABLE `raw_item_details_house_container` CHANGE `allowed_types` `allowed_types` INT UNSIGNED DEFAULT '0' NOT NULL;
+
+ALTER TABLE `raw_item_details_house_container` CHANGE `unknown13` `unknown13` TINYINT UNSIGNED DEFAULT '0' NOT NULL;
+
+ALTER TABLE `raw_item_details_house_container` CHANGE `unknown14` `broker_commission` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL;
+
+ALTER TABLE `raw_item_details_house_container` CHANGE `unknown15` `fence_commission` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL;
+
+ALTER TABLE `raw_item_details_recipe` CHANGE `unknown12` `uses` SMALLINT(5) UNSIGNED DEFAULT '1' NOT NULL;
+
+ALTER TABLE `raw_item_details_recipe` DROP `unknown13`, DROP `unknown14`;
+
+ALTER TABLE `raw_item_details_book` CHANGE `unknown1` `language` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL;
+
+ALTER TABLE `raw_item_details_book` DROP `unknown2`;
+
+ALTER TABLE `raw_item_details_book` ADD `author` VARCHAR(255) NOT NULL AFTER `language`;
+
+ALTER TABLE `raw_item_details_book` ADD `title` VARCHAR(255) NOT NULL AFTER `author`;
+
+ALTER TABLE `raw_spawn_unknowns` CHANGE `value` `value` VARCHAR(50) NOT NULL;

+ 49 - 0
EQ2/devtools/PacketParser/sql_updates/New Insert Queries.txt

@@ -0,0 +1,49 @@
+INSERT INTO `eq2_test`.`npcs` (`id`, `name`, `min_level`, `max_level`, `enc_level`, `race`, `race_type`, `class_`, `gender`, `hair_type_id`,
+   `facial_hair_type_id`, `wing_type_id`, `chest_type_id`, `legs_type_id`, `soga_hair_type_id`, `soga_facial_hair_type_id`, `show_name`, `attackable`,
+   `show_level`, `targetable`, `show_command_icon`, `display_hand_icon`, visual_state, action_state, mood_state, initial_state, activity_status, collision_radius, command_primary, size)
+select `id`, `name`, `level`, `level`, `difficulty`, `race`, `race_type`, `class_`, `gender`, `hair_type_id`, `facial_hair_type_id`, `wing_type_id`,
+    `chest_type_id`, `legs_type_id`, `soga_hair_type_id`, `soga_facial_hair_type_id`,  (vis_flags & 16) >0 as 'show_name', attackable_status = 0 as 'attackable',
+      (vis_flags & 64 || vis_flags & 32) >0 as 'show_level', (vis_flags & 4) >0 as 'targetable', (vis_flags & 2) >0 as 'show_command_icon', hand_flag, 
+			visual_state, action_state, mood_state, pos_state, activity_status, pos_collision_radius, 0, pos_size
+   from `eq2_rawdata`.`raw_spawn_info`;
+
+insert into `eq2_test`.`npc_appearance`
+   select
+      `id`,
+      `spawn_id` as npc_id,
+      `signed_value`,
+      `type`,
+      `red`,
+      `green`,
+      `blue`
+   from `eq2_rawdata`.`raw_spawn_appearance`; 
+
+insert into `eq2_test`.`npc_appearance_equip`
+   select
+      `id`,
+      `spawn_id` as npc_id,
+      `slot_id`,
+      `equip_type`,
+      `red`,
+      `green`,
+      `blue`,
+      `highlight_red`,
+      `highlight_green`,
+      `highlight_blue`
+   from `eq2_rawdata`.`raw_spawn_appearance_equip`; 
+
+insert into eq2_test.spawngroup select id, 'Tutorial Island Good Spawns' from eq2_rawdata.raw_spawns where eq2_rawdata.raw_spawns.spawn_packet_type = 'Normal';
+
+insert into eq2_test.spawnentry (npcid, spawngroupid, spawnpercentage) select eq2_test.npcs.id, eq2_rawdata.raw_spawns.id, 100 from eq2_test.npcs, eq2_rawdata.raw_spawn_info, eq2_rawdata.raw_spawns where eq2_test.npcs.id = eq2_rawdata.raw_spawn_info.id and eq2_rawdata.raw_spawn_info.id = eq2_rawdata.raw_spawns.spawn_id and  eq2_rawdata.raw_spawns.spawn_packet_type = 'Normal';
+
+insert into eq2_test.spawns (spawngroup_id, zone_id, x, y, z, heading, respawn, location_id) select eq2_rawdata.raw_spawns.id, 9999, eq2_rawdata.raw_spawns.x,
+	eq2_rawdata.raw_spawns.y, eq2_rawdata.raw_spawns.z, eq2_rawdata.raw_spawns.heading, 3600, eq2_rawdata.raw_spawns.grid_id 
+	from eq2_rawdata.raw_spawn_info, eq2_rawdata.raw_spawns
+	where eq2_rawdata.raw_spawn_info.id = eq2_rawdata.raw_spawns.spawn_id and eq2_rawdata.raw_spawns.spawn_packet_type = 'Normal';
+
+update eq2_test.spawns, eq2_test.zones, eq2_rawdata.raw_spawns, eq2_rawdata.raw_zones set eq2_test.spawns.zone_id=eq2_test.zones.id 
+where eq2_test.spawns.zone_id= 9999 and eq2_rawdata.raw_spawns.id = eq2_test.spawns.spawngroup_id and eq2_rawdata.raw_zones.id = eq2_rawdata.raw_spawns.zone_id and eq2_rawdata.raw_zones.zone_file = eq2_test.zones.file;
+
+
+update eq2_test.npcs, eq2_rawdata.raw_spawn_info, eq2_test.entity_commands set eq2_test.npcs.command_primary = eq2_test.entity_commands.command_list_id
+where eq2_rawdata.raw_spawn_info.default_command = eq2_test.entity_commands.command_text and eq2_test.npcs.id = eq2_rawdata.raw_spawn_info.id;

+ 85 - 0
EQ2/devtools/PacketParser/sql_updates/Parser DB Updates.sql

@@ -0,0 +1,85 @@
+
+DROP TABLE IF EXISTS `raw_abilities`;
+CREATE TABLE `raw_abilities` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `ability_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(250) DEFAULT '',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL,
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) DEFAULT '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY  (`ability_id`)
+) ENGINE=MYISAM;
+
+
+DROP TABLE IF EXISTS `raw_locations`;
+CREATE TABLE `raw_locations` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `poi_id` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `soe_zone_id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `poi_name` VARCHAR(250) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `LocationIDX` (`poi_id`,`soe_zone_id`)
+) ENGINE=MYISAM;
+
+
+DROP TABLE IF EXISTS `raw_traditions`;
+CREATE TABLE `raw_traditions` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `tradition_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `selection` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(250) DEFAULT '',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL,
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) DEFAULT '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY  (`tradition_id`)
+) ENGINE=MYISAM;
+
+
+DROP TABLE IF EXISTS `raw_trainings`;
+CREATE TABLE `raw_trainings` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `level` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_line` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `icon_0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2_0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `training_id_0` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown_0` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name_0` VARCHAR(250) DEFAULT NULL,
+  `icon_1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2_1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `training_id_1` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown_1` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name_1` VARCHAR(250) DEFAULT '',
+  `icon_2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2_2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `training_id_2` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown_2` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name_2` VARCHAR(250) DEFAULT '',
+  `icon_3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2_3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `training_id_3` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown_3` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name_3` VARCHAR(250) DEFAULT '',
+  `icon_4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2_4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `training_id_4` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown_4` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name_4` VARCHAR(250) DEFAULT '',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL,
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) DEFAULT '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `TrainingIDX` (`training_id_0`, `training_id_1`, `training_id_2`, `training_id_3`, `training_id_4`)
+) ENGINE=MYISAM;

+ 102 - 0
EQ2/devtools/PacketParser/sql_updates/Parser Item and Quest DB Changes.sql

@@ -0,0 +1,102 @@
+ALTER TABLE `raw_item_stats` CHANGE `text` `text` VARCHAR(250) DEFAULT ' ' NOT NULL;
+ALTER TABLE `raw_item_details_weapon` CHANGE `damage_low1` `damage_low1` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_weapon` CHANGE `damage_low2` `damage_low2` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_weapon` CHANGE `damage_low3` `damage_low3` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_weapon` CHANGE `damage_high1` `damage_high1` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_weapon` CHANGE `damage_high2` `damage_high2` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_weapon` CHANGE `damage_high3` `damage_high3` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_weapon` CHANGE `delay` `delay` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `damage_low1` `damage_low1` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `damage_low2` `damage_low2` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `damage_low3` `damage_low3` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `damage_high1` `damage_high1` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `damage_high2` `damage_high2` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `damage_high3` `damage_high3` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `delay` `delay` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `range_low` `range_low` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `range_high` `range_high` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_shield` CHANGE `mitigation_high` `mitigation_high` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_shield` CHANGE `mitigation_low` `mitigation_low` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_armor` CHANGE `mitigation_high` `mitigation_high` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_armor` CHANGE `mitigation_low` `mitigation_low` SMALLINT UNSIGNED DEFAULT '0' NOT NULL;
+
+ALTER TABLE `raw_spell_levels` CHANGE `class_id` `adventure_class_id` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_spell_levels` ADD `tradeskill_class_id` TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER `adventure_class_id`;
+ALTER TABLE `raw_spell_levels` DROP PRIMARY KEY, ADD PRIMARY KEY (`spell_id`, `tier`, `adventure_class_id`, `tradeskill_class_id`);
+
+ALTER TABLE `raw_item_skill_classes` CHANGE `class_id` `adventure_class_id` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_skill_classes` ADD `tradeskill_class_id` TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER `adventure_class_id`;
+ALTER TABLE `raw_item_skill_classes` DROP INDEX `NewIndex`, ADD UNIQUE `NewIndex` (`item_id`, `adventure_class_id`, `language_type`, `tradeskill_class_id`);
+
+ALTER TABLE `raw_item_classes` ADD `tradeskill_class_id` TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER `class_id`;
+ALTER TABLE `raw_item_classes` CHANGE `class_id` `adventure_class_id` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_classes` DROP INDEX `NewIndex`, ADD UNIQUE `NewIndex` (`adventure_class_id`, `item_id`, `language_type`, `tradeskill_class_id`);
+
+ALTER TABLE `raw_item_details_range` CHANGE `unknown12` `damage_type` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_items` CHANGE `description` `description` VARCHAR(1024) NOT NULL;
+
+CREATE TABLE `raw_quest_reward_factions` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `quest_id` int(10) unsigned NOT NULL default '0',
+  `faction_name` varchar(64) NOT NULL,
+  `amount` int(10) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `FactionQuestIDX` (`quest_id`,`faction_name`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `raw_quest_reward_items` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `quest_id` int(10) unsigned NOT NULL default '0',
+  `item_id` int(10) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `ItemQuestIDX` (`item_id`,`quest_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `raw_quest_taskgroup_tasks` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `taskgroup_id` int(10) unsigned NOT NULL default '0',
+  `task` text NOT NULL,
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `TaskGroupTaskIDX` (`task`(200),`taskgroup_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `raw_quest_taskgroup_taskupdates` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `taskgroup_id` int(10) unsigned NOT NULL default '0',
+  `icon` smallint(5) unsigned NOT NULL default '0',
+  `update_target_name` varchar(64) NOT NULL,
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `TaskGroupUpdateIDX` (`taskgroup_id`,`update_target_name`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `raw_quest_taskgroups` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `quest_id` int(10) unsigned NOT NULL default '0',
+  `task_group` text NOT NULL,
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `QuestTaskIDX` (`quest_id`,`task_group`(200))
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `raw_quests` (
+  `id` int(11) unsigned NOT NULL default '0',
+  `name` varchar(255) NOT NULL,
+  `description` text NOT NULL,
+  `type` varchar(255) NOT NULL,
+  `zone` varchar(255) NOT NULL,
+  `unknown1` tinyint(3) unsigned NOT NULL default '0',
+  `repeatable` tinyint(3) unsigned NOT NULL default '0',
+  `unknown2` tinyint(3) unsigned NOT NULL default '0',
+  `day` tinyint(3) unsigned NOT NULL default '0',
+  `month` tinyint(3) unsigned NOT NULL default '0',
+  `year` tinyint(3) unsigned NOT NULL default '0',
+  `level` tinyint(3) unsigned NOT NULL default '0',
+  `encounter_level` tinyint(3) unsigned NOT NULL default '0',
+  `difficulty` tinyint(3) unsigned NOT NULL default '0',
+  `visible` tinyint(3) unsigned NOT NULL default '0',
+  `max_coin` int(10) unsigned NOT NULL default '0',
+  `min_coin` int(10) unsigned NOT NULL default '0',
+  `status_points` int(10) unsigned NOT NULL default '0',
+  `text` varchar(50) NOT NULL,
+  `exp_bonus` int(10) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;

+ 28 - 0
EQ2/devtools/PacketParser/sql_updates/Pattern Item Type update.sql

@@ -0,0 +1,28 @@
+ALTER TABLE `raw_items` CHANGE `item_type` `item_type` ENUM('Normal','Armor','Food','Bag','Weapon','Ranged','Shield','Spell','Recipe','Book','House','Thrown','Bauble','House Container','Adornment','Pattern','Armor Set') DEFAULT 'Normal' NOT NULL;
+
+
+
+CREATE TABLE `raw_item_details_armorset` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `armorset_item_id` int(11) NOT NULL default '0',
+  `item_id` int(11) NOT NULL default '0',
+  `item_crc` int(11) NOT NULL default '0',
+  `item_name` varchar(255) NOT NULL default 'N/A',
+  `item_icon` smallint(5) unsigned NOT NULL default '0',
+  `unknown_piece` int(10) unsigned NOT NULL default '0',
+  `language_type` tinyint(3) unsigned NOT NULL default '1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `UnqArmorSetIdx` (`item_id`,`armorset_item_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=latin1;
+
+CREATE TABLE `raw_item_details_pattern` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `pattern_item_id` int(11) NOT NULL default '0',
+  `item_id` int(11) NOT NULL default '0',
+  `item_crc` int(11) NOT NULL default '0',
+  `item_name` varchar(255) NOT NULL default 'N/A',
+  `item_icon` smallint(5) unsigned NOT NULL default '0',
+  `language_type` tinyint(3) unsigned NOT NULL default '1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `UnqPatternIDX` (`pattern_item_id`,`item_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=latin1;

+ 2 - 0
EQ2/devtools/PacketParser/sql_updates/Quest Updates 2009-May-07.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `raw_quest_reward_items` ADD `selectable` TINYINT UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_quest_reward_items` DROP INDEX `ItemQuestIDX`, ADD UNIQUE `ItemQuestIDX` (`item_id`, `quest_id`, `selectable`);

+ 29 - 0
EQ2/devtools/PacketParser/sql_updates/RawDialogs.sql

@@ -0,0 +1,29 @@
+drop table if exists raw_dialogs;
+CREATE TABLE `raw_dialogs` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `spawn_id` int(10) unsigned NOT NULL default '0',
+  `conversation_id` int(10) unsigned NOT NULL default '0',
+  `npc_text` text NOT NULL,
+  `voice_file` varchar(255) NOT NULL,
+  `key1` int(10) unsigned NOT NULL default '0',
+  `key2` int(10) unsigned NOT NULL default '0',
+  `unknown` smallint(5) unsigned NOT NULL default '0',
+  `unknown2` tinyint(3) unsigned NOT NULL default '0',
+  `unknown3` tinyint(3) unsigned NOT NULL default '0',
+  `sequence` smallint(5) unsigned NOT NULL default '0',
+  `index` smallint(5) NOT NULL default '0',
+  `language_type` tinyint(3) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `NewIndex` (`conversation_id`,`spawn_id`,`sequence`,`index`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
+
+drop table if exists raw_dialog_choices;
+CREATE TABLE `raw_dialog_choices` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `dialog_conversation_id` int(10) unsigned NOT NULL default '0',
+  `index` smallint(3) unsigned NOT NULL default '0',
+  `choice` text NOT NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
+
+

+ 32 - 0
EQ2/devtools/PacketParser/sql_updates/Skill and Bauble Items update.sql

@@ -0,0 +1,32 @@
+DROP TABLE IF EXISTS `raw_item_details_skills`;
+
+DROP TABLE IF EXISTS `raw_item_details_skill`;
+
+CREATE TABLE `raw_item_details_skill` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `item_id` INT(11) NOT NULL DEFAULT '0',
+  `spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `tier` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `ItemSpellTierIdx` (`item_id`,`spell_id`,`tier`,`language_type`)
+) ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE `raw_item_details_bauble` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `item_id` INT(10) NOT NULL DEFAULT '0',
+  `cast` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '100',
+  `recovery` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `duration` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `recast` FLOAT UNSIGNED NOT NULL DEFAULT '1',
+  `display_cast_time` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `display_bauble_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `effect_radius` FLOAT NOT NULL DEFAULT '0',
+  `max_aoe_targets` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `display_until_cancelled` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `NewIndex` (`item_id`,`language_type`)
+) ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
+

+ 2 - 0
EQ2/devtools/PacketParser/sql_updates/SpawnFix.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `raw_spawn_info` ADD `title` VARCHAR(255) DEFAULT ' ' NOT NULL AFTER `widget_id`;
+ALTER TABLE `raw_spawn_info` DROP INDEX `NewIndex`, ADD UNIQUE `NewIndex` (`name`, `class_`, `race_type`, `race`, `level`, `gender`, `difficulty`, `language_type`, `widget_id`, `title`);

+ 24 - 0
EQ2/devtools/PacketParser/sql_updates/TSO Parser Queries.sql

@@ -0,0 +1,24 @@
+ALTER TABLE `raw_item_appearances` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_classes` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_descriptions` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_armor` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_bag` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_bauble` CHANGE `item_id` `item_id` INT UNSIGNED DEFAULT '0' NULL;
+ALTER TABLE `raw_item_details_food` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_house` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_house_container` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_range` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_recipe` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_recipe_items` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_shield` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_skills` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_thrown` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_details_weapon` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_effects` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_skill_classes` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_item_stats` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_items` CHANGE `id` `id` INT NOT NULL AUTO_INCREMENT;
+ALTER TABLE `raw_merchant_items` CHANGE `item_id` `item_id` INT NOT NULL;
+ALTER TABLE `raw_quest_reward_items` CHANGE `item_id` `item_id` INT DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_spawn_info` CHANGE `race_type` `model_type` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL;
+ALTER TABLE `raw_spawn_info` CHANGE `soga_race_type` `soga_model_type` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL;

+ 40 - 0
EQ2/devtools/PacketParser/sql_updates/eq2_achievements.sql

@@ -0,0 +1,40 @@
+DROP TABLE IF EXISTS `raw_achievements`;
+CREATE TABLE `raw_achievements` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(50) NOT NULL,
+  `uncompleted_text` VARCHAR(255) DEFAULT NULL,
+  `completed_text` VARCHAR(255) DEFAULT NULL,
+  `category` VARCHAR(50) DEFAULT NULL,
+  `expansion` VARCHAR(50) DEFAULT NULL,
+  `icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `point_value` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `qty_req` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) NOT NULL,
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `id` (`unknown_id`,`name`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1;
+
+
+
+DROP TABLE IF EXISTS `raw_achievements_items`;
+CREATE TABLE /*!32312 IF NOT EXISTS*/ `raw_achievements_items` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(250) DEFAULT NULL,
+  `qty_req` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `NewIndex` (`name`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1;
+
+
+
+DROP TABLE IF EXISTS `raw_achievements_rewards`;
+CREATE TABLE /*!32312 IF NOT EXISTS*/ `raw_achievements_rewards` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `reward` VARCHAR(250) DEFAULT '"',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `id` (`unknown_id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1;

+ 38 - 0
EQ2/devtools/PacketParser/sql_updates/eq2_books.sql

@@ -0,0 +1,38 @@
+DROP TABLE IF EXISTS `raw_books`;
+CREATE TABLE `raw_books` (
+  `id` TINYINT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `spawn_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `book_title` VARCHAR(100) NOT NULL,
+  `unknown` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `book_type` VARCHAR(100) NOT NULL,
+  `unknown2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown4` INT(10) NOT NULL DEFAULT '0',
+  `unknown5` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(255) DEFAULT NULL,
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `NewIndex` (`spawn_id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1;
+
+
+DROP TABLE IF EXISTS `raw_book_images`;
+CREATE TABLE `raw_book_images` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `spawn_id` INT(10) UNSIGNED NOT NULL,
+  `image_file` VARCHAR(255) DEFAULT NULL,
+  `image_id` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown6` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY  (`id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1;
+
+
+DROP TABLE IF EXISTS `raw_book_pages`;
+CREATE TABLE `raw_book_pages` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `spawn_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `page_text` VARCHAR(1024) DEFAULT NULL,
+  `page_text_valign` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `page_text_halign` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY  (`id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1;

+ 82 - 0
EQ2/devtools/PacketParser/sql_updates/eq2_rawdata_aa_tables.sql

@@ -0,0 +1,82 @@
+CREATE TABLE `raw_aa_class` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown6` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown7` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown10` SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(250) DEFAULT NULL,
+  `description` VARCHAR(250) DEFAULT NULL,
+  `icon` MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2` MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `current_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `max_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `rank_cost` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown11` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `class_name` VARCHAR(50) DEFAULT NULL,
+  `points_req` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `subclass_name` VARCHAR(50) DEFAULT NULL,
+  `icon_col` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `icon_row` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `line_title` VARCHAR(50) DEFAULT NULL,
+  `unknown20` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) NOT NULL DEFAULT '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `SpellIDX` (`spell_id`)
+) ENGINE=MYISAM;
+
+
+CREATE TABLE `raw_aa_subclass` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown6` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown7` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown10` SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(250) DEFAULT NULL,
+  `description` VARCHAR(250) DEFAULT NULL,
+  `icon` MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2` MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `current_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `max_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `rank_cost` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown11` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `class_name` VARCHAR(50) DEFAULT NULL,
+  `points_req` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `subclass_name` VARCHAR(50) DEFAULT NULL,
+  `icon_col` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `icon_row` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `line_title` VARCHAR(50) DEFAULT NULL,
+  `unknown20` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) NOT NULL DEFAULT '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `SpellIDX` (`spell_id`)
+) ENGINE=MYISAM;
+
+
+CREATE TABLE `raw_aa_tso` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown6` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown7` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown10` SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(250) DEFAULT NULL,
+  `description` VARCHAR(250) DEFAULT NULL,
+  `icon` MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2` MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `current_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `max_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `rank_cost` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown11` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `class_name` VARCHAR(50) DEFAULT NULL,
+  `points_req` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `subclass_name` VARCHAR(50) DEFAULT NULL,
+  `icon_col` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `icon_row` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `line_title` VARCHAR(50) DEFAULT NULL,
+  `unknown20` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) NOT NULL DEFAULT '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `SpellIDX` (`spell_id`)
+) ENGINE=MYISAM;

+ 94 - 0
EQ2/devtools/PacketParser/sql_updates/parser_db_20070725.sql

@@ -0,0 +1,94 @@
+DROP TABLE IF EXISTS `raw_item_classes`;
+DROP TABLE IF EXISTS `raw_item_skill_classes`;
+
+ALTER TABLE `raw_items` 
+	ADD COLUMN `adventure_classes` BIGINT(20) UNSIGNED DEFAULT '0' NOT NULL AFTER `adventure_default_level`, 
+	ADD COLUMN `tradeskill_classes` BIGINT(20) UNSIGNED DEFAULT '0' NOT NULL AFTER `adventure_classes`,
+	CHANGE `required_level` `adventure_default_level` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL,
+	ADD COLUMN `tradeskill_default_level` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL AFTER `adventure_default_level`;
+
+ALTER TABLE `raw_item_details_skills` 
+	ADD COLUMN `adventure_classes` BIGINT(20) UNSIGNED DEFAULT '0' NOT NULL AFTER `unknown26`, 
+	ADD COLUMN `tradeskill_classes` BIGINT(20) UNSIGNED DEFAULT '0' NOT NULL AFTER `adventure_classes`, 
+	ADD COLUMN `adventure_default_level` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL AFTER `tradeskill_classes`, 
+	ADD COLUMN `tradeskill_default_level` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL AFTER `adventure_default_level`;
+
+DROP TABLE IF EXISTS `raw_item_details_skill`;
+CREATE TABLE `raw_item_details_skill` (
+	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+	`item_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+	`spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+	`spell_tier` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
+	`language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+	PRIMARY KEY  (`id`),
+	UNIQUE KEY `NewIndex1` (`item_id`,`language_type`,`spell_id`,`spell_tier`)
+) ENGINE=MYISAM;
+
+ALTER TABLE `raw_spawn_info` DROP COLUMN `populate_spawn_id`, DROP COLUMN `processed`;
+ALTER TABLE `raw_spawns` ADD COLUMN `populate_spawn_id` INT(10) UNSIGNED DEFAULT '0' NOT NULL AFTER `language_type`;
+
+
+ALTER TABLE `opcodes` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_collections` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_conversations` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_dialog_choices` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_dialogs` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_entity_commands` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_factions` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_appearances` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_descriptions` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_armor` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_armorset` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_bag` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_bauble` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_book` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_food` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_house` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_house_container` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_pattern` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_range` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_recipe` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_recipe_items` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_shield` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_skill` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_skills` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_thrown` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_details_weapon` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_effects` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_sets` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_sets_effects` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_sets_stats` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_item_stats` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_items` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_map_data` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_merchant_items` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_quest_reward_factions` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_quest_reward_items` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_quest_taskgroup_tasks` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_quest_taskgroup_taskupdates` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_quest_taskgroups` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_quests` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_sounds` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spawn_appearance` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spawn_appearance_equip` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spawn_groups` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spawn_info` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spawn_signs` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spawn_unknowns` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spawn_widgets` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spawns` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spell_details` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spell_effects` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spell_levels` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_spells` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_zone_points` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+ALTER TABLE `raw_zones` ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;
+
+ALTER TABLE `raw_spell_details` ADD COLUMN `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT FIRST,CHANGE `spell_id` `spell_id` INT(10) UNSIGNED DEFAULT '0' NOT NULL, CHANGE `tier` `tier` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL, DROP PRIMARY KEY,  ADD PRIMARY KEY(`id`);
+ALTER TABLE `raw_spell_details` ADD UNIQUE `NewIndex1` (`spell_id`, `tier`);
+
+ALTER TABLE `raw_spell_effects` ADD COLUMN `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT FIRST,CHANGE `spell_id` `spell_id` INT(10) UNSIGNED DEFAULT '0' NOT NULL, CHANGE `tier` `tier` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL, CHANGE `index` `index` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL, DROP PRIMARY KEY,  ADD PRIMARY KEY(`id`);
+ALTER TABLE `raw_spell_effects` ADD UNIQUE `NewIndex1` (`spell_id`, `tier`, `index`);
+
+ALTER TABLE `raw_spell_levels` ADD COLUMN `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT FIRST,CHANGE `spell_id` `spell_id` INT(10) UNSIGNED NOT NULL, CHANGE `tier` `tier` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL, CHANGE `adventure_class_id` `adventure_class_id` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL, CHANGE `tradeskill_class_id` `tradeskill_class_id` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL, DROP PRIMARY KEY,  ADD PRIMARY KEY(`id`);
+ALTER TABLE `raw_spell_levels` ADD UNIQUE `NewIndex1` (`spell_id`, `tier`, `adventure_class_id`, `tradeskill_class_id`);

+ 28 - 0
EQ2/devtools/PacketParser/sql_updates/parser_db_20130102.sql

@@ -0,0 +1,28 @@
+ALTER TABLE `raw_item_descriptions` DROP KEY `NewIndex`, ADD UNIQUE `NewIndex` (`language_type`, `item_id`);
+ALTER TABLE `raw_item_descriptions` ADD COLUMN `item_crc` INT(10) DEFAULT '0' NOT NULL AFTER `item_id`, CHANGE `item_id` `item_id` INT(10) DEFAULT '0' NOT NULL; 
+-- adding item type 20, 21, and 22
+ALTER TABLE `raw_items` CHANGE `item_type` `item_type` ENUM('Normal','Armor','Food','Bag','Weapon','Ranged','Shield','Spell Scroll','Recipe','Book','House','Thrown','Bauble','House Container','Adornment','Pattern Set','Armor Set','Item Set','Decoration','Marketplace','Dungeon Maker') CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT 'Normal' NOT NULL; 
+ALTER TABLE `raw_item_appearances` CHANGE `item_crc` `item_crc` INT(10) DEFAULT '0' NOT NULL; 
+
+
+CREATE TABLE `raw_item_details_marketplace_rewards` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `item_id` INT(10) NOT NULL DEFAULT '0',
+  `reward_item_id` INT(10) NOT NULL DEFAULT '0',
+  `reward_item_crc` INT(10) NOT NULL DEFAULT '0',
+  `reward_item_icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `reward_item_name` VARCHAR(250) COLLATE latin1_general_ci DEFAULT '',
+  `language_type` TINYINT(3) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `NewIndex1` (`item_id`,`reward_item_id`,`language_type`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+
+CREATE TABLE `raw_item_details_decorations` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `item_id` INT(11) NOT NULL DEFAULT '0',
+  `decoration_name` VARCHAR(64) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `NewIndex` (`item_id`,`language_type`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

+ 56 - 0
EQ2/devtools/PacketParser/sql_updates/parser_db_20130110.sql

@@ -0,0 +1,56 @@
+DROP TABLE IF EXISTS `raw_item_details_marketplace`;
+CREATE TABLE `raw_item_details_marketplace` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `marketplace_item_id` INT(10) NOT NULL DEFAULT '0',
+  `item_id` INT(10) NOT NULL DEFAULT '0',
+  `item_icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `NewIndex1` (`marketplace_item_id`,`item_id`,`language_type`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+ALTER TABLE `raw_item_descriptions` 
+  CHANGE `flags1` `flags1` SMALLINT (5) UNSIGNED DEFAULT '0' NOT NULL,
+  CHANGE `flags2` `flags2` SMALLINT (5) UNSIGNED DEFAULT '0' NOT NULL,
+  CHANGE `item_type` `item_type` TINYINT (3) UNSIGNED DEFAULT '0' NOT NULL ;
+
+DROP TABLE `raw_item_details_armorset`; 
+DROP TABLE `raw_item_sets`; 
+DROP TABLE `raw_item_sets_effects`; 
+DROP TABLE `raw_item_sets_stats`; 
+DROP TABLE `raw_item_set_effects`; 
+DROP TABLE `raw_item_set_items`; 
+DROP TABLE `raw_item_set_stats`; 
+
+
+ALTER TABLE `raw_items` 
+  ADD COLUMN `attuned` TINYINT (3) UNSIGNED DEFAULT '0' NOT NULL AFTER `show_name`,
+  ADD COLUMN `stacklore` TINYINT (3) UNSIGNED DEFAULT '0' NOT NULL AFTER `evil_only`,
+  ADD COLUMN `flags_16384` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL AFTER `lore_equip`,
+  ADD COLUMN `flags_32768` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL AFTER `flags_16384`,
+  ADD COLUMN `unlocked` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL AFTER `appearance_only`,
+  ADD COLUMN `norepair` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL AFTER `unlocked`,
+  ADD COLUMN `flags2_64` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL AFTER `norepair`,
+  ADD COLUMN `flags2_256` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL AFTER `flags2_64`,
+  ADD COLUMN `item_crc` INT(10) NOT NULL DEFAULT '0' AFTER `item_id`, 
+  CHANGE `item_id` `item_id` INT(10) DEFAULT '0' NOT NULL;
+
+ALTER TABLE `raw_item_itemset_items` ADD COLUMN `item_order` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL AFTER `item_name`, ADD COLUMN `master_item_id` INT(10) DEFAULT '0' NOT NULL AFTER `item_name`; 
+ALTER TABLE `raw_item_itemset_items` DROP KEY `SetItemIDX`, ADD UNIQUE `SetItemIDX` (`set_id`, `master_item_id`, `item_name`, `item_order`, `language_type`); 
+
+ALTER TABLE `raw_item_itemset_bonus_stats` ADD COLUMN `master_item_id` INT(10) DEFAULT '0' NOT NULL AFTER `set_id`; 
+ALTER TABLE `raw_item_itemset_bonus_stats` DROP KEY `SetStatsIDX`, ADD UNIQUE `SetStatsIDX` (`set_id`, `master_item_id`, `items_needed`, `type`, `subtype`, `value`, `value2`, `stats_order`, `language_type`, `name`); 
+
+ALTER TABLE `raw_item_itemset_bonus_effects` ADD COLUMN `master_item_id` INT(10) DEFAULT '0' NOT NULL AFTER `set_id`; 
+ALTER TABLE `raw_item_itemset_bonus_effects` DROP KEY `SetEffectsIDX`, ADD UNIQUE `SetEffectsIDX` (`set_id`, `master_item_id`, `items_needed`, `subbulletflag`, `description`, `language_type`); 
+
+ALTER TABLE `raw_item_stats` DROP COLUMN `value2`, CHANGE `value` `value` FLOAT DEFAULT '0' NOT NULL; 
+ALTER TABLE `raw_item_itemset_bonus_stats` DROP COLUMN `value2`, CHANGE `value` `value` FLOAT DEFAULT '0' NOT NULL; 
+
+ALTER TABLE `raw_items` 
+  ADD COLUMN `adornment_slot1` TINYINT (3) UNSIGNED DEFAULT '255' NOT NULL AFTER `collectable`,
+  ADD COLUMN `adornment_slot2` TINYINT (3) UNSIGNED DEFAULT '255' NOT NULL AFTER `adornment_slot1`,
+  ADD COLUMN `adornment_slot3` TINYINT (3) UNSIGNED DEFAULT '255' NOT NULL AFTER `adornment_slot2`,
+  ADD COLUMN `adornment_slot4` TINYINT (3) UNSIGNED DEFAULT '255' NOT NULL AFTER `adornment_slot3`,
+  ADD COLUMN `adornment_slot5` TINYINT (3) UNSIGNED DEFAULT '255' NOT NULL AFTER `adornment_slot4`,
+  ADD COLUMN `adornment_slot6` TINYINT (3) UNSIGNED DEFAULT '255' NOT NULL AFTER `adornment_slot5`;

+ 5 - 0
EQ2/devtools/PacketParser/sql_updates/parser_db_changes.sql

@@ -0,0 +1,5 @@
+-- raw_spawn_info.populate_spawn_id is new field, replacing processed
+alter table `raw_spawn_info` change `processed` `populate_spawn_id` int(10) UNSIGNED default '0' NOT NULL;
+
+-- raw_item_effects.name truncates
+alter table `raw_item_effects` change `name` `name` varchar(255) character set latin1 collate latin1_swedish_ci default 'Unknown' NOT NULL;

+ 64 - 0
EQ2/devtools/PacketParser/sql_updates/parser_stats.sql

@@ -0,0 +1,64 @@
+DROP TABLE IF EXISTS `parser_stats`;
+CREATE TABLE `parser_stats` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) NOT NULL DEFAULT '',
+  `total_items` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_items` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_items` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_spawns` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_spawns` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_spawns` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_spells` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_spells` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_spells` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_specials` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_specials` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_specials` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_achievements` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_achievements` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_achievements` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_advancements` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_advancements` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_advancements` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_abilities` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_abilities` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_abilities` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_traditions` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_traditions` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_traditions` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_trainings` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_trainings` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_trainings` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_poi` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_poi` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_poi` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_locations` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_locations` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_locations` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_quests` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_quests` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_quests` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_factions` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_factions` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_factions` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_collections` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_collections` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_collections` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_aa_class` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_aa_class` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_aa_class` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_aa_subclass` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_aa_subclass` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_aa_subclass` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_aa_tso` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_aa_tso` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_aa_tso` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_titles` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_titles` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_titles` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `total_books` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unique_books` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `new_books` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`)
+) ENGINE=MYISAM;

+ 8 - 0
EQ2/devtools/PacketParser/sql_updates/raw db updates.sql

@@ -0,0 +1,8 @@
+ALTER TABLE `raw_items`  CHANGE COLUMN `item_type` `item_type` ENUM('Normal','Armor','Food','Bag','Weapon','Ranged','Shield','Spell Scroll','Recipe','Book','House','Thrown','Bauble','House Container','Adornment','Pattern','Armor Set') NOT NULL DEFAULT 'Normal' AFTER `name`;
+ALTER TABLE `raw_items` ADD `lore_equip` tinyint(3) unsigned DEFAULT '0' NOT NULL AFTER `evil_only`;
+ALTER TABLE `raw_items` ADD `ornate` tinyint(3) unsigned DEFAULT '0' NOT NULL AFTER `lore_equip`;
+ALTER TABLE `raw_items` ADD `heirloom` tinyint(3) unsigned DEFAULT '0' NOT NULL AFTER `ornate`;
+ALTER TABLE `raw_items` ADD `appearance_only` tinyint(3) unsigned DEFAULT '0' NOT NULL AFTER `heirloom`;
+ALTER TABLE `raw_item_descriptions`  DROP COLUMN `flags`;
+ALTER TABLE `raw_item_descriptions` ADD `flags1` tinyint(3) unsigned DEFAULT '0' NOT NULL AFTER `tier`;
+ALTER TABLE `raw_item_descriptions` ADD `flags2` tinyint(3) unsigned DEFAULT '0' NOT NULL AFTER `flags1`;

+ 39 - 0
EQ2/devtools/PacketParser/sql_updates/raw_achievements_fixes.sql

@@ -0,0 +1,39 @@
+DROP TABLE IF EXISTS `raw_achievements`;
+CREATE TABLE `raw_achievements` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `achievement_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `title` VARCHAR(50) COLLATE latin1_general_ci NOT NULL,
+  `uncompleted_text` VARCHAR(255) COLLATE latin1_general_ci DEFAULT NULL,
+  `completed_text` VARCHAR(255) COLLATE latin1_general_ci DEFAULT NULL,
+  `category` VARCHAR(50) COLLATE latin1_general_ci DEFAULT NULL,
+  `expansion` VARCHAR(50) COLLATE latin1_general_ci DEFAULT NULL,
+  `icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `point_value` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `qty_req` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `hide_achievement` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown3a` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown3b` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) COLLATE latin1_general_ci NOT NULL,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `id` (`achievement_id`,`title`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+DROP TABLE IF EXISTS `raw_achievements_requirements`;
+CREATE TABLE `raw_achievements_requirements` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `achievement_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(250) COLLATE latin1_general_ci DEFAULT NULL,
+  `qty_req` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `NewIndex` (`name`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+DROP TABLE IF EXISTS `raw_achievements_rewards`;
+CREATE TABLE `raw_achievements_rewards` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `achievement_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `reward` VARCHAR(250) COLLATE latin1_general_ci DEFAULT '"',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `id` (`achievement_id`,`reward`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

+ 1 - 0
EQ2/devtools/PacketParser/sql_updates/raw_achievements_versions.sql

@@ -0,0 +1 @@
+ALTER TABLE `raw_achievements` DROP KEY `id`, ADD UNIQUE `id` (`achievement_id`, `title`, `data_version`); 

+ 44 - 0
EQ2/devtools/PacketParser/sql_updates/raw_adventure_list.sql

@@ -0,0 +1,44 @@
+ALTER TABLE `parser_stats` 
+  DROP COLUMN `total_aa_subclass`,
+  DROP COLUMN `new_aa_tso`,
+  DROP COLUMN `unique_aa_tso`,
+  DROP COLUMN `total_aa_tso`,
+  DROP COLUMN `new_aa_subclass`,
+  DROP COLUMN `unique_aa_subclass`,
+  CHANGE `total_aa_class` `total_aa` SMALLINT (5) UNSIGNED DEFAULT '0' NOT NULL,
+  CHANGE `unique_aa_class` `unique_aa` SMALLINT (5) UNSIGNED DEFAULT '0' NOT NULL,
+  CHANGE `new_aa_class` `new_aa` SMALLINT (5) UNSIGNED DEFAULT '0' NOT NULL ;
+
+DROP TABLE IF EXISTS `raw_aa_class`; 
+DROP TABLE IF EXISTS `raw_aa_subclass`; 
+DROP TABLE IF EXISTS `raw_aa_tso`; 
+
+CREATE TABLE `raw_adventure_list` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown6` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown7` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown10` SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(250) COLLATE latin1_general_ci DEFAULT NULL,
+  `description` VARCHAR(250) COLLATE latin1_general_ci DEFAULT NULL,
+  `icon` MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2` MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `current_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `max_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `rank_cost` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown11` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `class_name` VARCHAR(50) COLLATE latin1_general_ci DEFAULT NULL,
+  `points_req` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `subclass_name` VARCHAR(50) COLLATE latin1_general_ci DEFAULT NULL,
+  `icon_col` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `icon_row` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `line_title` VARCHAR(50) COLLATE latin1_general_ci DEFAULT NULL,
+  `unknown20` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `global_req` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `aa_type` VARCHAR(32) COLLATE latin1_general_ci DEFAULT NULL,
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `AdventureListIDX` (`spell_id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+

+ 80 - 0
EQ2/devtools/PacketParser/sql_updates/raw_arenas.sql

@@ -0,0 +1,80 @@
+DROP TABLE IF EXISTS  `raw_arena_levels`;
+CREATE TABLE `raw_arena_levels` (
+  `id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `level_name` VARCHAR (32) NOT NULL DEFAULT '',
+  `level_value` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT (5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR (250) NOT NULL DEFAULT '',
+  UNIQUE `ArenaLevelIDX` (`level_name`, `level_value`),
+  PRIMARY KEY (`id`)
+) ENGINE = 'Default' COMMENT = '' ROW_FORMAT = DEFAULT ;
+
+DROP TABLE IF EXISTS  `raw_arena_timers`;
+CREATE TABLE `raw_arena_timers` (
+  `id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `time_type` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `time_name` VARCHAR (32) NOT NULL DEFAULT '',
+  `time_value` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT (5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR (250) NOT NULL DEFAULT '',
+  UNIQUE `ArenaTimerIDX` (`time_type`, `time_name`, `time_value`),
+  PRIMARY KEY (`id`)
+) ENGINE = 'Default' COMMENT = '' ROW_FORMAT = DEFAULT ;
+
+DROP TABLE IF EXISTS  `raw_arena_types`;
+CREATE TABLE `raw_arena_types` (
+  `id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown2a` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown2b` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown2c` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `type_name` VARCHAR (32) NOT NULL DEFAULT '',
+  `unknown3a` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown3b` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT (5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR (250) NOT NULL DEFAULT '',
+  UNIQUE `ArenaTypesIDX` (`type_name`),
+  PRIMARY KEY (`id`)
+) ENGINE = 'Default' COMMENT = '' ROW_FORMAT = DEFAULT ;
+
+DROP TABLE IF EXISTS  `raw_arena_challenges`;
+CREATE TABLE `raw_arena_challenges` (
+  `id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `challenge_name` VARCHAR (32) NOT NULL DEFAULT '',
+  `challenge_value` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT (5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR (250) NOT NULL DEFAULT '',
+  UNIQUE `ArenaChallengeIDX` (`challenge_name`, `challenge_value`),
+  PRIMARY KEY (`id`)
+) ENGINE = 'Default' COMMENT = '' ROW_FORMAT = DEFAULT ;
+
+DROP TABLE IF EXISTS  `raw_arena_zones`;
+CREATE TABLE `raw_arena_zones` (
+  `id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `type1` VARCHAR (32) NOT NULL DEFAULT '',
+  `unknown4a` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown4b` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `file` VARCHAR (64) NOT NULL DEFAULT '',
+  `type2` VARCHAR (32) NOT NULL DEFAULT '',
+  `name` VARCHAR (32) NOT NULL DEFAULT '',
+  `description` TEXT,
+  `data_version` SMALLINT (5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR (250) NOT NULL DEFAULT '',
+  UNIQUE `ArenaZonesIDX` (`type1`, `file`, `name`),
+  PRIMARY KEY (`id`)
+) ENGINE = 'Default' COMMENT = '' ROW_FORMAT = DEFAULT ;
+
+DROP TABLE IF EXISTS  `raw_arena_images`;
+CREATE TABLE `raw_arena_images` (
+  `id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `arena_zone_id` TINYINT(3) NOT NULL DEFAULT '0',
+  `image_path` VARCHAR (250) NOT NULL DEFAULT '',
+  `x` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `y` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `x2` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `y2` TINYINT (3) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT (5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR (250) NOT NULL DEFAULT '',
+  UNIQUE `ArenaImagesIDX` (`arena_zone_id`, `image_path`),
+  PRIMARY KEY (`id`)
+) ENGINE = 'Default' COMMENT = '' ROW_FORMAT = DEFAULT ;
+

+ 49 - 0
EQ2/devtools/PacketParser/sql_updates/raw_collections.sql

@@ -0,0 +1,49 @@
+# HeidiSQL Dump 
+#
+# --------------------------------------------------------
+# Host:                 127.0.0.1
+# Database:             parser
+# Server version:       5.1.31-community
+# Server OS:            Win32
+# Target-Compatibility: MySQL 5.0
+# max_allowed_packet:   1048576
+# HeidiSQL version:     3.2 Revision: 1129
+# --------------------------------------------------------
+
+/*!40100 SET CHARACTER SET latin1*/;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0*/;
+
+
+#
+# Table structure for table 'raw_collections'
+#
+
+CREATE TABLE /*!32312 IF NOT EXISTS*/ `raw_collections` (
+  `unknown` tinyint(3) unsigned NOT NULL,
+  `collection_name` varchar(512) NOT NULL,
+  `collection_category` varchar(512) NOT NULL,
+  `unknown2` tinyint(3) unsigned NOT NULL,
+  `unknown6` tinyint(3) unsigned NOT NULL,
+  `unknown7` tinyint(3) unsigned NOT NULL,
+  `unknown8` tinyint(3) unsigned NOT NULL,
+  `unknown9` tinyint(3) unsigned NOT NULL,
+  `unknown10` tinyint(3) unsigned NOT NULL,
+  `level` tinyint(3) unsigned NOT NULL,
+  `num_items` tinyint(3) unsigned NOT NULL,
+  `item_icon` smallint(5) unsigned NOT NULL,
+  `item_name` varchar(512) DEFAULT NULL,
+  `unknown4` tinyint(3) unsigned DEFAULT NULL,
+  `item_id` int(11) DEFAULT NULL,
+  `item_crc` int(11) DEFAULT NULL,
+  `log_file` varchar(255) DEFAULT ''
+) ENGINE=InnoDB /*!40100 DEFAULT CHARSET=latin1*/;
+
+
+
+#
+# Dumping data for table 'raw_collections'
+#
+
+# (No data found.)
+
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS*/;

+ 23 - 0
EQ2/devtools/PacketParser/sql_updates/raw_collections1.sql

@@ -0,0 +1,23 @@
+DROP TABLE IF EXISTS `raw_collections`;
+CREATE TABLE `raw_collections` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `unknown` TINYINT(3) UNSIGNED NOT NULL,
+  `collection_name` VARCHAR(512) NOT NULL,
+  `collection_category` VARCHAR(512) NOT NULL,
+  `unknown2` TINYINT(3) UNSIGNED NOT NULL,
+  `unknown6` TINYINT(3) UNSIGNED NOT NULL,
+  `unknown7` TINYINT(3) UNSIGNED NOT NULL,
+  `unknown8` TINYINT(3) UNSIGNED NOT NULL,
+  `unknown9` TINYINT(3) UNSIGNED NOT NULL,
+  `unknown10` TINYINT(3) UNSIGNED NOT NULL,
+  `level` TINYINT(3) UNSIGNED NOT NULL,
+  `num_items` TINYINT(3) UNSIGNED NOT NULL,
+  `item_icon` SMALLINT(5) UNSIGNED NOT NULL,
+  `item_name` VARCHAR(512) DEFAULT NULL,
+  `unknown4` TINYINT(3) UNSIGNED DEFAULT NULL,
+  `item_id` INT(11) DEFAULT NULL,
+  `item_crc` INT(11) DEFAULT NULL,
+  `log_file` VARCHAR(255) DEFAULT '',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY  (`id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

+ 14 - 0
EQ2/devtools/PacketParser/sql_updates/raw_commands.sql

@@ -0,0 +1,14 @@
+CREATE TABLE `raw_commands` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `type` tinyint(3) unsigned default '1',
+  `command` varchar(64) collate latin1_general_ci NOT NULL,
+  `subcommand` varchar(64) collate latin1_general_ci NOT NULL,
+  `handler` int(10) unsigned NOT NULL default '0',
+  `required_status` smallint(5) NOT NULL default '0',
+  `data_version` smallint(5) unsigned NOT NULL default '0',
+  `log_file` varchar(250) collate latin1_general_ci NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `CommandIDX` (`command`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+ALTER TABLE `parser_stats` ADD COLUMN `total_commands` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL AFTER `new_recipes_list`, ADD COLUMN `unique_commands` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL AFTER `total_commands`, ADD COLUMN `new_commands` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL AFTER `unique_commands`;

+ 23 - 0
EQ2/devtools/PacketParser/sql_updates/raw_factions.sql

@@ -0,0 +1,23 @@
+# HeidiSQL Dump 
+#
+# --------------------------------------------------------
+# Host:                 192.168.0.2
+# Database:             parser
+# Server version:       5.0.60-log
+# Server OS:            pc-linux-gnu
+# Target-Compatibility: Same as source server (MySQL 5.0.60-log)
+# max_allowed_packet:   16777216
+# HeidiSQL version:     3.1 RC1 Revision: 1064
+# --------------------------------------------------------
+
+/*!40100 SET CHARACTER SET latin1*/;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0*/;
+
+
+#
+# Dumping data for table 'raw_factions'
+#
+
+# (No data found.)
+
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS*/;

+ 15 - 0
EQ2/devtools/PacketParser/sql_updates/raw_factions1.sql

@@ -0,0 +1,15 @@
+DROP TABLE IF EXISTS `raw_factions`;
+CREATE TABLE `raw_factions` (
+  `faction_id` INT(11) NOT NULL AUTO_INCREMENT,
+  `name` VARCHAR(512) DEFAULT NULL,
+  `category` VARCHAR(512) DEFAULT NULL,
+  `description` VARCHAR(512) DEFAULT NULL,
+  `unknown` VARCHAR(512) DEFAULT NULL,
+  `con` TINYINT(3) NOT NULL DEFAULT '0',
+  `percentage` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `value` MEDIUMINT(5) NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(255) DEFAULT '',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY  (`faction_id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

+ 3 - 0
EQ2/devtools/PacketParser/sql_updates/raw_item_appearances.sql

@@ -0,0 +1,3 @@
+ALTER TABLE `raw_item_appearances` 
+  ADD COLUMN `item_crc` BIGINT (20) DEFAULT '0' NOT NULL AFTER `item_id`,
+  CHANGE `item_id` `item_id` INT (10) DEFAULT '0' NOT NULL ;

+ 16 - 0
EQ2/devtools/PacketParser/sql_updates/raw_item_details_armorset.sql

@@ -0,0 +1,16 @@
+/* New Item Type 18 (Armor Set) table structure */
+
+CREATE TABLE `raw_item_details_armorset` (
+	`id` int(10) unsigned NOT NULL auto_increment,
+	`armorset_item_id` int(10) NOT NULL default '0',
+	`item_id` int(10) NOT NULL default '0',
+	`item_crc` int(10) NOT NULL default '0',
+	`item_icon` smallint(5) unsigned NOT NULL default '0',
+	`item_name` varchar(250) collate latin1_general_ci default '',
+	`unknown_piece` int(10) unsigned NOT NULL default '0',
+	`language_type` tinyint(3) NOT NULL default '0',
+	PRIMARY KEY  (`id`)
+) ENGINE=MyISAM;
+
+
+alter table `raw_items` change `item_type` `item_type` enum('Normal','Armor','Food','Bag','Weapon','Ranged','Shield','Spell','Recipe','Book','House','Thrown','Bauble','House Container','Adornment','Pattern','Armor Set') default 'Normal' NOT NULL;

+ 39 - 0
EQ2/devtools/PacketParser/sql_updates/raw_item_details_book.sql

@@ -0,0 +1,39 @@
+# HeidiSQL Dump 
+#
+# --------------------------------------------------------
+# Host:                 127.0.0.1
+# Database:             parser
+# Server version:       5.1.31-community
+# Server OS:            Win32
+# Target-Compatibility: MySQL 5.0
+# max_allowed_packet:   1048576
+# HeidiSQL version:     3.2 Revision: 1129
+# --------------------------------------------------------
+
+/*!40100 SET CHARACTER SET latin1*/;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0*/;
+
+
+#
+# Table structure for table 'raw_item_details_book'
+#
+
+CREATE TABLE /*!32312 IF NOT EXISTS*/ `raw_item_details_book` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `item_id` int(11) NOT NULL DEFAULT '0',
+  `unknown1` tinyint(3) unsigned NOT NULL DEFAULT '0',
+  `unknown2` int(10) unsigned NOT NULL DEFAULT '0',
+  `language_type` tinyint(3) unsigned NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `ItemLanguageIDX` (`item_id`,`language_type`)
+) ENGINE=MyISAM /*!40100 DEFAULT CHARSET=latin1*/;
+
+
+
+#
+# Dumping data for table 'raw_item_details_book'
+#
+
+# (No data found.)
+
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS*/;

+ 12 - 0
EQ2/devtools/PacketParser/sql_updates/raw_item_details_house_update.sql

@@ -0,0 +1,12 @@
+DROP TABLE `raw_item_details_house`;
+CREATE TABLE `raw_item_details_house` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `item_id` int(11) NOT NULL default '0',
+  `status_rent_reduction` int(10) unsigned NOT NULL default '0',
+  `coin_rent_reduction` float unsigned default '0' NOT NULL,
+  `house_unknown2` smallint(6) unsigned default '0' NOT NULL,
+  `house_only` tinyint(3) unsigned default '0' NOT NULL,
+  `language_type` tinyint(3) unsigned NOT NULL default '1',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `ItemLanguageIDX` (`item_id`,`language_type`)
+) ENGINE=MyISAM;

+ 16 - 0
EQ2/devtools/PacketParser/sql_updates/raw_item_details_itemset.sql

@@ -0,0 +1,16 @@
+CREATE TABLE `raw_item_details_itemset` (
+	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+	`itemset_item_id` INT(10) NOT NULL DEFAULT '0',
+	`item_id` INT(10) NOT NULL DEFAULT '0',
+	`item_crc` INT(10) NOT NULL DEFAULT '0',
+	`item_icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+	`item_unknown1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+	`item_unknown2` INT(10) NOT NULL DEFAULT '0', 
+	`item_name` VARCHAR(250) NULL DEFAULT '' COLLATE 'latin1_general_ci',
+	`language_type` TINYINT(3) NOT NULL DEFAULT '0',
+	PRIMARY KEY (`id`)
+)
+COLLATE='latin1_general_ci'
+ENGINE=MyISAM;
+
+ALTER TABLE `raw_items` CHANGE COLUMN `item_type` `item_type` ENUM('Normal','Armor','Food','Bag','Weapon','Ranged','Shield','Spell Scroll','Recipe','Book','House','Thrown','Bauble','House Container','Adornment','Pattern Set','Armor Set','Item Set') NOT NULL DEFAULT 'Normal' COLLATE 'latin1_general_ci' AFTER `name`;

+ 16 - 0
EQ2/devtools/PacketParser/sql_updates/raw_item_details_pattern.sql

@@ -0,0 +1,16 @@
+
+/* New Item Type 17 (Pattern) table structure */
+
+CREATE TABLE `raw_item_details_pattern` (                         
+	`id` int(10) unsigned NOT NULL auto_increment,                  
+	`pattern_item_id` int(10) NOT NULL default '0',                 
+	`item_id` int(10) NOT NULL default '0',                         
+	`item_crc` int(10) NOT NULL default '0',                        
+	`item_icon` smallint(5) unsigned NOT NULL default '0',          
+	`item_name` varchar(250) collate latin1_general_ci default '',  
+	`language_type` tinyint(3) NOT NULL default '0',                
+	PRIMARY KEY  (`id`)                                             
+) ENGINE=MyISAM;
+
+
+alter table `raw_items` change `item_type` `item_type` enum('Normal','Armor','Food','Bag','Weapon','Ranged','Shield','Spell','Recipe','Book','House','Thrown','Bauble','House Container','Adornment','Pattern') default 'Normal' NOT NULL;

+ 1 - 0
EQ2/devtools/PacketParser/sql_updates/raw_item_effects-fix.sql

@@ -0,0 +1 @@
+alter table `raw_item_effects` change `name` `name` varchar(512) character set latin1 collate latin1_swedish_ci default 'Unknown' NOT NULL;

+ 56 - 0
EQ2/devtools/PacketParser/sql_updates/raw_item_itemsets.sql

@@ -0,0 +1,56 @@
+-- Item Type 16 - Profile Items
+ALTER TABLE `raw_items` CHANGE `item_type` `item_type` ENUM('Normal','Armor','Food','Bag','Weapon','Ranged','Shield','Spell Scroll','Recipe','Book','House','Thrown','Bauble','House Container','Adornment','Pattern Set','Armor Set','Item Set','Decoration','Marketplace','Dungeon Maker','Profile') CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT 'Normal' NOT NULL; 
+
+DROP TABLE IF EXISTS `raw_item_itemsets`;
+CREATE TABLE `raw_item_itemsets` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `set_name` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT 'Unknown',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `ItemSetIDX` (`set_name`, `language_type`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+DROP TABLE IF EXISTS `raw_item_itemset_items`;
+CREATE TABLE `raw_item_itemset_items` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `set_id` INT(10) NOT NULL DEFAULT '0',
+  `unknown1` TINYINT(3) NOT NULL DEFAULT '0',
+  `unknown2` TINYINT(3) NOT NULL DEFAULT '0',
+  `item_name` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT 'Unknown',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `SetItemIDX` (`set_id`, `item_name`, `language_type`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+DROP TABLE IF EXISTS `raw_item_itemset_bonus_stats`;
+CREATE TABLE `raw_item_itemset_bonus_stats` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `set_id` INT(10) NOT NULL DEFAULT '0',
+  `items_needed` TINYINT(3) NOT NULL DEFAULT '0',
+  `type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `subtype` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `value` SMALLINT(5) NOT NULL DEFAULT '0',
+  `value2` FLOAT DEFAULT '0',
+  `name` VARCHAR(512) COLLATE latin1_general_ci DEFAULT '',
+  `unknown` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `stats_order` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `SetStatsIDX` (`set_id`,`items_needed`,`type`,`subtype`,`value`,`value2`,`stats_order`,`language_type`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+DROP TABLE IF EXISTS `raw_item_itemset_bonus_effects`;
+CREATE TABLE `raw_item_itemset_bonus_effects` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `set_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `items_needed` TINYINT(3) NOT NULL DEFAULT '0',
+  `subbulletflag` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `description` VARCHAR(512) COLLATE latin1_general_ci DEFAULT '',
+  `percentage` TINYINT(3) UNSIGNED NOT NULL DEFAULT '100',
+  `effect_order` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `SetEffectsIDX` (`set_id`, `description`, `effect_order`, `language_type`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+ALTER TABLE `raw_item_itemsets` ADD COLUMN `data_version` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL AFTER `language_type`, ADD COLUMN `log_file` VARCHAR(250) DEFAULT '' NOT NULL AFTER `data_version`; 

+ 3 - 0
EQ2/devtools/PacketParser/sql_updates/raw_items-fix.sql

@@ -0,0 +1,3 @@
+-- getting items.name truncated, setting description to `text`
+alter table `raw_items` change `name` `name` varchar(512), change `description` `description` text NOT NULL;
+alter table `raw_items` add column `processed` tinyint(3) UNSIGNED DEFAULT '0' NOT NULL;

+ 22 - 0
EQ2/devtools/PacketParser/sql_updates/raw_map_data.sql

@@ -0,0 +1,22 @@
+DROP TABLE IF EXISTS `raw_map_data`;
+CREATE TABLE `raw_map_data` (
+  `id` int(10) unsigned NOT NULL auto_increment,
+  `map_id` int(10) unsigned NOT NULL default '0',
+  `zone_name` varchar(128) NOT NULL,
+  `highest` float NOT NULL default '0',
+  `lowest` float NOT NULL default '0',
+  `explored_map_name` varchar(255) NOT NULL,
+  `unexplored_map_name` varchar(255) NOT NULL,
+  `bounds1_x` float NOT NULL default '0',
+  `bounds1_z` float NOT NULL default '0',
+  `bounds2_x` float NOT NULL default '0',
+  `bounds2_z` float NOT NULL default '0',
+  `bounds3_x` float NOT NULL default '0',
+  `bounds3_z` float NOT NULL default '0',
+  `bounds4_x` float NOT NULL default '0',
+  `bounds4_z` float NOT NULL default '0',
+  `explored_key` bigint(20) unsigned NOT NULL default '0',
+  `unexplored_key` bigint(20) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `MapIDX` (`map_id`,`zone_name`,`unexplored_map_name`,`explored_map_name`)
+) ENGINE=InnoDB;

+ 58 - 0
EQ2/devtools/PacketParser/sql_updates/raw_merchants.sql

@@ -0,0 +1,58 @@
+DROP TABLE IF EXISTS `raw_merchant_items`;
+
+DROP TABLE IF EXISTS `raw_merchants`;
+CREATE TABLE `raw_merchants` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `spawn_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `description` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `MerchantsIDX` (`spawn_id`,`language_type`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+DROP TABLE IF EXISTS `raw_merchant_inventory`;
+CREATE TABLE `raw_merchant_inventory` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `inventory_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `item_name` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  `price` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+  `item_id` INT(10) NOT NULL DEFAULT '0',
+  `unique_item_id` INT(10) NOT NULL DEFAULT '0',
+  `stack_size` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `item_difficulty` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `level` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown4a` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown4b` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `quantity` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown5` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `tier` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `status` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `item_id2` INT(10) NOT NULL DEFAULT '0',
+  `stack_size2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `status2` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `station_cash` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown7a` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown7b` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `num_tokens` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `description` TEXT COLLATE latin1_general_ci,
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `InventoryIDX` (`inventory_id`,`item_id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+DROP TABLE IF EXISTS `raw_merchant_inventory_tokens`;
+CREATE TABLE `raw_merchant_inventory_tokens` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `inventory_item_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `token_icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `token_quantity` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `token_id` INT(10) NOT NULL DEFAULT '0',
+  `token_id2` INT(10) NOT NULL DEFAULT '0',
+  `token_name` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  PRIMARY KEY (`id`),
+  KEY `TokenIDX` (`inventory_item_id`,`token_id`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+

+ 21 - 0
EQ2/devtools/PacketParser/sql_updates/raw_mercs_pets.sql

@@ -0,0 +1,21 @@
+DROP TABLE IF EXISTS `raw_spawn_mercs`;
+CREATE TABLE `raw_spawn_mercs` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `spawn_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `mercenary_name` VARCHAR(64) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `NewIndex1` (`mercenary_name`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+
+DROP TABLE IF EXISTS `raw_spawn_pets`;
+CREATE TABLE `raw_spawn_pets` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `spawn_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `pet_name` VARCHAR(64) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) COLLATE latin1_general_ci NOT NULL DEFAULT '',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `NewIndex1` (`pet_name`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

+ 11 - 0
EQ2/devtools/PacketParser/sql_updates/raw_poi_locations.sql

@@ -0,0 +1,11 @@
+CREATE TABLE `raw_poi_locations`( 
+	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT , 
+	`unknown` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' , 
+	`x` FLOAT NOT NULL DEFAULT '0' , 
+	`y` FLOAT NOT NULL DEFAULT '0' , 
+	`z` FLOAT NOT NULL DEFAULT '0' , 
+	`num_locations` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' , 
+	`data_version` INT(10) UNSIGNED NOT NULL DEFAULT '0' , 
+	`log_file` VARCHAR(250) NOT NULL DEFAULT '' , 
+	PRIMARY KEY (`id`)
+) ENGINE=MyISAM;

+ 2 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spawn_appearance_equip.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `raw_spawn_appearance_equip` ADD COLUMN `data_version` SMALLINT(5) UNSIGNED DEFAULT '0' NOT NULL AFTER `highlight_blue`; 
+ALTER TABLE `raw_spawn_appearance_equip` DROP KEY `NewIndex`, ADD UNIQUE `EquipIDX` (`spawn_id`, `slot_id`, `data_version`, `language_type`); 

+ 1 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spawn_info_popID.sql

@@ -0,0 +1 @@
+ALTER TABLE `raw_spawn_info` ADD COLUMN `populate_spawn_id` INT(10) UNSIGNED DEFAULT '0' NOT NULL AFTER `randomize`; 

+ 6 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spawn_info_updates.sql

@@ -0,0 +1,6 @@
+ALTER TABLE `raw_spawn_info` 
+  CHANGE `level` `min_level` TINYINT (3) UNSIGNED DEFAULT '0' NOT NULL,
+  ADD COLUMN `max_level` TINYINT (3) UNSIGNED DEFAULT '0' NOT NULL AFTER `min_level`,
+  ADD COLUMN `min_size` SMALLINT (5) UNSIGNED DEFAULT '0' NOT NULL AFTER `pos_size`,
+  ADD COLUMN `max_size` SMALLINT (5) UNSIGNED DEFAULT '0' NOT NULL AFTER `min_size`,
+  ADD COLUMN `randomize` INT (10) UNSIGNED DEFAULT '0' NOT NULL AFTER `title`;

+ 1 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spawns_20090726.sql

@@ -0,0 +1 @@
+ALTER TABLE `raw_spawns` ADD COLUMN `spawn_group_id` INT(10) DEFAULT '0' NOT NULL AFTER `spawn_id`;

+ 15 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spell_visuals.sql

@@ -0,0 +1,15 @@
+DROP TABLE IF EXISTS `raw_spell_visuals`;
+
+CREATE TABLE `raw_spell_visuals` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `num_targets` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_visual1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_visual2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `cast_time` FLOAT NOT NULL DEFAULT '0',
+  `spell_level` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_tier` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) NOT NULL DEFAULT '',
+  PRIMARY KEY (`id`)
+) ENGINE=MYISAM;

+ 4 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spell_visuals_fix.sql

@@ -0,0 +1,4 @@
+-- changes to spell_visuals
+ALTER TABLE `raw_spell_visuals` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT; 
+ALTER TABLE `raw_spell_visuals` DROP KEY `id_2`; 
+ALTER TABLE `raw_spell_visuals` DROP KEY `id`, ADD UNIQUE `VisIDX` (`spell_id`, `spell_visual1`, `spell_visual2`); 

+ 60 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spells, raw_items and raw_collections update.sql

@@ -0,0 +1,60 @@
+TRUNCATE `raw_item_appearances`;
+TRUNCATE `raw_item_classes`;
+TRUNCATE `raw_item_descriptions`;
+TRUNCATE `raw_item_details_armor`;
+TRUNCATE `raw_item_details_armorset`;
+TRUNCATE `raw_item_details_bag`;
+TRUNCATE `raw_item_details_bauble`;
+TRUNCATE `raw_item_details_book`;
+TRUNCATE `raw_item_details_food`;
+TRUNCATE `raw_item_details_house`;
+TRUNCATE `raw_item_details_house_container`;
+TRUNCATE `raw_item_details_pattern`;
+TRUNCATE `raw_item_details_range`;
+TRUNCATE `raw_item_details_recipe`;
+TRUNCATE `raw_item_details_recipe_items`;
+TRUNCATE `raw_item_details_shield`;
+TRUNCATE `raw_item_details_skills`;
+TRUNCATE `raw_item_details_thrown`;
+TRUNCATE `raw_item_details_weapon`;
+TRUNCATE `raw_item_effects`;
+TRUNCATE `raw_item_sets`;
+TRUNCATE `raw_item_sets_effects`;
+TRUNCATE `raw_item_sets_stats`;
+TRUNCATE `raw_item_skill_classes`;
+TRUNCATE `raw_item_stats`;
+TRUNCATE `raw_items`;
+ALTER TABLE `raw_items` ADD `item_id` INT DEFAULT '0' NOT NULL AFTER `id`;
+ALTER TABLE `raw_items` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL;
+ALTER TABLE `raw_items` DROP PRIMARY KEY;
+ALTER TABLE `raw_items` ADD PRIMARY KEY (`id`);
+ALTER TABLE `raw_items` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
+ALTER TABLE `raw_items` AUTO_INCREMENT = 1;
+ALTER TABLE `raw_items` ADD UNIQUE `ItemIDLanguageTypeIDX` (`item_id`, `language_type`);
+ALTER TABLE `raw_items` CHANGE `menu_type` `menu_type` SMALLINT UNSIGNED DEFAULT '3' NOT NULL;
+ALTER TABLE `raw_items` DROP `sub_type`;
+
+TRUNCATE `raw_spell_details`;
+TRUNCATE `raw_spell_effects`;
+TRUNCATE `raw_spell_levels`;
+TRUNCATE `raw_spells`;
+ALTER TABLE `raw_spells` ADD `spell_id` INT UNSIGNED DEFAULT '0' NOT NULL AFTER `id`;
+ALTER TABLE `raw_spells` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL;
+ALTER TABLE `raw_spells` DROP PRIMARY KEY;
+ALTER TABLE `raw_spells` ADD PRIMARY KEY (`id`);
+ALTER TABLE `raw_spells` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
+ALTER TABLE `raw_spells` AUTO_INCREMENT = 1;
+ALTER TABLE `raw_spells` ADD UNIQUE `SpellLanguageTypeIDX` (`spell_id`, `tier`, `language_type`);
+
+DELETE FROM `raw_collections`;
+ALTER TABLE `raw_collections` ADD `id` INT UNSIGNED DEFAULT '0' NOT NULL FIRST;
+ALTER TABLE `raw_collections` ADD PRIMARY KEY (`id`);
+ALTER TABLE `raw_collections` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
+
+
+ALTER TABLE `raw_items` ADD `data_version` SMALLINT(5) UNSIGNED NOT NULL AFTER `log_file`;
+ALTER TABLE `raw_spells` ADD `data_version` SMALLINT(5) UNSIGNED NOT NULL AFTER `log_file`;
+ALTER TABLE `raw_quests` ADD `data_version` SMALLINT(5) UNSIGNED NOT NULL AFTER `log_file`;
+ALTER TABLE `raw_spawns` ADD `data_version` SMALLINT(5) UNSIGNED NOT NULL AFTER `log_file`;
+
+ALTER TABLE `raw_items` ADD COLUMN `populate_item_id` INT(10) UNSIGNED DEFAULT '0' NOT NULL AFTER `processed`;

+ 71 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spells.sql

@@ -0,0 +1,71 @@
+CREATE TABLE `raw_spells` (
+  `id` int(10) unsigned NOT NULL,
+  `tier` tinyint(3) unsigned NOT NULL default '0',
+  `name` varchar(128) NOT NULL default ' ',
+  `description` varchar(512) NOT NULL default ' ',
+  `icon` smallint(5) unsigned NOT NULL default '0',
+  `icon2` smallint(5) unsigned NOT NULL default '0',
+  `icontype` smallint(5) unsigned NOT NULL default '0',
+  `type` tinyint(3) unsigned NOT NULL default '0',
+  `class_skill` int(10) unsigned NOT NULL default '0',
+  `mastery_skill` int(10) unsigned NOT NULL default '0',
+  `unknown2` tinyint(3) unsigned NOT NULL default '0',
+  `spell_text_color` int(10) unsigned NOT NULL default '0',
+  `friendly_spell` smallint(5) unsigned NOT NULL default '0',
+  `display_spell_tier` tinyint(3) unsigned NOT NULL default '0',
+  `duration_flag` tinyint(3) unsigned NOT NULL default '0',
+  `target` tinyint(3) unsigned NOT NULL default '0',
+  `group_spell` tinyint(3) unsigned NOT NULL default '0',
+  `language_type` tinyint(3) unsigned NOT NULL default '0',
+  `log_file` varchar(64) default NULL,
+  `processed` tinyint(3) unsigned NOT NULL default '0',
+  PRIMARY KEY  (`id`,`tier`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+CREATE TABLE `raw_spell_details` (
+  `spell_id` int(10) unsigned NOT NULL default '0',
+  `tier` tinyint(3) unsigned NOT NULL default '0',
+  `health_req` smallint(5) unsigned NOT NULL default '0',
+  `health_upkeep` smallint(5) unsigned NOT NULL default '0',
+  `power_req` smallint(5) unsigned NOT NULL default '0',
+  `power_upkeep` smallint(5) unsigned NOT NULL default '0',
+  `req_concentration` smallint(5) unsigned NOT NULL default '0',
+  `cast_time` smallint(5) unsigned NOT NULL default '0',
+  `recovery` smallint(5) unsigned NOT NULL default '0',
+  `recast` float unsigned NOT NULL default '0',
+  `radius` float unsigned NOT NULL default '0',
+  `max_aoe_targets` smallint(5) unsigned NOT NULL default '0',
+  `unknown8` int(10) unsigned NOT NULL default '0',
+  `range` float unsigned NOT NULL default '0',
+  `duration1` int(10) unsigned NOT NULL default '0',
+  `duration2` int(10) unsigned NOT NULL default '0',
+  `unknown9` tinyint(3) unsigned NOT NULL default '0',
+  `unknown10` smallint(5) unsigned NOT NULL default '0',
+  `resistibility` float NOT NULL default '0',
+  `hit_bonus` float NOT NULL default '0',
+  `language_type` tinyint(3) unsigned NOT NULL default '0',
+  `log_file` varchar(64) default NULL,
+  PRIMARY KEY  (`spell_id`,`tier`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `raw_spell_effects` (
+  `spell_id` int(10) unsigned NOT NULL default '0',
+  `tier` tinyint(3) unsigned NOT NULL default '0',
+  `subbulletflag` tinyint(3) unsigned NOT NULL default '0',
+  `effect` varchar(512) NOT NULL,
+  `percentage` tinyint(3) unsigned NOT NULL default '100',
+  `language_type` tinyint(3) unsigned NOT NULL default '0',
+  `log_file` varchar(64) default NULL,
+  PRIMARY KEY  (`spell_id`,`tier`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `raw_spell_levels` (
+  `spell_id` int(10) unsigned NOT NULL,
+  `tier` tinyint(3) unsigned NOT NULL default '0',
+  `class_id` tinyint(3) unsigned NOT NULL default '0',
+  `spell_level` smallint(5) unsigned NOT NULL default '0',
+  `language_type` tinyint(3) unsigned NOT NULL default '0',
+  `log_file` varchar(64) default NULL,
+  PRIMARY KEY  (`spell_id`,`tier`,`class_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;

+ 5 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spells2.sql

@@ -0,0 +1,5 @@
+ALTER TABLE `raw_spell_effects` ADD `index` TINYINT UNSIGNED DEFAULT '0' NOT NULL AFTER `tier`;
+ALTER TABLE `raw_spell_effects` DROP PRIMARY KEY, ADD PRIMARY KEY (`spell_id`, `tier`, `index`);
+ALTER TABLE `raw_spells` ADD `spell_visual` INT UNSIGNED DEFAULT '0' NOT NULL AFTER `group_spell`;
+ALTER TABLE `raw_spells` ADD `success_message` VARCHAR(512) NULL AFTER `spell_visual`;
+ALTER TABLE `raw_spells` ADD `effect_message` VARCHAR(512) NULL AFTER `success_message`;

+ 5 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spells3.sql

@@ -0,0 +1,5 @@
+ALTER TABLE `raw_spell_details` CHANGE `unknown8` `min_range` int(10) unsigned NOT NULL DEFAULT '0';
+ALTER TABLE `raw_spells` CHANGE `unknown2` `min_class_skill_req` mediumint(0) unsigned NOT NULL DEFAULT '0';
+ALTER TABLE `raw_spells` ADD `unknown1` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `effect_message`;
+ALTER TABLE `raw_spells` ADD `can_effect_raid` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `unknown1`;
+ALTER TABLE `raw_spells` ADD `affect_only_group_members` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `can_effect_raid`;

+ 4 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spells4.sql

@@ -0,0 +1,4 @@
+ALTER TABLE `raw_spells` ADD `aa_spell_id` int(10) unsigned NOT NULL DEFAULT '0' AFTER `spell_id`;
+ALTER TABLE `raw_spells` ADD `aa_unknown` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `affect_only_group_members`;
+ALTER TABLE `raw_spells` ADD `aa_unknown2` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `aa_unknown`;
+ALTER TABLE `raw_spells` DROP INDEX `SpellLanguageTypeIDX`, ADD UNIQUE `SpellLanguageTypeIDX` (`spell_id`, `tier`, `aa_spell_id`);

+ 40 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spells5.sql

@@ -0,0 +1,40 @@
+DROP TABLE IF EXISTS `raw_spells`;
+CREATE TABLE `raw_spells` (
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `aa_spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `tier` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `name` VARCHAR(128) DEFAULT '',
+  `description` VARCHAR(512) DEFAULT '',
+  `icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icon2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `icontype` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `class_skill` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `mastery_skill` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `min_class_skill_req` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_text_color` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `friendly_spell` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `display_spell_tier` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `duration_flag` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `target` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `group_spell` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `spell_visual` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+  `success_message` VARCHAR(512) DEFAULT NULL,
+  `effect_message` VARCHAR(512) DEFAULT NULL,
+  `unknown1` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `can_effect_raid` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `affect_only_group_members` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `aa_unknown` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `aa_unknown2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `uses_remaining` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `damage_remaining` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown3` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `unknown4` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(255) DEFAULT NULL,
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL,
+  `processed` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `SpellLanguageTypeIDX` (`spell_id`,`tier`)
+) ENGINE=MYISAM DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

+ 18 - 0
EQ2/devtools/PacketParser/sql_updates/raw_spells_aa.sql

@@ -0,0 +1,18 @@
+DROP TABLE IF EXISTS `raw_spells_aa`;
+CREATE TABLE `raw_spells_aa` (
+	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
+	`aa_spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+	`spell_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+	`tier` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+	`unknown` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+	`icon` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+	`icon2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+	`current_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+	`max_rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+	`rank_cost` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+	`unknown2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+	`language_type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+	`log_file` VARCHAR(255) DEFAULT '',
+	PRIMARY KEY (`id`),
+	UNIQUE KEY `NewIndex1` (`aa_spell_id`,`language_type`)
+) ENGINE=MYISAM CHECKSUM=1 AUTO_INCREMENT=1 COMMENT='' DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC CHARSET=latin1 COLLATE=latin1_swedish_ci;

+ 10 - 0
EQ2/devtools/PacketParser/sql_updates/raw_titles.sql

@@ -0,0 +1,10 @@
+DROP TABLE IF EXISTS `raw_titles`;
+CREATE TABLE `raw_titles`(
+  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `title_name` VARCHAR(250) NOT NULL DEFAULT '',
+  `prefix` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+  `data_version` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+  `log_file` VARCHAR(250) NOT NULL DEFAULT '',
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `NewIndex` (`title_name`)
+) ENGINE=MYISAM;

+ 1 - 0
EQ2/devtools/PacketParser/sql_updates/raw_traditions.sql

@@ -0,0 +1 @@
+ALTER TABLE `raw_traditions` ADD COLUMN `section_name` VARCHAR(250) DEFAULT '' NOT NULL AFTER `name`;

+ 114 - 0
EQ2/distrib/DISTRIB.bat

@@ -0,0 +1,114 @@
+@echo off
+REM ############################################################################
+REM #
+REM #      B A S I C   C O N F I G U R A T I O N
+REM #
+REM ############################################################################
+
+REM Set the following value to the full drive\path location of your EQ2Emu server
+REM Or, leave as .\ to copy into the distrib folder (recommended)
+
+set serverpath=.\
+
+REM ############################################################################
+REM #
+REM #     D O   N O T   M O D I F Y   B E Y O N D   T H I S   P O I N T
+REM #
+REM ############################################################################
+if not exist %serverpath%\nul GOTO badpath
+
+:menu
+cls
+ECHO.
+ECHO ############################################################################
+ECHO #
+ECHO #          S E R V E R   D I S T R I B U T I O N   B U I L D E R
+ECHO #
+ECHO ############################################################################
+ECHO.
+ECHO			Choose from the following options:
+ECHO.
+ECHO			1. Copy Required Server Files
+ECHO			2. Copy Latest LUA Scripts
+ECHO			3. Show SQL Patches
+ECHO.
+ECHO			[S]ettings / [E]xit
+ECHO.
+set /p l=         	Choice:
+if %l%==* goto error
+if %l%==1 goto copyserver
+if %l%==2 goto copylua
+if %l%==3 goto showpatch
+if %l%==s goto settings
+if %l%==S goto settings
+if %l%==e goto quit
+if %l%==E goto quit
+if %l%==q goto quit
+if %l%==Q goto quit
+if %l%==x goto quit
+if %l%==X goto quit
+if %l%==0 goto quit
+goto error
+
+
+:copyserver
+xcopy ..\structs\*.xml %serverpath% /y /d
+xcopy ..\bin\eq2emu-world.exe %serverpath% /y /d
+xcopy ..\configs\*.ini %serverpath% /y /d
+xcopy ..\utils\zlib.dll %serverpath% /y /d
+xcopy ..\docs\changelog.txt %serverpath% /y /d
+set copydone=1
+PAUSE
+goto menu
+
+
+:copylua
+echo Not Yet.
+PAUSE
+goto menu
+
+:showpatch
+echo Not Yet.
+PAUSE
+goto menu
+
+
+:settings
+cls
+ECHO.
+ECHO ############################################################################
+ECHO #
+ECHO #				   S E T T I N G S
+ECHO #
+ECHO ############################################################################
+ECHO.
+ECHO   Server Path = %serverpath%
+ECHO.
+PAUSE    
+GOTO menu
+
+
+:error
+CLS
+ECHO.
+ECHO.
+ECHO [ERROR] An error has occured, you will be directed back to the
+ECHO [ERROR] main menu.
+PAUSE    
+GOTO menu
+
+:badpath
+ECHO.
+ECHO.
+ECHO [ERROR] An error has occured; Bad Path Set: %serverpath%
+ECHO [ERROR] You will be directed back to the main menu.
+PAUSE
+GOTO menu
+
+
+:quit
+ECHO.
+if .%copydone%==.1 echo Don't forget to edit your LoginServer.ini and world_db.ini!
+ECHO.
+set copydone=
+

+ 4 - 0
EQ2/distrib/readme.txt

@@ -0,0 +1,4 @@
+DISTRIB.bat is a tool that will automatically build a folder containing the latest SVN files needed to run EQ2Emulator.
+
+Just run the batch file, then copy the ./trunk/distrib folder anywhere you want to run your world,
+or run it from distrib! We don't mind!

+ 674 - 0
EQ2/docs/COPYING.txt

@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.

+ 1862 - 0
EQ2/docs/ChangeLog.txt

@@ -0,0 +1,1862 @@
+EQ2Emulator 0.0.1+ Changelog (Started on July 26, 2007 15:58)
+--------------------------------------------------------
+==07/19/2010:
+JohnAdams: Relocated Dev SVN to JA's hardware. Test Commit (no code changes)
+
+==06/06/2010:
+Scatman: Bug fix for item values caused by my Type2 commit.
+
+==06/05/2010:
+Rhas: Added commands for /loot_corpse, /motd and /random
+Rhas: Hotbar fix for items and equipped slots.
+Zcoretri: Updated PacketParser code to parse latest logs.
+Zcoretri: Fixed typos in WorldStructs.xml
+
+==06/03/2010:
+Scatman: Packet values can now have two possible types.  Use Type2="<type>" to designate a 2nd type and set the 'use_second_type' flag to true in the PacketStruct::SetDataByName functions to use the second type.
+Scatman: Minor version ;)
+
+==06/01/2010:
+Rhas: Added command /use_equipped_item to use items from inventory or a charm slot.
+Rhas: Added command /cancel_maintained. This will cancel friendly spells in your maintained window.
+
+==05/31/2010:
+Zcoretri: Modified ItemStructs.xml - Added support for float values in item stats
+
+==05/29/2010:
+Rhas: Fixed the issue where you continue to drown even after leaving the water or swimming to the top.
+Rhas: Fixed the display of the level column in the broker window.
+Rhas: Fixed bug where you could equip any item in any slot. Fixed it so if you try to equip an item in an invalid slot it does nothing and leaves the item in your inventory.
+
+==05/23/2010:
+Scatman: Fixed a bug with my previous fix when moving full stacks of items.
+Scatman: Joining a group will now apply all the group's buffs to you.
+Scatman: Leaving a group will remove all buffs received from the group.
+Scatman: NPCs will no longer face away from its opponent during combat and will constantly face its most hated target.
+
+==05/22/2010:
+Scatman: Fixed bug #383. Moving stacks of items into an empty inventory spot will now work properly.
+
+==05/20/2010:
+Scatman: Fixed a bug with food/drink items being damaged upon death.
+
+==05/06/2010:
+Scatman: Fixed a bug loading characters with no created date.
+Scatman: Potential crash fix of a rare situation when writing to the logfile.
+Scatman: x64 commit.
+
+==4/14/2010:
+JohnAdams: Commit x64bit binary
+Scatman: Updated LoginServer.ini
+
+==4/12/2010:
+Scatman: Fixed a bug with loading items caused from a previous commit. Thanks JA for the heads up.
+
+==4/11/2010:
+Scatman: Fixed a bug causing a player to sheath their weapon if combat was started using a hostile spell.
+
+==4/07/2010:
+Scatman: Fixed a few issues with the itemsearch window.  Namely implememnted the ability to search for items using an item stat.
+
+==4/4/2010:
+JohnAdams: Implemented "hot zone" xp modifier. Set value in zones.xp_modifier to be a float > 0. 0 and 1 = no modifier, 1.5 is 50% bonus, .5 = 1/2 xp in zone.
+	   Thanks to Scatman for the C++ lesson!
+
+==4/3/2010:
+JohnAdams: Commit x64bit binary
+
+==3/29/2010:
+elcapototal: fixed bug 314.
+elcapototal: fixed bug 339 by adding the missing drowning update code and changing the drowning logic correspondingly.
+elcapototal: semi-fixed bug 350 by setting account age to character age.
+elcapototal: fixed bug 353 by decouplying AddFighter to InCombat(true) and then checking the attacker's class. priests and mages will not start autoattack after a hostile spell but scouts and warriors will.
+Scatman: Fixed a bug in guilds where initiates could not be given permission to receive guild points.
+Scatman: Fixed a bug with items displaying classes improperly.  How long has that been like that? :P
+Scatman: Potential bug fix with player skill bonuses.
+
+==3/28/2010:
+Scatman: NPCs can now use spells that increase their skills.
+Scatman: Spawns that die and have an action state will no longer continue to perform their action while dead. :P
+Scatman: Fixed a bug with spawns that have randomly generated features.
+elcapototal: fixed bug where the server would crash if you killed yourself from a high fall.
+elcapototal: fixed bug 88 by fixing the task group bugs for QuestJournalReply.
+elcapototal: fixed bug with item swap when dropping on top of the char image.
+elcapototal: fixed bug where /spawn set heading 180 would result in heading = 0.
+
+==3/27/2010:
+elcapototal: Fixed bug 241 by checking if the slot in question already has an item, and unequipping it before equipping the item at hand (i.e. swapping).
+Scatman: Fear not, for the auto-bank will no longer eat your items!  It'll now properly place your item into the first bank slot it finds, or none if your bank is full.
+
+==3/26/2010:
+Scatman: Crash fix with spell queue.
+elcapototal: Fixed bugs 196 & 300 by sending the PlayerInfo struck packet after equipping/unequipping an item.
+elcapototal: fixed bug 194 by resetting the quickbar items collection every time the user logs on.
+
+==3/24/2010:
+elcapototal: Added check when killing a spawn to make sure it's not already in the dead list.
+elcapototal: Added fix to /summon.
+Scatman: Possible fix for the display problem with queue'd spells.
+
+==3/23/2010:
+JohnAdams: Fixed bug in FK constraints on spawn_npcs table preventing insert of new spawns via /spawn add new command. Minor Version 244.
+
+==3/22/2010:
+JohnAdams: Re-compile binaries testing x64 compile setup.
+
+==3/21/2010:
+Scatman: Hopefully fixed the login bug.  Sorry it took so long.
+
+==3/20/2010:
+JohnAdams: Changed visual_states table structure (minor version 241) - added visual_state_id column which is the actual ID, and made the old `id` column a standard PK.
+JohnAdams: Added debug print of XP earned to client (_DEBUG) and logs. Also added for group XP earned.
+
+==3/16/2010:
+JohnAdams: Mocks Scatman for his disgraceful item load bug
+JohnAdams: ClientLauncher: Cleaned up SVN commit. Changed output to ./Client Launcher, and put sources in Sources folder
+
+==3/10/2010:
+Scatman: Fixed a disgraceful bug with my last change for loading items faster.
+Scatman: /reload items should no longer crash world.
+
+==3/8/2010:
+Scatman: Increased the speed at which items load from the database.
+
+==3/7/2010:
+Scatman: Fixed a huge spell crash.
+
+==3/6/2010:
+Scatman: Fixed many crashes (more to come).
+
+==3/3/2010:
+JohnAdams: Parser: added -debug option, shutting off DumpPacket unless used
+		   added parser_stats table; parser now outputs totals to table for data review
+		   removed SaveSpawnUnknowns() to -debug only -- too much useless data, not parsed properly anyway
+
+==2/28/2010:
+Scatman: Added /location create [name] (include y).  Include y defaults to 0 (false).
+Scatman: Added /location add [location id].
+Scatman: Added /location remove [location point id].
+Scatman: Added /location delete [location id].
+Scatman: Added /location list [locations|points] [location id if points used].
+
+==2/21/2010:
+Scatman: Implemented locations.  Use the `locations` and `locaton_details` tables.  Whenever a player enters a location, the name of the location will pop up on the screen.
+Scatman: Added /reload locations.
+
+==2/20/2010:
+Scatman: Fixed a bug causing spell visuals not to show after a /reload spawns.
+Scatman: Added support to use spawn_location_placement.expire_offset.  This will offset a spawn's expire_timer +/- expire_offset.
+Zcoretri: Packetparser: Added version 1027 structs for spell parsing.
+
+==2/15/2010:
+Scatman: Combining spawns now preserves their spawn location offsets.
+Scatman: Fixed a bug where spawns in a spawn combine were being given unequal percentages to spawn.
+Scatman: Added zone script functions enter_location(Zone, Player, GridID) and leave_location(Zone, Player, GridID).  These are called when a player enters/leaves a grid within a zone.
+Scatman: Spawns can now be given a timer for how long they can be spawned for before being depoped (like harvest nodes on live).  Use `spawn_location_placement.expire_timer` (in seconds).
+Zcoretri: PacketParser: Added version 1008 item structs for parsing only at this time.
+Zcoretri: PacketParser: Fixed -loaditems switch to work again due to evolving DB changes.
+Zcoretri: PacketParser: Added support to parse the new item flags ORNATE, HEIRLOOM, LORE_EQUIP, APPEARANCE_ONLY 
+
+==2/14/2010:
+Scatman: Fixed a bug with the new LUA spell loading system if the script did not have ".lua" on the end in the database.
+Scatman: Yet, another spell crash fix.
+
+==2/11/2010:
+Scatman: Fixed a bug not letting NPCs cast encounter AEs on players.
+Scatman: Added LUA function ApplySpellVisual(Target, SpellVisualID).
+Scatman: Implemented spell scribing from spell scrolls (be sure to update your WorldStructs.xml).
+Scatman: NPCs that are in a spawn group which are aggro'able to you, will now aggro you together as a group (sorry! :P).
+Scatman: Fixed a crash with interrupts.
+
+==2/10/2010:
+Zcoretri: Reverted ItemStructs.xml file. Version 1008 structs caused examine problems.
+
+==2/08/2010:
+Scatman: Fixed some linux compile warnings.
+Scatman: Whole bunch of spell tweaks to calculate spell targets.  Should be nearly identical to live now.
+Scatman: Spawns no longer check for aggro'able spawns when moving only.  It's now checked at all times, every 2 seconds.
+Scatman: Fixed a bug that was displaying the wrong error message when purchasing an item you did not have enough coin for.
+JohnAdams: Re-wrote UpdateStartingZone() function - added SQL error checking and debug output.
+
+==2/07/2010:
+Scatman: Fixed a bug that was causing self only spells to check their range.
+
+==2/06/2010:
+Scatman: Fixed a display issue with concentration not showing correctly when we switched over to use SOE's concentration standards (256 per 1 concentration slot).
+
+==2/05/2010:
+Scatman: Added support for group enemy hostile spells (spells.target_type=1[Enemy] and spells.group_spell=1).
+Scatman: Modified LUA function AddHate to calculate group targets if the spell being cast is a group spell. Use this function for group and single target taunts (also works if you're not casting a spell).
+
+==2/04/2010:
+Scatman: Added support for stifle, daze, and stun. Use AddControlEffect with types 2, 3, and 4 respectively.
+
+==2/03/2010:
+Scatman: Fixed a bug which was causing toggleable spells not to cancel if you had a different target than you did when you applied the spell.
+Scatman: Implemented the command clearallqueuedabilities. The spam should be gone when you target something now :)
+Scatman: Fixed a huge memory leak with spells.
+Scatman: Interrupted spells will no longer consume concentration.
+Scatman: Fixed a bug causing interrupted spells to still show their visual effect to all targets except the initial target.
+Scatman: Spells that are uninterruptable will no longer be interrupted by moving.
+Scatman: Added support for true AOE spells.
+Zcoretri: Added version 1008 item structs.
+
+==2/02/2010:
+Scatman: Made a lot of changes to spells and how its targets are found (mostly group stuff) to make the code easier to understand and less stressful on world.
+
+==1/31/2010:
+Scatman: Fixed a crash bug with reuse timers for NPCs.
+Scatman: You can now assign a picture through the EQ2 UI for your toon if you are a guild recruiter.
+Scatman: The 'Collection' groundspawn skill will now properly use the 'Gathering' spell.  Make sure your harvest spells are target_type=0 (Self).
+
+==1/30/2010:
+Scatman: Implemented guild recruiting.
+Scatman: Fixed a small bug that was saving a guild recruiting value improperly.
+
+==1/29/2010:
+Scatman: Rewrote how spell scripts were loaded to only load spells scripts being used and to allow for subdirectories.
+
+==1/28/2010:
+Scatman: Spells now take into account the amount of concentration required to cast it.
+
+==1/27/2010:
+Scatman: Imlemented group exp.
+Scatman: If you slay an epic mob, an announcement will appear in guild of your heroic actions!
+Scatman: Winning any prize in the lotto will now display the coin animation on your character.
+
+==1/26/2010:
+Scatman: Fixed a linux issue with the lotto.
+Scatman: Implemented LUA functions GetVariableValue(name) and GetCoinMessage(total_coin_amount) (You can use these together to print out how much the current lottery is eg. 500 platinum 50 gold).
+JohnAdams: DB: Removing FK constraints from spawn_npcs table (for now)
+
+==1/25/2010:
+Scatman: Added LUA functions AddControlEffect(target, type) and RemoveControlEffect(target, type).  For now, type=1 is mez. Later on, type=2 will be stifle and type=3 will be daze, etc.
+Scatman: Implemented the lottery :P
+
+==1/24/2010:
+Scatman: Added LUA functions AddSkillBonus(target, skill_id, value) and RemoveSkillBonus(target).
+Scatman: Calling AddSkillBonus multiple times for one spell will now properly modify all skills intended for.
+Scatman: Guild events now save into the database properly.
+LethalEncounter: Fixed a Parser crash bug.
+LethalEncounter: Fixed a bug with spawns depopping immediately.
+
+==1/23/2010:
+Scatman: When a guild member levels, their new level will be shown correctly in the guild window.
+Scatman: Group buffs' visuals will now display on all members of the group.
+Scatman: Maintained spell icons for group buffs will appear on all group members' UI.
+Zcoretri: Packet Parser: Added support to parse achievement data and specialspellinfo
+Zcoretri: Added support for text replacement in spell fade messages.
+
+==1/22/2010:
+Scatman: Implemented group buff support.
+
+==1/20/2010:
+Scatman: Groundspawns should once again be working properly.
+Scatman/JA: Added 'Collecting' as a valid groundspawn harvesting type.
+Zcoretri: Added support for text replacement in spell success messages.
+
+==1/19/2010:
+Zcoretri: Fixed spell effect, success and fade message colors to match live.
+
+==1/16/2010: (dev revision 1000!)
+JohnAdams: DB: Committed Minor Version 226 - all FK work completed (for now)
+JohnAdams: Fixed DB query in code looking for `titles` table, which is now named `character_titles`
+Scatman: You can now use '/spawn create' and '/spawn add new' with signs and groundspawns.
+Scatman: Guilds now use the custom value tables in the database to assign starting permissions, event filters, etc.
+
+==1/12/2010:
+Zcoretri: Start implementation of languages
+
+==01/11/2010:
+Scatman: A whole bunch of guild fixes/modifications.
+Scatman: Added guild GM commands /guilds create|delete|add|remove|list.
+Scatman: Modified world to use the new `character_social` table for characters' friends and ignore lists.
+JohnAdams: DB: Pushed out InnoDB changes to World database, cleaned up some unused tables from download (Minor Version 137)
+JohnAdams: DB: Modified guild_ranks_defaults to store default permission sets for ranks (Minor Version 138)
+
+==01/10/2010:
+Scatman: Guilds!
+
+==1/9/2010:
+Zcoretri: Fixed WS_AdventureList struct due to struct changes
+Zcoretri: Added Titles and Language structs
+Zcoretri: Packet parser updates
+
+==12/21/2009:
+Image: MiniLogin defined in the Login source for convenience - better to keep them together since db changes.
+
+==12/16/2009:
+Scatman: Spawns that are aggro to you but are also gray con will no longer have a red outline around their name.
+Scatman: The hate meter will now show your percentage of hate towards the spawn you are fighting.
+Scatman: Added in proper messaging when a spawn leashes.
+LethalEncounter: Fixed a crash related to MutexMaps.
+
+==12/15/2009:
+LethalEncounter: Fixed a crash related to DataStructs.
+
+==12/14/2009:
+Zcoretri: Fixed typo in WS_WaypointSelect struct
+
+==12/13/2009:
+LethalEncounter: Fixed a problem submitted by bolly about npc moving speed.
+LethalEncounter: Fixed a problem submitted by bolly about groundspawns command list display.
+LethalEncounter: Fixed a crashbug with the test command.
+Scatman: Added LUA function Attack(NPC, Player).
+
+==12/12/2009:
+LethalEncounter: Made quite a few changes to the MutexList/Map code to hopefully fix the crash bugs that were left.
+LethalEncounter: Character class changes will now be saved to the database.
+Scatman: Mobs that are aggro to you will no longer try to attack you if you're invulnerable.
+Scatman: You will no longer be spammed by the drowning message if you're invulnerable and are drowning.
+Scatman: If you do choose not to cheat death by drowning via /invulnerable, you should no longer die in less than a milisecond. You'll take damage every 2 seconds now as intended.
+
+==12/09/2009:
+Scatman: Fixed a bug not letting players equip ranged weapons.
+
+==12/07/2009:
+Scatman: Fixed a bug with /kick not allowing higher status players to kick lower status players.
+
+==12/06/2009:
+LethalEncounter: Fixed a bug with the CastSpell LUA function.
+LethalEncounter: Possible crash fix for MutexLists.
+LethalEncounter: Added spell bonuses.
+LethalEncounter: Fixed some issues with combat.
+LethalEncounter: Made some changes to the LUA logging system.
+
+==12/05/2009:
+LethalEncounter: Fixed a bug submitted by bolly where the power and health values would be swapped after a character database update.
+
+==12/01/2009:
+Scatman: Fixed a bug with my previous code change dealing with harvesting groundspawns.
+
+==11/29/2009:
+LethalEncounter: Added ability for the Login server to display the custom zone name from the player's World server.
+
+==11/23/2009:
+Scatman: You can no longer cast hostile spells on spawns that are not attackable.  Also added in some additional checks.
+
+==11/22/2009:
+LethalEncounter: Fixed a bug where the bought message was not being displayed correctly for 0 cp items.
+LethalEncounter: Fixed the bug where bought/quest bags where showing up as Opened and would delete all your items if you deleted it in this state.
+LethalEncounter: Fixed a bug that was causing players to get sent to 0, 0, 0 when zoning in.
+LethalEncounter: Fixed soga display issues as well as beards.  Be sure to update your CommonStructs.xml file.
+Scatman: Fixed a bug allowing you to equip items even if your level was too low.
+Scatman: Signs that allow you to zone will now take into account the sign_distance before zoning you. Using 0 won't put a restriction on it.
+
+==11/21/2009:
+LethalEncounter: Changed the update query to a replace query when setting the spawn group chances.
+LethalEncounter: Fixed a 0 delay bug that was causing spawn loops to fail.
+
+==11/20/2009:
+Bolly: Added LUA function AddSpellBookEntry(Spawn, SpellID, SpellTier).
+Bolly: Added LUA function HasFreeSlot(Spawn).
+Bolly: Fixed a bug when quests were completed before the client was saved, causing the completed quest to never be saved.
+Scatman: Fixed an issue with saving and loading quests.
+Scatman: Initial player inspecting.
+
+==11/15/2009:
+LethalEncounter: Fixed a few combat related issues.  NPC placement seems to be off a bit, but it will be fixed soon.
+
+==11/1/2009:
+LethalEncounter: Fixed problem with spawn group associations not spawning correctly.
+
+==10/19/2009:
+Scatman: LUA function RemoveItem will now consider whether or not the item is stackable.
+Scatman: LUA function OfferQuest now lets you offer a quest with no quest giver.  Use nil.
+Zcoretri: PacketParser: Added new version of SpecialSpellInfo struct.
+
+==10/18/2009:
+Scatman: Server statistcs should now work properly again.
+Scatman: Null check crash fix with tracking if the struct wasn't found. =/
+Scatman: Added LUA function AddPrimaryEntityCommand(Player, Spawn, CommandName, [Distance], [Command], [ErrorText], [CastTime], [SpellVisual]).  If not Command is specified, it will default to CommandText.  If not distance is specified it will default to 10.  Other values will default to 0.  Note: Only the player who's passed into the command will see the new entity command on the spawn. 
+Zcoretri: PacketParser: Added ability to parse character titles.
+Zcoretri: PacketParser: sql db updates for raw_spells and raw_spell_visuals tables.
+
+==10/17/2009:
+LethalEncounter: Fixed (hopefully) last desync issue.  Will know for sure after more extensive testing.
+Scatman: Implemented tracking.  You can type /track to begin for now.  Thanks to Zcoretri for help with the packets.
+Scatman: Implemented LUA function ToggleTracking(Player).
+Scatman: Implemented /distance.  Tells you the distance between you and your target.
+
+==10/16/2009:
+Scatman: More mail enhancements.
+
+==10/15/2009:
+Scatman: You can now use items. The LUA function used(Item, Player) will be called in the item's item script when used is clicked. To make an item usable, set the `used` field in the `items` table to 1.
+Scatman: Implemented /weaponstats.
+Scatman: Implemented mail.  Give your mailboxes the 'Check Mail' entity command.
+Scatman: Implemented /reload mail.
+JohnAdams: Bumped minor version to 72 for table updates.
+		Note: I cannot compile x64 version at this time, so it is not updated.
+Scatman: Fixed an issue where widgets, signs, and groundspawns could not use commands.
+Scatman: Using an entity command on a spawn will now use the proper text when casting it.
+
+==10/12/2009:
+LethalEncounter: Fixed a 64 bit issue that was causing an infinite loop.
+
+==10/11/2009:
+LethalEncounter: Crash fixes, warning fixes, VS 2008 upgrade.
+LethalEncounter: Checked in a 64 bit version of the emu.
+LethalEncounter: MutexList changes so they delete any pending data when they are destroyed.
+LethalEncounter: Fixed client crash bug.
+
+==10/10/2009:
+Zcoretri: Parser: Group several functions to parse spells and related data under the -spells switch.
+Zcoretri: Modified WS_HearCastSpell struct. Changed spell_visual from int32 to int16.
+
+==10/09/2009:
+LethalEncounter: Made some fixes for linux compiles.
+Scatman: Added LUA function GetTarget(Entity).
+
+==10/08/2009:
+LethalEncounter: Made some fixes to the new container system and added the ability to delay the deletion of data inside a container.
+
+==10/06/2009:
+Scatman: Widgets now use the new entity command handle use.
+
+==10/05/2009:
+Scatman: Added /merchant list [merchant description].
+Scatman: Added /appearance list [appearance name].
+Scatman: Added 'sub_title' to /spawn set.
+LethalEncounter: Converted combat to new container system.
+LethalEncounter: Made some fixes to the new container system.
+
+==10/04/2009:
+LethalEncounter: Started a major overhaul to the storage and useage of the object containers. They are now all thread safe which allows us to stop using the readlock/writelock support which could lead to deadlocks.
+Zcoretri: Parser: Updated structs for OP_TraitsList and OP_AdventureList to version 996.
+Zcoretri: Parser: Fixed bug in getting difficulty for NPC spawns.
+LethalEncounter: Fixed quest struct.
+LethalEncounter: Started fixing some compile time warnings.	
+
+==10/03/2009:
+JohnAdams: Parser: Fixed bug in spawn -populate command, and updated Parser DB.sql to version 996 opcodes
+
+==10/02/2009:
+Scatman: Implemented starting details. Use the starting_details table to determine a race/class combo's starting stats.
+
+==10/01/2009:
+Scatman: Fixed a grammatical error when fishing that Bolly pointed out.
+Scatman: Fixed a bug related to repairing equipped armor thanks again to Bolly.
+Scatman: Added a few more stat updates (# harvested items, # rares harvested, highest melee/magical/falling damages, total wealth).
+Scatman: Added /entity_command list [name].
+Scatman: Added /reload factions.
+
+==09/30/2009:
+Scatman: Put in a formula to calculate repair costs using the item's level and tier.
+
+==09/29/2009:
+Scatman: You will now be notified when equipping broken armor.
+Scatman: Fixed a bug with merchants offering their repair services.
+
+==09/28/2009:
+Scatman: Implemented repairing.  Add 16 to merchant_type in spawns if you want your merchant to offer a repair service.  Repair costs are based off sell_price of the item for now.
+
+==09/27/2009:
+LethalEncounter: Fixed Collector to work with the latest client.
+LethalEncounter: Updated the opcodes and structs to work with the latest client.
+LethalEncounter: Make some tweaks to the network code and fixed a major memory leak.
+Scatman: Spawns once again called the healthchanged LUA function with the new combat revamp.
+
+==09/26/2009:
+Scatman: Added LUA function IsInCombat(Entity)
+Scatman: LUA function SummonItem now takes bool parameter, SummonItem(Player, Item, DisplayMessages).  If DisplayMessages is true(1), text and a popup message will display on the client's screen just like live.
+Scatman: LUA function RemoveItem now returns true or false.
+
+==09/25/2009:
+Scatman: Fixed a bug which allowed you to interact with spawns even if the spawn was not targetable.
+Scatman: Modified spawns to allow multiple required quests steps for a given quest. For each step, just call the LUA function SetRequiredQuest(Spawn, QuestID, QuestStepID).
+Scatman: Changed the name of the LUA function StartItemConversation to StartDialogConversation. This is because the 'dialog' conversations can be started from either a spawn or an item. To handle this, the StartDialogConversation function takes an extra parameter 'type'. Type 1 means you're passing a spawn in and type 2 means you're passing an item in.
+         StartDialogConversation(Conversation, Type (1 or 2), (Spawn or Item), Player, text, mp3, key1, key2) where mp3, key1, and key2 are optional.
+Scatman: Using SetRequiredQuest will now take into account if you have multiple steps open under a single taskgroup.
+
+==09/24/2009:
+Scatman: Interacting with spawns is now done differently. You no longer need a spell to match the entity command. All you need is the entity command (with the expanded entity_command table) and to give that spawn the entity command of course.
+Scatman: Added safe_heading functionality to the zones table.
+Scatman: Added /reload entity_commands.
+Scatman: Hailing NPCs will no longer display the chat bubble over your head like on live.
+
+--09/20/2009:
+LethalEncounter: Fixed a few issues with combat.
+LethalEncounter: Hopefully fixed a spell crash bug.
+Zcoretri: Added support to PacketParser to get Alternate Acheivement information.
+
+--09/19/2009:
+JohnAdams: Fixed bug in Items::CheckClass() for items with class = 0 (no restrictions)
+
+==09/13/2009:
+LethalEncounter: Fixed spawn display problem.
+LethalEncounter: Made some changes to the Spell Process code to improve reliability.
+LethalEncounter: Each zone will have it's own Combat thread to increase performance and reliability.
+Zcoretri: Fixed bug in packetparser not getting spell level
+
+==09/07/2009:
+LethalEncounter: Added Item Script functionality.
+
+==09/06/2009:
+LethalEncounter: Rewrote much of the code that handles loading and using the appearance data that is stored the database.
+LethalEncounter: Reorganized some Entity-only data elements into the Entity class to avoid wasting resources whenever an object, sign, etc is created.
+LethalEncounter: Fixed the display of spells, it now properly tracks when a spell re-use timer is up and which spell is queued.
+LethalEncounter: Fixed a couple of crash bugs in spell processing.
+LethalEncounter: Preventative fix in the LUA code that should prevent a possible crash based on the current spell.
+
+==09/03/2009:
+Scatman: Fixed a crash bug related to casting a self/group buff with no target.
+Scatman: Added /randomize command.  This will allow your NPCs to spawn with randomly generated features everytime it spawns (hair, race, gender, colors, etc).  Type /randomize in game for more information.
+LethalEncounter: Fixed a bug with npc skills not being loaded.
+
+==09/02/2009:
+LethalEncounter: Checked in revamped combat system.  The system needs to be tuned and has a few flaws that need fixing, but it offers quite a few benefits to the old system.  The highlights are NPCs can now cast, use weapons, and they can use/increase their skills.
+LethalEncounter: Added adjustable agro range.
+LethalEncounter: Lots of other changes that I can't remember :P
+
+==08/29/2009:
+Scatman: Added LUA function GetSpawnByGroupID.
+Scatman: Added LUA function GetSpawnByLocationID.
+Scatman: Added LUA function SetServerControlFlag (moonjumps, flymode, etc =) )
+Scatman: Fixed LUA function GetSpawnID to return the proper ID.
+Scatman: Reorganized /spawn details.
+Scatman: Fixed a minor issue in /zone set regarding the zone motd.
+
+==08/21/2009:
+Scatman: /zone details crash fix.
+Zcoretri: SpawnStruct.xml fix.
+Zcoretri: Modified World for HearCastSpell packet. 
+
+==08/18/2009:
+Scatman: Added /zone set [zone id|zone name] [attribute] [value].  It will change it in the database and change it in memory if the zone is running.
+Scatman: Added /zone details [zone id|zone name].
+
+==08/17/2009:
+JohnAdams: Attempting to fix incorrect ToggleCharacterOnline() disconnect placement
+JohnAdams: Bump to Minor Version for DB updates - restoring item_details_skills table
+
+==08/16/2009:
+Secrets: (JA) Fixed bug with Friends list reporting player logins when they zone
+Secrets: (JA) Also fixed bug with ACCEPTED_CONNECTIONS server stat for the same reason
+Zcoretri: Minor bug fixes to spells/achievements parsing. Disabled Quest parsing per JA
+Zcoretri: Modified WS_HearCastSpell struct, resolved unknown5 and unknown6
+
+==08/14/2009:
+Zcoretri: Added support to PacketParser to parse Points Of Interest locations
+Zcoretri: Added support to PacketParser to parse spell info from the character development and achievements window
+
+==08/10/2009:
+JohnAdams: Fixed bug where max_hp/max_power update values were swapped
+JohnAdams: Cleaned up PacketParser folder, moving xml's to old_files folder
+Scatman: Put in the proper drowning messaging.
+Scatman: Added /skill [add|remove|list] [skill name] command.
+
+==08/07/2009:
+Scatman: Implemented faction rewards for quests.
+Scatman: Made some int to signed int changes in WorldStructs to reflect the faction rewards.
+Scatman: Coin rewards for quests will now default to 0 if you do not specify a value for it.  NPCs couldn't afford the 150 platinum pieces (or whatever random number was in memory) as a reward for quests :P
+Scatman: Prereq level for quests will now default to 1 if you do not specify a value for it.
+
+==08/06/2009:
+Image: More instancing code implemented, some did not make the multiple merges I had to break through.
+
+==08/02/2009:
+Scatman: Added the appropriate error messages when equipping an item which you cannot equip.
+Scatman: Ranged items now load properly.
+Scatman: Fixed a bug when loading item's skill_req1 which was using the wrong field in the database, making most items unequippable.
+
+==07/26/2009:
+Zcoretri: Added duration_flag field so spell examine window now shows Duration: Until Canceled when flag is set
+JohnAdams: Added spawn_group_id field to raw_spawns to help link spawn points to spawn groups.
+LethalEncounter: Made quite a few parser changes to parse previously unknown values.
+LethalEncounter: Added lock traceback support to MPlayerItems in World.
+
+==07/25/2009:
+JohnAdams: Fixed broken SpellInfo struct for version 954.
+Scatman: Added LUA function GetGender.
+
+==07/24/2009:
+LethalEncounter: Added support for latest live client.
+LethalEncounter: Fixed spawn struct problem with heroic flag.
+LethalEncounter: Fixed mouse over problem with spells.
+LethalEncounter: Got spells working properly with the latest version.
+JohnAdams: (Parser) Changed raw_items parsing to populate new classes fields only, and not build raw_item_classes table at all
+JohnAdams: (Parser) Changed raw_item_details_skills parsing to populate new classes fields only, and not build raw_item_skill_classes table at all
+JohnAdams: (Parser) Changed how -populate tracks populate_spawn_id, now in raw_spawns vs raw_spawn_info
+JohnAdams: Corrected typo in "Loading EQ time of day" to say EQ2
+JohnAdams: Moved server STAT defines from Player.h to World.h
+
+==07/23/2009:
+Zcoretri: Added support to packetparser to be able to parse AA spells
+
+==07/21/2009:
+LethalEncounter: Fixed level problem with broker search results.
+LethalEncounter: Fixed display of item base class information.  It was red when the character's class was a subclass of an allowed class.
+LethalEncounter: Changed the way that item classes were stored and sent to the client.  Thanks to JA's idea, we store the item classes in a single field in the db now instead of the 750,000+ entries in another table!
+LethalEncounter: Fixed the display of shields in /itemsearch.
+LethalEncounter: Made some misc broker fixes.
+
+==07/18/2009:
+Scatman: Made the changes for loading quests as discussed on the forum.  All of the quest init() process is now stored in the database.
+JohnAdams: (Parser) Re-wrote -loaditems routines to be more efficient
+JohnAdams: Committed new Parser DB.sql with latest (973) DB changes by LE
+
+==07/11/2009:
+LethalEncounter: Modified factions to only display increase/descrease messages if the value actually changes.
+LethalEncounter: Fixed a crash bug with regen.
+LethalEncounter: Fixed a deadlock issue with quests.
+
+==07/04/2009:
+JohnAdams: Renamed zones.zone_script field to zones.lua_script for consistency (Minor Version 43)
+
+==07/02/2009:
+JohnAdams: Commited new Parser DB.sql, w/Zcoretri's new fields
+JohnAdams: Added parse counts for factions and collections parsing Bion added a while ago
+JohnAdams: Added default `respawn` value of 300 (rather than change table default and cause another minor version). This way, manually inserted spawns still have the default 3600, but parsed spawns respawn in 300 seconds.
+JohnAdams: Changed PacketParser.exe -populate tables to new spawn_location* structure
+
+==06/30/2009:
+LethalEncounter: Fixed a crash bug caused by player's spawns.
+LethalEncounter: Fixed a desync issue.
+LethalEncounter: Fixed a few spell display/queueing issues.
+
+==06/29/2009:
+LethalEncounter: Fixed a bug that prevented spawn groups from respawning correctly.
+
+==06/28/2009:
+Scatman: Added the remaining functionality to the activity status flags.
+LethalEncounter: Made changes to allow the server to run more efficiently/faster.
+LethalEncounter: Only players regenerate now, per forum discussion.
+LethalEncounter: Closed quite a few memleaks.
+LethalEncounter: Fixed several crash bugs.
+LethalEncounter: Changed the logging system to use timestamps.
+LethalEncounter: Converted most of the cout statements to use the logging system.
+LethalEncounter: Disabled crash handled for now.
+LethalEncounter: Fixed a combat related bug that caused the player's damage to remain at their previous level's amount.
+LethalEncounter: Fixed a problem with quest updates causing delays.
+LethalEncounter: Fixed a group crash.
+Zcoretri: Made modifications to PacketParser::ProcessSpells function
+
+==06/27/2009:
+Scatman: Some simple unsigned to signed int changes.
+
+==06/26/2009:
+JohnAdams: Added resets for some server stats at world startup to World::init()
+
+==06/21/2009:
+Scatman: Added LUA functions GetSpawnGroupID, GetSpawnLocationID, and GetSpawnLocationPlacementID.
+Scatman: Added LUA function AddVisualStateLoop(spawn, time_to_do_visual, delay_after, visual_state_id). Call these in a spawn's spawn() function. You will need one for every emote.
+LethalEncounter: Made some crash fixes.
+LethalEncounter: Further changes made to the mutex code.
+LethalEncounter: Fixed an error in damage struct.
+LethalEncounter: You will now autoattack when using combat abilities.
+
+==06/20/2009:
+LethalEncounter: Possible Mutex fix.
+LethalEncounter: Fixed the facial hair bug on login server.  Unfortunately this will only work for new character creations.
+LethalEncounter: Updated structs/opcodes for latest client version.
+LethalEncounter: Changed the way spawn updates were being handled to make them faster and more efficient.
+LethalEncounter: Fixed NPCs facing away during combat.
+LethalEncounter: Increased the max spawn chase distance.
+LethalEncounter: Fixed charges not being displayed properly.
+LethalEncounter: Fixed combat not displaying correct names.
+LethalEncounter: Fixed loot window not automatically being dismissed.
+LethalEncounter: Fixed some loot items not being displayed properly.
+LethalEncounter: Fixed loot messages not appearing in the correct window.
+LethalEncounter: Fixed some issues with combat.
+LethalEncounter: Fixed spawns not being removed after the coins were looted.
+LethalEncounter: Added drowning.  Don't stay under water too long!
+
+==06/14/2009:
+LethalEncounter: Fixed a crash bug with /spawn combine.
+LethalEncounter: Fixed a crash bug with /spawn group.
+LethalEncounter: Fixed a login server issue.
+
+==06/13/2009:
+LethalEncounter: Added ability to spawn groups of NPCs.  use the /spawn group command.
+LethalEncounter: Fix for linux compiles :/
+LethalEncounter: Moved the spawn tables to the spawn_location* table names.
+LethalEncounter: Fixed a deadlock issue cause by Mutexes.
+Scatman: Fixed a timing issue when displaying certain pop up messages.
+
+==06/12/2009:
+PaulGH: Update /who to show GM status and other flags.
+PaulGH: Add in flag support. Also add commands to use them ( /lfg /anon /show_cloak etc.).
+PaulGH: Add commands /gm_hide (hide GM status) and gm_invis (invivible to /who).
+
+==06/07/2009
+JohnAdams: Changed server Stats REPLACE to INSERT ON DUPLICATE UPDATE.
+
+==06/06/2009:
+Scatman: Made changes for the quest database changes.
+
+==06/02/2009:
+LethalEncounter: Fixed a bug with the ignore chat code.
+
+==06/01/2009:
+LethalEncounter: Fixed min_level/max_level not being used when creating new NPCs.
+LethalEncounter: Added friend/ignore functionality.
+LethalEncounter: Fixed some issues with player right click menus.
+
+==05/31/2009:
+Scatman: Added level caps. Use variables 'level_cap' and 'level_cap_override_status'.
+Scatman: You can no longer be less than level 1. :)
+
+==05/30/2009:
+Image: Fixed a NULL call in WriteServerStatisticsNeededQueries
+      (new databases with no characters would crash shortly after booting, eventually writing stats).
+
+==05/29/2009:
+LethalEncounter: Fixed a crash bug caused by another crash bug fix :P
+LethalEncounter: Removed some memory leaks.
+LethalEncounter: Removed some pieces of code that weren't being used.
+LethalEncounter: Rewrote some of the spawn code to reduce the memory usage.
+
+==05/26/2009:
+LethalEncounter: *Hopefully* fixed a desync issue that has plagued us since the beginning.
+
+==05/25/2009:
+LethalEncounter: Fixed a few bugs as given on forums.
+LethalEncounter: Added spawn size offset code.
+LethalEncounter: Crash fix with earlier code.
+
+==05/23/2009:
+Scatman: Spawns now call the healthchanged function when they take damage.
+Scatman: Fixed my syntax error with statistics =)
+
+==05/19/2009:
+Scatman: Added LUA function GetRaceName and GetRaceClass.
+Scatman: Added server stats functionality.
+
+==05/17/2009:
+LethalEncounter: Players display a right click menu now.
+LethalEncounter: Players display the LD flag and remain in game for 30 seconds after going LD.
+LethalEncounter: Added initial group support.
+LethalEncounter: Fixed a couple of issues with the cl_* variables.
+LethalEncounter: Fixed a few issues with the group support.
+LethalEncounter: Fixed a deadlock issue with reloading spawns.
+LethalEncounter: Fixed a crash issue with removing clients.
+
+==05/12/2009:
+JohnAdams: Added preliminary STAT_PLAYER_* constants to Player.h for Stats system
+JohnAdams: Added player death counter (untested)
+
+==05/10/2009:
+LethalEncounter: Rewrote the ZoneServer Mutex code (again) as the first rewrite didn't work out as anticipated.
+Scatman: Implemented JohnAdam's stat system.
+
+==05/09/2009:
+JohnAdams: Added characters.online toggle to track when a character is online (1) or offline (0)
+LethalEncounter: Rewrote the ZoneServer Mutex code.
+LethalEncounter: Added Client feature override capability, just add cl_* entries to your variables table.
+LethalEncounter: Fixed a crash bug from Zone not being set for the player until after it was being used by ZoneScripts.
+
+==05/07/2009:
+JohnAdams: Parser: Changed raw_quests table to use 'id' as a PK, and 'quest_id` for quest ID's
+JohnAdams: Parser: Added 'log_file' output to raw_quests table
+JohnAdams: Parser: Updated "Parser DB.sql" with all current sql updates
+LethalEncounter: Fixed some issues with parsing quest items/factions.
+
+==05/05/2009:
+LethalEncounter: Fixed Packet Parser's parse of quests for versions >= 931.
+
+==04/29/2009:
+Bion: Parser: added parsing of books and added another sql table to hold this
+Bion: Struct: added WS_EqShowBook
+
+==04/28/2009:
+LethalEncounter: Updated Emu for the latest client.
+
+==04/26/2009:
+Scatman: Added Zone MOTDs.
+
+==04/25/2009:
+Bion: Parser: added methods for getting collections data use -collections and added raw_collections to sql updates
+Bion: Misc:   added method to get item crc from the item name in misc.cpp
+Bion: Struct: updated WS_CollectionUpdate for 955 and 839(oldest log i could find)
+Scatman: Added GetFactionAmount(Player, FactionID) LUA function.
+
+==04/19/2009:
+LethalEncounter: Added shutdown_timer field to the zones table that allows you to specify how long each zone should remain up (in seconds) before it is shut down.
+LethalEncounter: Modified SetRequiredQuest LUA command so that the same spawn could be used for multiple quests/quest steps.  (Just call the function for each quest/step you want)
+LethalEncounter: Fixed SetRequiredQuest spawns so that they only are interactable when you are on the quest/step.
+LethalEncounter: Added new Merchant system.
+
+==04/13/2009:
+Bion: Parser: added item_type 19 and sql_update for raw_items_details_book.
+Bion: Struct: updated WS_MerchantItemHouse and WS_ItemHouse for version 955 and added WS_MerchantItemBook and WS_ItemBook starting at 955.
+
+==04/12/2009:
+Scatman: LUA function AddHate will now make your opponent attack you if not previously in combat.
+Scatman: Added LUA Function SendPopUpMessage(Spawn, Message, [Color]).  Color defaults to white.  Optionally, you can pass in basic color names to change it.
+
+==04/08/2009:
+Scatman: Fixed a bug with zone scripts.
+
+==04/07/2009:
+Scatman: Added /broadcast and /announce.
+
+==04/05/2009:
+Scatman: Added GetSpawnID(Spawn) LUA function.
+
+==04/03/2009:
+JohnAdams: Parser: Fixed `range` as a column name issue with newer MySQL servers
+JohnAdams: Parser: Removed obsolete items fields from -loaditems
+
+==04/03/2009:
+Scatman: Added SendMessage(Player, Message, [Color]) LUA Function.  Color defaults to white.  Optionally, you can pass in "red" or "yellow" to change it.
+
+==03/29/2009:
+LethalEncounter: Fixed mounts for 4412 client.
+LethalEncounter: Fixed a desync issue caused by the network code.
+LethalEncounter: Fixed a bug with quest bag items.
+LethalEncounter: Fixed spell details not being displayed when you moused over the spell.
+
+==03/27/2009:
+LethalEncounter: Added Mounts :)
+LethalEncounter: Added SetMount, SetMountColor, GetMount, SetAdventureClass, and SetTradeskillClass LUA functions.
+
+==03/22/2009:
+LethalEncounter: Replace /itemsearch with a user interface based on the broker system.
+LethalEncounter: Fixed a bug with zlib deflating.
+
+==03/17/2009:
+Bion/LethalEncounter: Fixed issue with items stats not properly being parsed when the value was negative.
+LethalEncounter: Latest client now works.
+
+==03/11/2009:
+LethalEncounter: Crash bug fix.
+
+==03/10/2009:
+LethalEncounter: Fixed quest display problem.
+
+==03/09/2009:
+Scatman: Fixed a problem when updating a quest step that has more than one quantity.
+
+==03/04/2009:
+LethalEncounter: Added includes for Linux as submitted by bobbydole.  Thanks!
+LethalEncounter: Fixed some error messages in LUA scripts.
+
+==03/03/2009:
+Scatman: Modified AddQuestStepChat to accept a quantity parameter.  AddQuestStepChat(Quest, StepID, StepText, Quantity, TaskGroupText, Icon, ID(s))
+
+==03/02/2009:
+LethalEncounter: Spells now show properly in the effects and maintanance windows.
+LethalEncounter: Fixed some issues with spells not being applied to the right target.
+LethalEncounter: Updated several spell related structs.
+
+==03/01/2009:
+LethalEncounter: Fixed some issues with stacking items.
+LethalEncounter: Fixed merchant hover text opening new examine window.
+LethalEncounter: Fixed coins in player struct.
+LethalEncounter: Added buy/sell merchant text.
+LethalEncounter: Added automatic stacking capability.
+Scatman: Added RemoveItem LUA function.
+
+==02/28/2009:
+LethalEncounter: Fixed a severe crash bug related to some of the reload commands.
+LethalEncounter: Fixed spawngroups issue that was preventing more than 1 entry from being in a spawngroup.
+LethalEncounter: Groundspawns should now respawn correctly.
+LethalEncounter: Added a fix for the GetSpawn command.
+LethalEncounter: Disabled exception handling until we fix a few bugs.
+Zcoretri: Added a few struct changes.
+
+==02/26/2009:
+Scatman: Added /reload zonescripts.
+Scatman: Fixed a bug with SetLocationProximityFunction that was crashing the zone if a client zoned into an x,y,z where a proximity was already set.
+
+==02/25/2009:
+JohnAdams: Added `starting_city` to characters table to preserve the city chosen during character creation
+Scatman: Added LUA function SetLocationProximityFunction(Zone, x, y, z, MaxVariation, InRangeFunction, LeavingRangeFunction).
+
+==02/24/2009: 
+LethalEncounter: Made some tweaks to the spell generation code.
+Scatman: Added Zone Scripts.  Each zone has one script specified in the zones table.  Whenever a player zones into a zone
+         with a zone script, the LUA function "player_entry(Zone, Player)" will be called within the zone's zone script.
+Scatman: The "init_zone_script(Zone)" function will be called within the zone's zone script whenever a zone is loaded.
+
+==02/23/2009: 
+LethalEncounter: Added initial code for giving players spells upon leveling.
+LethalEncounter: Fixed a crash bug with factions.
+LethalEncounter: Fixed a reserved word issue with mysql 5.1 and the patcher.
+
+==02/22/2009: 
+LethalEncounter: Release 0.6.5
+LethalEncounter: Updated Patcher to consolidated server.
+
+==02/21/2009: 
+LethalEncounter: Made changes for the latest client.
+LethalEncounter: Combat stance/combat music now works correctly.
+LethalEncounter: Added support for minidings.
+LethalEncounter: Players should fall down correctly when they die.
+LethalEncounter: Fixed item display of classes.
+LethalEncounter: Enabled item class/level restrictions.
+LethalEncounter: Fixed most item menu commands.
+LethalEncounter: Fixed item effects.
+LethalEncounter: General item fixes.
+
+==02/20/2009:
+JohnAdams: Committed AdnaeDMorte idea of unlimited /who results, enhanced with settings in `variables` table
+Zcoretri: Added 3 toggles to spells for target display (display_spell_tier, friendly_spell, group_spell)
+Zcoretri: Added toggle to display spell tier in examine
+
+OPTIONAL SQL:
+insert into `variables`(`variable_name`,`variable_value`,`comment`) values ( 'max_who_results','10','Maximum number of players to show up in /who commands');
+insert into `variables`(`variable_name`,`variable_value`,`comment`) values ( 'max_who_results_status_override','100','Admin status to override the cap and display all results');
+
+==02/09/2009: 
+LethalEncounter: Modified movement code to allow Widgets and objects to use Movement Loops like NPCs do.
+LethalEncounter: Modified the net code to hopefully provide better stability.
+LethalEncounter: Added invulnerable command.
+LethalEncounter: Fixed /spawn create bug that wouldn't allow you to create spawns in an empty zone.
+LethalEncounter: Fixed a client crash bug on linux.
+LethalEncounter: Update to latest client.
+
+
+==01/29/2009:
+Scatman: LUA functions ModifyHP and ModifyPower now work as intended.
+Scatman: Added ModifyMaxHP and ModifyMaxPower LUA functions.
+
+==01/27/2009:
+Scatman: Emotes no longer display the targeted_message when you have yourself targeted.  It will use the message field as it does on live.
+LethalEncounter: Fixed a crash bug with connections.
+LethalEncounter: Fixed a crash bug in Parser.
+
+==01/26/2009:
+LethalEncounter: Fixed a deadlock crash.
+LethalEncounter: Fixed a client crash I inadvertently added.
+LethalEncounter: Fixed a server crash bug.
+LethalEncounter: Added more exception handling capability.
+
+==01/25/2009:
+LethalEncounter: Fixed a crash bug from a deleted packet stream.
+LethalEncounter: Fixed emote capability.
+LethalEncounter: Added most emote messages.
+LethalEncounter: Fixed ability to specify combat/emote voices.
+
+==01/24/2009:
+LethalEncounter: Fixed a couple of issues with spawn movement.
+LethalEncounter: Fixed bug with health not showing up correctly.
+LethalEncounter: Fixed a couple of crash bugs related to /repop.
+LethalEncounter: Fixed a bug with toggle spells.
+LethalEncounter: Fixed a bug that prevented spawns from falling down when they were dead.
+LethalEncounter: Fixed a bug that would cause your target to be reset on the server side when any spawn was killed.
+
+==01/23/2009:
+LethalEncounter: Made some changes to spells to prevent crashes.
+LethalEncounter: Fixed a deadlock with range spawns.
+LethalEncounter: Added some checks to prevent LUA errors from crashing server.
+LethalEncounter: Fixed bug with using zone id with /zone
+
+==01/21/2009:
+Scatman: Added AddStepProgress(Spawn, QuestID, StepID, ProgressAmount) LUA function.
+Scatman: Added AddQuestStep(Quest, StepID, StepText, Quantity, Percentage, TaskgroupText, Icon).  This step can only be updated via SetStepComplete or AddStepProgress.
+Scatman: When a spell (or command) is cast on a spawn, the "casted_on(NPC, Spawn)" function is called in the target's spawn script.
+
+==01/20/2009:
+Image: Fixed an issue with static zones and new variables from the zones table.
+Image: Uploaded the profiler build.
+Image: Added *base* instance code.
+Image: Modified /zone command to allow /zone active (show list of zones running).
+       Also /zone instance # (Allows you to zone to a specific instance number).
+LethalEncounter: Fixed quite a few crash bugs/deadlocks.
+LethalEncounter: Added some debugging code to catch deadlocks.
+Image: Uploaded a fix that was related to static zones and attempting to use the zone access variables, minstatus and minlevel.  The instance type was also fixed for static zones.
+
+==01/18/2009:
+LethalEncounter: Couple of crash bugs fixed.
+LethalEncounter: Added support for latest client.
+
+==01/17/2009:
+LethalEncounter: Fixed a couple of crash bugs.
+Scatman: Added AddQuestStepSpell(Quest, StepID, StepText, Quantity, Percentage, TaskgroupText, Icon, SpellIDs)
+         This quest step will update whenever one of the Spell IDs is successfully finished casting.
+Scatman: Added GetLevel LUA function.
+
+==01/15/2009:
+Scatman: Added functionality for signs to use commands and spawnscripts from the right-click menu.
+Scatman: Changed AddQuestStepChat, AddQuestStepKill, AddQuestStepObtainItem, and AddQuestStepLocation to take an icon as an additional parameter.  Setting it to 0 will make it so the quest step does not show an icon.
+         AddQuestStepChat(Quest, StepID, StepText, TaskgroupText, Icon, ID)
+         AddQuestStepKill(Quest, StepID, StepText, Quantity, Percentage, TaskgroupText, Icon, IDs)
+         AddQuestStepObtainItem(Quest, StepID, StepText, Quantity, Percentage, TaskgroupText, Icon, IDs)
+         AddQuestStepLocation(Quest, StepID, StepText, Max Varation, TaskgroupText, Icon, x1, y1, z1 ...)
+
+==01/14/2009:
+Scatman: Added UpdateQuestZone LUA function.  Used to update which zone the quest is currently taking place in for quests that take place in more than one zone.
+
+==01/13/2009:
+Scatman: Objects now call the 'death' function within their spawn script when killed.
+
+==01/12/2009:
+Image: Fixed a crash in the new database functions (non-existant characters).
+LethalEncounter: Added respawn timers to non NPC spawns.
+LethalEncounter: Fixed linux compile issue.
+LethalEncounter: Added HandleUse ability for NPCs.
+LethalEncounter: Added ability to call spawn scripts via right click menu.
+
+==01/11/2009:
+LethalEncounter: Fixed SpawnMob LUA function bug.
+LethalEncounter: Rewrote some of the spawn handling code to hopefully be more live-like.
+
+==01/10/2009
+Image: Implemented /giveitem [name] [itemid]
+Image: Implemented /kick [name], /ban [name] [permanent:0/1] and /lock [0/1].
+	- the ban command permanent argument is optional, 1 will set account-wide bans.
+Scatman: Modified AddQuestStepLocation LUA function to accept unlimited number of coordinates.
+         The new function looks like: AddQuestStepLocation(Quest, Quest ID, Step Text, Max Varation, Taskgroup Text, x1, y1, z1 ...)
+
+==01/09/2009:
+LethalEncounter: Fixed /tell bug.
+
+==01/08/2009:
+LethalEncounter: Fixed class/difficulty appearance bugs.
+LethalEncounter: Added "/spawn target radius [radius here]" command to set spawns targetable by a radius.
+
+==01/07/2009:
+LethalEncounter: Memleak fixes.
+
+==01/06/2009:
+LethalEncounter: Fixed /move_spawn command.
+
+==01/03/2009:
+LethalEncounter: Added ability to use in game maps.
+
+==01/02/2009:
+Scatman: Added IsAlive LUA function.
+LethalEncounter: Added /reload spawns command.
+LethalEncounter: Added transport code to allow object transports and location based transports (warp points).
+LethalEncounter: Fixed bug with SpawnMob command.
+LethalEncounter: Renamed teleporter_id to transport_id.
+LethalEncounter: Rewrote some of the /tell code that code have been causing problems.
+LethalEncounter: Found piece of struct that allows NPCs to face the player.
+
+==01/01/2009:
+LethalEncounter: Fixed lifts.
+LethalEncounter: Fixed bug with quests.
+LethalEncounter: Renamed Spawn LUA function to SpawnMob.
+
+==12/31/2008:
+LethalEncounter: Fixed bug with bind location.
+LethalEncounter: Fixed several of the display issues with quests.
+
+==12/30/2008:
+LethalEncounter: Fixed errors in sample quest.
+LethalEncounter: Made changes the way bind_zone and house_zone were stored in the database.
+LethalEncounter: Added LUA commands for handling binding/gating.
+
+==12/29/2008:
+LethalEncounter: Reorganized World structs.
+
+==12/28/2008:
+LethalEncounter: Changes for the latest client.
+
+==12/11/2008:
+LethalEncounter: Modified AddHate to accept negative numbers to allow hate reduction spells.
+LethalEncounter: Made NPCs easier to kill.
+Scatman: Added AddHate LUA function.
+
+==12/10/2008:
+LethalEncounter: Fixed a crash bug from spawn script timers.
+LethalEncounter: Added Despawn, KillSpawnByDistance, and SpawnSet LUA functions.
+Scatman: Added KillSpawn LUA function.
+
+==12/07/2008:
+LethalEncounter: Fixed non interruptable spells being interrupted.
+LethalEncounter: Fixed skill caps.
+
+==12/06/2008:
+LethalEncounter: Several crash fixes thanks to John Adams.
+LethalEncounter: Changed right click spell command to get the player's spell tier to display the correct information.
+LethalEncounter: Checked in initial code for harvesting items from nodes.
+LethalEncounter: Added reload capability for groundspawn items.
+
+==11/24/2008:
+LethalEncounter: Several crash fixes as well as the quest struct fix.  Thanks to John and Wyndal/Marjorie for helping test it!
+
+==11/23/2008:
+LethalEncounter: Added support for both the latest Live client as well as the TSO box client.
+LethalEncounter: Most of the item changes/fixes that are now possible with the current feature set have been completed.
+
+==11/15/2008:
+Image: Made Packet Parser linux compatible.
+
+==11/03/2008:
+LethalEncounter: Added HasPendingLoot, HasPendingLootItem, and GiveLoot LUA functions for the upcoming collection support.
+
+==10/31/2008:
+Image: Fixed a crash in the Login Server, if the version number was not in the opcode manager.
+
+==10/29/2008:
+LethalEncounter: Update server changes for upcoming release.
+
+==10/28/2008:
+LethalEncounter: NPCs engaged in combat will now call the hailed_busy LUA function instead of the hailed function.
+LethalEncounter: Duplicate NPC issue on revive should be fixed.
+LethalEncounter: The radius for the PlayFlavor LUA command is now 30.
+LethalEncounter: Only red, white and grey item colors are now used for merchants.
+
+==10/26/2008
+Image: Zones now have a min_status and min_level variable. (SQL change attachment on BZ)
+	http://bugzilla.emagiware.com/show_bug.cgi?id=1
+Image: Fixed a bug with revive_points being null and crashing the world server.
+Image: Fixed a bug with /spawn set commands setting to players or other NPCs not targetted
+       due to the database id of the targetted npc being 0 and other spawns that are 0. (esp        players).
+
+==10/18/2008:
+LethalEncounter: Added support for the latest client (5166L).
+
+==10/16/2008:
+LethalEncounter: Fixed various camping options.  /camp (charname) works too for switching characters.
+
+==10/13/2008:
+LethalEncounter: Fixed object corpse problem.
+LethalEncounter: Fixed item linking problem.
+LethalEncounter: Added temporary action state (used to suspend action when facing a player).
+LethalEncounter: Added a couple of more quest item updates.
+
+==10/13/2008:
+LethalEncounter: Completed Step 1 of the item revamp.
+			-Complete overhaul of item loading and storage.  Got rid of some obsolete fields and cleaned it up.  Items in the items table are now set with just two fields (bag_id and slot).  Bag_id is 0 for inventory items, otherwise it is the unique id of the bag which it is in.  Bag_id is -3 for bank, -4 for shared bank.
+			-Simplification of the entire items lifecycle.  A lot of the code was way more complex than it needed to be, which led to some of the item issues.
+			-Items will be added to bags first, then inventory if the bag is full (this includes starting_items).
+			-Enhancements/overhaul of the starting_items table - you no longer have to specify the slot as it will automatically assign a slot in the given characters inventory.  It will now properly handle EQUIPPED items as well so you can automatically dress a character upon creation.
+			-Support for banked/shared bank items added.  No need for the character_banks table.
+			-Numerous bug fixes with the core item behavior.
+			-Step 2 will be in a couple of weeks and will focus on the items themselves.
+
+==10/11/2008:
+LethalEncounter: Made John Adam's requested database changes.
+LethalEncounter: Converted race_type to model_type.
+LethalEncounter: Added new AddQuestPrereqModelType LUA funcion.
+LethalEncounter: Fixed crash bug with creating new NPCs as submitted by John Adams.
+LethalEncounter: Fixed crash bug with network connections as submitted by John Adams.
+Jabantiz:	 Changed code to all for visual state suspend after being hailed.
+Jabantiz: 	 Added GetRace LUA function.
+
+==10/07/2008:
+LethalEncounter: Added GetZoneName, GetZoneID, and GetSpawn LUA functions.
+
+==10/06/2008:
+LethalEncounter: Fixed a crash bug with SetPlayerProximityFunction.
+
+==9/20/2008:
+LethalEncounter: Added SetPlayerProximityFunction lua function that calls a specified LUA function when the player enters a given range and optional leaves the given range.
+LethalEncounter: Added initial Merchant code.
+
+==9/19/2008:
+LethalEncounter: Fixed macro skillbar bug as submitted by John.
+LethalEncounter: Fixed item and quest bugs with the 4412 client as submitted by Scatman.
+LethalEncounter: Added lua script option to call after a NPC completes a movement in MovementLoopAdd Lua function.
+LethalEncounter: Added voice option to the StartConversation function.
+LethalEncounter: Added ability for quests to have a multiple rewards to choose from.
+LethalEncounter: Added several new LUA functions for quests.
+LethalEncounter: Fixed some issues with multiple quest items.
+LethalEncounter: Fixed a bug with unsigned values and LUA.
+LethalEncounter: Added QuestStepIsComplete function.
+
+==9/18/2008:
+LethalEncounter: Changed /say chat distance from 500 to 30, as submitted by John Adams.
+LethalEncounter: Changed the radius spawn combine component to only add spawns of the same type as the original spawn, as submitted by John Adams.
+LethalEncounter: Arrow colors will now change when the player changes level, as submitted by John Adams.
+LethalEncounter: Removed my test stuff that I had in the /name command, as submitted by John Adams.
+LethalEncounter: Fixed quest turn in bug, as submitted by Malcolm.
+LethalEncounter: Fixed bug that allowed you to gain xp from killing yourself.
+LethalEncounter: Fixed HP/Power regen bug submitted by Seleandalos and John.
+LethalEncounter: Fixed facial hair bug as submitted by John.
+
+==9/13/2008:
+LethalEncounter: Modified the way that spawn scripts are stored and used.
+		 - You can now specify a spawn script for a specific spawn_id, spawngroup_id, or spawn_entry_id.
+		 - The scripts are now loaded when needed instead of loading all of them at startup.
+		 - You must specify the absolute path to the structs now.  This allows for additional organization.
+LethalEncounter: Added /spawn set commands: spawn_script, spawngroup_script, and spawnentry_script.
+LethalEncounter: Modified quests to take a percentage argument for the Kill and Item steps.
+
+==9/12/2008:
+LethalEncounter: Changed the way that /zone list worked.
+LethalEncounter: Fixed the 'You stop fighting' bug.
+
+==8/31/2008:
+LethalEncounter: Added SetStepComplete function to Quests to take the place an automatic updating hail.
+LethalEncounter: Fixed /reload quests
+LethalEncounter: Fixed a few issues with multithreading.
+LethalEncounter: Fixed a few bugs with the quest system.
+LethalEncounter: Added several new LUA functions for the quest system.
+
+==8/30/2008:
+LethalEncounter: Converted spell system over to the two table spell system that will reduce redundant data considerably.
+LethalEncounter: Changed a few column names for JA.
+LethalEncounter: Added several new LUA commands.
+LethalEncounter: Made quite a few struct changes to reduce redundancy.
+LethalEncounter: Changed the wildcard for the starting tables to 255.
+LethalEncounter: Removed the spawn type parameter requirement on several /spawn commands.
+LethalEncounter: Added several new fields for spells thanks to paulgh.
+LethalEncounter: Fixed a problem with the display of quests.
+LethalEncounter: Fixed the LUA Spawn command.
+LethalEncounter: Added display of book icon if the NPC has a chat quest update.
+
+==8/18/2008:
+LethalEncounter: Fixed sign display problem.
+LethalEncounter: Fixed a couple of bugs with locks.
+
+==8/17/2008:
+LethalEncounter: Added interruptions for spells.
+LethalEncounter: Fixed several bugs with spells that were causing odd behaviors.
+LethalEncounter: Fixed bug with zones not shutting down properly.
+
+==8/16/2008:
+LethalEncounter: Fixed some spawn movement bugs.
+LethalEncounter: Added city zone and always up options to the zones table.  This allows you to boot up a zone without anyone in it.
+
+==8/14/2008:
+LethalEncounter: Fixed some problems with factions.
+LethalEncounter: Fixed some issues with npc attacks.
+LethalEncounter: Fixed a bug locking up the spell que.
+LethalEncounter: Made the quest end spawn default to the quest start spawn.
+LethalEncounter: Fixed a couple of annoying random crashes/glitches caused by corrupted memory pointers.
+LethalEncounter: Improved the NPC attack code.
+
+==8/10/2008:
+LethalEncounter: Added ability for NPCs to attack each other based on factions.
+LethalEncounter: Fixed a few crash errors with /repop, spawn scripts and combat.
+LethalEncounter: Improved the spawn movement process.
+
+
+==8/09/2008:
+LethalEncounter: Added factions.
+LethalEncounter: Fixed a crash bug associated with /spawn combine.
+LethalEncounter: Fixed a bug with conversations.
+LethalEncounter: Made some changes to the way NPC movement worked.
+
+==8/07/2008:
+LethalEncounter: Added /depop, /repop, and /spawn combine commands.
+LethalEncounter: Made some fixes to the parser.
+LethalEncounter: Fixed a couple of bugs with /spawn combine.
+LethalEncounter: Added automatic retargeting of the master spawn when using /spawn combine.
+
+==8/04/2008:
+LethalEncounter: Added AddTimer LUA function.
+LethalEncounter: Fixed a bug with entity commands.
+LethalEncounter: Added ability for spawns to change their heading back to the original heading after 30 seconds.
+
+==8/03/2008:
+LethalEncounter: Added ability to zone with the zone ID.
+LethalEncounter: Fixed a bug that was dropping client connections more often that it should have done.
+LethalEncounter: Made more improvements to the questing system to be more like Live.
+
+==8/02/2008:
+LethalEncounter: Created questing system.  This system is very robust and allows you to use LUA scripts to do just about anything.
+LethalEncounter: Fixed a bug with structs that was preventing substructs from using the correct version.
+
+==7/27/2008:
+LethalEncounter: Fixed a bug with high level spawns being gray cons.
+
+==6/30/2008:
+LethalEncounter: Added /bug command.  It will now forward all bugs to the login server which will save them for future use.
+
+==6/22/2008:
+LethalEncounter: Fixed various item bugs to work with the latest client.
+LethalEncounter: Opcodes/structs updated to work with the latest client.
+LethalEncounter: Version changed to 0.6.
+
+==6/16/2008:
+LethalEncounter: Fixed looting bugs.
+
+==6/15/2008:
+LethalEncounter: Fixed a display problem with looting.
+LethalEncounter: Fixed a bug with Entity right click commands being truncated.
+LethalEncounter: Removed some of the debug print statements being printed out.
+LethalEncounter: Added bank coin fields to the database,
+LethalEncounter: Added initial code for banking both items and coins.  Additional code will be needed to properly handle bags in bank and shared bank.
+
+==6/14/2008:
+LethalEncounter: Added loottables and a loot system.
+LethalEncounter: Added loot commands /loot list, additem, removeitem, setcoin
+LethalEncounter: Remove some old LUA functions.
+LethalEncounter: Fixed some looting issues.
+
+==6/1/2008:
+LethalEncounter: Reworked items to make more logical sense and fixed some issues with them.
+LethalEncounter: Merged all the reload commands into one master /reload command with spells, items, etc being subcommands.
+John Adams: 	 Fixed a bug with min locked status.
+John Adams:	 Added LUA to the include directory listing.
+LethalEncounter: Added spell class table.
+LethalEncounter: Added item_details_skill table.
+
+==5/23/2008:
+LethalEncounter: Got item chat links working properly.
+LethalEncounter: Loot it now working.
+LethalEncounter: Redesigned the way items were being sent.
+LethalEncounter: Updated structs on login for the latest client and updated the opcodes.
+
+==5/05/2008:
+LethalEncounter: Fixed a compile problem on linux.
+
+==5/04/2008:
+LethalEncounter: Added signs and zone points.
+LethalEncounter: Fixed a bug with LUA spell scripts that was appending ".lua" to the end.
+LethalEncounter: Fixed a problem with parser that prevented npc appearances from appearing correctly.
+LethalEncounter: Added zone point collection to the parser.
+LethalEncounter: Reversed soga_eye and soga_skin colors in the structs.
+LethalEncounter: Added /reloadluasystem command that should fix any lua problems if they occur.
+LethalEncounter: Added conversation and voice collection to parser.
+LethalEncounter: Fixed a problem parser was having with certain zones.
+
+==4/27/2008:
+LethalEncounter: Reorganized the spawn code.  Players and NPCs are now subclasses of Entity, which is a new subclass of Spawn.  This is so that we can keep the Entity (combat - enabled) stuff separate from objects, widgets, and signs as they dont need combat support.
+LethalEncounter: Added Entity and Widget classes.  Widgets are things in the zone like doors that can be controlled.
+John Adams/LethalEncounter: Reoganized the spawn database to be more logical and friendly.
+LethalEncounter: Added new option to Parser called -populate that will populate a database with the raw database tables.
+LethalEncounter: Got doors (and other widgets) working properly.
+LethalEncounter: Added ability to play sounds (such as a door opening/closing, etc).
+
+==4/25/2008:
+LethalEncounter: Fixed revives, it will now work correctly.  If a revive point is not set, it will use the zone's safe point.
+LethalEncounter: Added timer for NPCs to run back to their starting location if they kill someone and dont have anyone else to attack.
+LethalEncounter: Fixed a couple of crash bugs with spawns.
+
+==4/24/2008:
+LethalEncounter: Update opcodes and structs to work with the latest live client.
+
+==4/23/2008:
+LethalEncounter: Added SetPosition and removed SetX/SetY/SetZ from lua interface.
+
+==4/21/2008:
+LethalEncounter: Changed the way that spawns are sent/resent once again :P
+LethalEncounter: Fixed a few crash bugs.
+
+==4/20/2008:
+LethalEncounter: Spawns should no longer crash the client.
+LethalEncounter: Added several new LUA functions.
+LethalEncounter: Added spawn scripts to make spawns "come alive".
+LethalEncounter: Rewrote much of the spawn handling code.
+LethalEncounter: Modified some of the combat formulas.
+LethalEncounter: Disabled new spawn grouping code.
+
+==4/13/2008:
+LethalEncounter: Made some additional combat system improvements/bug fixes.
+LethalEncounter: Added code that will respawn dead NPCs given the value in the spawns table.
+LethalEncounter: Added some LUA functions.
+
+==4/09/2008:
+LethalEncounter: Made some combat system improvements/bug fixes.
+
+==4/05/2008:
+LethalEncounter: Fixed a few bugs relating to combat.
+LethalEncounter: Added a spell que system similiar to live just without a few visual features.
+LethalEncounter: Added framework for different spell types.
+LethalEncounter: Changed a considerable amount of the spell code.
+LethalEncounter: Added spell visual effects.
+
+==3/30/2008:
+LethalEncounter: Fixed a crash bug in combat.
+LethalEncounter: Added LUA scripting engine.  If you are compiling this yourself BE SURE TO ADD the LUA directory to your includes and the LUA lib file to your libraries!!!
+LethalEncounter: Changed the spell system to one based on LUA scripts.
+LethalEncounter: Heavily modified the database in regards to spells.
+
+==3/17/2008:
+LethalEncounter: Released 0.5!
+LethalEncounter: Made changes to allow the latest live client.
+LethalEncounter: Fixed a problem with database updates.
+LethalEncounter: Changed `name` in the commands table to `command`.
+
+==3/01/2008:
+LethalEncounter: Fixed display of attack icon for attackable NPCs.
+LethalEncounter: Added some additional set options to /spawn set.
+LethalEncounter: /settime will now update all clients.
+
+==2/29/2008:
+LethalEncounter: Disallowed pvp and combat of dead spawns.
+LethalEncounter: Fixed a crash bug with spawns.
+LethalEncounter: Changed /move_spawn command to allow placement of wall items.
+LethalEncounter: Added /settime command as requested.
+LethalEncounter: Fixed a crash bug if the user got disconnected before the world properly handed the client to the zone server.
+LethalEncounter: Changed /zone command to prevent people from zoning to the same zone they are in.
+LethalEncounter: Removed some of the old obsolete spawn variables.
+LethalEncounter: Made some fixes to client movement that makes it much more like Live.
+LethalEncounter: Fixed a crash caused by the client not being removed properly.
+LethalEncounter: Fixed a client crash bug caused by an invalid spawn radius.
+LethalEncounter: Fixed quickbar updates for macros and spells.
+LethalEncounter: Added several new fields for spawns.
+LethalEncounter: Fixed several of the display problems with spawns.
+LethalEncounter: Added a couple of defines to allow people to easily change the distance spawns are sent or removed.
+LethalEncounter: Fixed a bug with spawns that was preventing some of them from being displayed properly.
+
+==2/23/2008:
+LethalEncounter: Fixed a crash bug/problem with the /goto command.
+LethalEncounter: Fixed a crash bug relating to the new netcode.
+LethalEncounter: Added visual_state, action_state, and mood_state to further customize npcs.  This uses the data in the visual_states table.
+LethalEncounter: Spawn set will now set apply the action to all npcs that use the same database ID.
+LethalEncounter: Fixed a problem with corrupt spawn packets on version 4412.
+LethalEncounter: Fixed size problems that John mentioned.
+LethalEncounter: Fixed linux compiler bug.
+LethalEncounter: Fixed a client crash bug relating to other clients.
+
+==2/23/2008:
+LethalEncounter: Fixed crash problem with version 4412.
+LethalEncounter: Added player macros.
+
+==2/21/2008:
+LethalEncounter: Fixed the problem with getting stuck on loading of UI Resources.
+LethalEncounter: Fixed a large memory leak in World.
+
+==2/20/2008:
+LethalEncounter: Fixed a crash bug in the new network code.
+LethalEncounter: Revamped the entity commands (commands displayed when right clicking a spawn).
+
+==2/19/2008:
+LethalEncounter: Changed quite a bit of the network code.  Client crashes should be very rare now.
+LethalEncounter: Made some fixes for item/stat calculations.
+LethalEncounter: Added additional stat bases.
+LethalEncounter: The /level command will reset xp now.
+LethalEncounter: Added an option to the /spawn remove command that will despawn the mob as well (/spawn remove 1)
+LethalEncounter: Added initial code to support damaging items upon player death.
+LethalEncounter: Reset the CanEquipItem function to always return true so that you can equip any item so matter what the class requirements.  I'll reenable it later on.
+
+
+==2/09/2008:
+LethalEncounter: Fixed client crash bug related to spawn IDs.
+LethalEncounter: Fixed latest client to work with emu.
+LethalEncounter: Renamed executables to EQ2World by request.
+
+==2/02/2008:
+LethalEncounter: Fixed another packet size bug that affect various packets.
+LethalEncounter: Fixed the WS_DeathWindow struct.
+
+==2/02/2008:
+LethalEncounter: Fixed a compiler error on linux.
+LethalEncounter: Modified /move_spawn command to enable a player to move a spawn anywhere they like.
+LethalEncounter: /move_spawn will save the spawn location if it already has a spawn group id.
+LethalEncounter: Fixed a problem with certain client commands.
+
+==1/28/2008:
+LethalEncounter: Fixed a problem with account passwords that would give a bad password if the password was followed by spaces.
+LethalEncounter: Fixed a bug in position updates that was corrupting the first update.
+LethalEncounter: Added /summon and /goto commands.
+LethalEncounter: Made some changes to the way exceptions are handled for zones that should isolate a crash in one zone from affecting other zones. (Unless the crash occurs in the main world thread.)
+
+==1/26/2008:
+LethalEncounter: Fixed the display of locked servers on character select screen.
+LethalEncounter: Fixed a crash bug when saving players.
+LethalEncounter: Fixed the display of spells.
+LethalEncounter: Made a few fixes to the way the exp bar was being displayed.  The yellow/blue bars as well as the yellow/blue vitality indicators were wrong.
+LethalEncounter: Vitality will now be update according to your settings for it in the variables table.  You can specify the amount and how often it is given.
+LethalEncounter: Fixed an overflow problem with Timers.
+LethalEncounter: Fixed a problem with the destroy spawn packet that could crash the client.
+LethalEncounter: Rewrote some of the packet code so that it checked the length after the packet was generated to prevent problems.
+LethalEncounter: Consolidated the remove spawn packet code into one function.
+LethalEncounter: Changed the spawn set location command to not need an argument.
+
+==1/24/2008:
+LethalEncounter: Fixed a bug with automatic updates not updating properly.
+LethalEncounter: Added initial xp code.
+LethalEncounter: Fixed a few structs in character sheet.
+LethalEncounter: Added code to save stats, coins, hp, etc.
+
+==1/23/2008:
+LethalEncounter: Fixed world time functionality.  Clients will now receive the coorect world time when they login and it will update like live.
+LethalEncounter: Modified PacketStructs to be more tolerant of a bad configuration file.  Now it wont use the PacketStruct if the opcode is wrong.
+LethalEncounter: Fixed bug with summoning bags that made them appear open until you relogged.
+LethalEncounter: Fixed bug with spawns that was causing the client to think it was dead since we didnt set the HP when they were /spawned.
+LethalEncounter: Rewrote some of the spawn update code to prevent problems when large indexes and packets are created.
+
+==1/20/2008:
+LethalEncounter: Fixed a crash bug when processing Skill update.
+LethalEncounter: Fixed a crash bug when checking new character names.
+_Andrew: Created code to handle player falls.
+LethalEncounter: Added Safe Fall skill to _Andrews fall code.
+LethalEncounter: Fixed bug that was causing a selection box to appear when logging in for the first timein the latest client.
+LethalEncounter: Fixed much of the spawn code that was causing players to crash.  Crashes should be relatively rare now.
+LethalEncounter: Updated damage structs for all known damage types.
+LethalEncounter: Rewrote damage functions to take advantage of the new structs.
+LethalEncounter: Changed fall code to display correct message when the client is damaged.
+LethalEncounter: Moved some files that were previously in the common directory to the world directory.
+LethalEncounter: Fixed bugs that were causing spawn updates to be sent right after an NPC was spawned.
+LethalEncounter: Damage packets will now only be sent to players within a range of 30'.
+LethalEncounter: Updates skill code to properly send skill updates to the client.
+LethalEncounter: Fixed /move that was broken in the last update.
+LethalEncounter: Changed Spawn code to use per player indexes like Live instead of global indexes when sending spawns.
+LethalEncounter: OP_MapFogDataUpdateMsg falls will now be ignored by default to get rid of some of the spam in the console window.  It will eventually be handled.
+LethalEncounter: Arrow colors will now be applied to all attackable mobs.  Non-attackable mobs will be white.
+
+==1/14/2008:
+LethalEncounter: Applied patch that Andrew created.  This fixes many of the warnings generated on linux compiles.
+LethalEncounter: Applied bug fix sent in by Andrew that fixed a compilation problem with linux.
+Diamente: Added syntax displays for EQ2 client commands.
+Diamente: Fixed a bug when attempting to /kill without a target.
+
+==1/13/2008:
+LethalEncounter: Added code for checking skill raises.
+LethalEncounter: Fixed a bug when loading large int values from the database.
+LethalEncounter: Modified and added quite a few skills that will be set when a character is created.
+LethalEncounter: Update World Patcher for multiple databases.
+
+==1/9/2008:
+LethalEncounter: Changed color of servers running in debug mode to yellow on character creation server list.
+LethalEncounter: Removed the version from the server names on character select.
+LethalEncounter: Updates will now occur before anything else is loaded as world starts.
+LethalEncounter: Added ability to limit update downloads if users abuse it.
+LethalEncounter: Removed versions 0.1 to 0.3 from the valid versions list.
+LethalEncounter: Modified LoginServer.ini file for patcher.  BE SURE TO UPDATE YOUR LOGINSERVER.INI FILE!!
+
+==1/7/2008:
+Diamente: Updated WorldStructs so that /quit and /camp function correctly again.
+
+==1/6/2008:
+LethalEncounter: Created new Skill classes to handle skills.  Converted existing code to use the classes.
+LethalEncounter: Fixed a crash bug with items.
+LethalEncounter: Reverted the order in which commands were sent to that of yesterday.  Some clients seem to be having problems with it.
+
+
+==1/5/2008:
+LethalEncounter: Updated most of the opcodes to be correct.
+LethalEncounter: Fixed a crash bug when loading opcodes.
+LethalEncounter: Fixed a crash bug when using the /who command.
+LethalEncounter: Fixed a few of the old incorrect opcodes referenced in the code.
+LethalEncounter: Items that you summon will now be saved on your character even after you log off.
+
+==1/4/2008:
+LethalEncounter: Revamped item code to make them easier to read and use.
+Diamente: Made some updates to SendPlayerDeathWindow() and WS_DeathWindow
+
+==1/3/2008:
+Diamente: Fixed shameless error in previously SVN'ed content.
+Diamente: Added methods for retrieving revive locations from db and (properly) displaying them as junction choices in the death window
+Diamente: Updated player death functions; fixed death window; updated WS_DeathWindow struct
+Diamente: Added command: /kill.  Those so inclined may indeed kill themselves by targetting themselves OR by using /kill self
+
+==1/2/2008:
+LethalEncounter: Converted chat to use PacketStructs.
+LethalEncounter: Changed /ooc to be global.
+LethalEncounter: Made some fixes to items.
+Diamente: Updated /quit to ensure player saving before disconnecting.
+
+==1/1/2008:
+Diamente: Tweaked HP regen so that players who die stay dead until reviving. (Guess I need to implement reviving now...)
+Diamente: Made small changes to the appearance of the server loading status messages for readability
+Diamente: Fixed /camp; implemented /quit. 
+Diamente: Added WS_RequestCamp as well as initial version of WS_DeathWindow to World Structs.
+
+==12/31/2007
+LethalEncounter: Added /spawn details command.
+LethalEncounter: Added several more /spawn set values.
+
+==12/30/2007
+LethalEncounter: Added /spawn target command.
+LethalEncounter: Fixed spawn commands.
+LethalEncounter: Made some changes to the way world stats were calculated.
+LethalEncounter: Updated several opcodes.
+LethalEncounter: Update /sit and /stand to use opcodes like live.
+
+==12/29/2007
+Diamente: Fixed crash bug related to spawn death in combat.
+
+==12/27/2007
+LethalEncounter: Fixed crash bug relating to failed database updates.
+LethalEncounter: Made a few changes to the way that packets were being processed and compressed.
+LethalEncounter: Fixed a bug on login that was causing clients to hang.
+LethalEncounter: Implemented several spawn sub commands as mentioned on forums.
+LethalEncounter: Updated some opcodes that were incorrect.
+Diamente: Fixed issue with abandoning camp.
+
+==12/26/2007
+Diamente: Fixed bug related to automatic zone shutdowns.
+Diamente: Added commands: sit and stand.
+Diamente: Added visuals to /level command; added WS_UpdateText struct to WorldStructs for client message displays.
+
+==12/14/2007
+LethalEncounter: Updated GPL licensing information to v3.
+
+==12/07/2007
+LethalEncounter: Finally fixed stuck on loading entities bug.
+LethalEncounter: Added /version command.
+LethalEncounter: Made several bug fixes for spawns.
+LethalEncounter: Implemented /who command.  The lfg, lfw, and roleplay flags won't be implemented until we start using them.
+LethalEncounter: Fixed several packet related crashes/issues.
+LethalEncounter: Fixed packet issue where future synced packets would cause client to become desynced.
+
+==12/02/2007
+LethalEncounter: Changed the way zones were loaded and saved from the characters table.  It now uses the zone name instead of the zone file.  You can also give zones shorter names for the /zone command.  Be sure to use _ instead of a space in the name though.
+LethalEncounter: Made some changes to the way packets were generated and handled that should make the emu more stable and efficient.
+LethalEncounter: Fixed char creation struct that was causing a problem.  Be sure that you update your CommonStructs.xml file!
+
+==11/27/2007
+LethalEncounter: Fixed a bug with packets that were just a tad bit smaller than those that would be compressed.
+
+==11/26/2007
+LethalEncounter: Added some initial support functions for spawn commands.
+LethalEncounter: Added /who command.
+
+==11/19/2007
+LethalEncounter: Fixed all the memory leaks in the code. (there were A LOT)
+LethalEncounter: World will now display a title indicating the number of clients/zones when running on windows.
+LethalEncounter: Fixed several crash bugs related to the multiversion implementation.
+LethalEncounter: Updated structs for the new live client.
+LethalEncounter: The emu will now be able to support more than one client version at a time again.  The versions supported are 4523L, 4427L, and 4412.
+LethalEncounter: Login wont let you connect with an invalid version anymore.
+LethalEncounter: Fixed some misc bugs with login.
+LethalEncounter: Mostly fixed the bug where you hang on Loading Entities on Login server.  It still happens occasionally, but not often.
+LethalEncounter: Login will now allow you to create a Sarnak if you are using versions 4412 or 4427.
+LethalEncounter: Zones will automatically shut down after 5 minutes without a client.
+LethalEncounter: Fixed some bugs with PacketStructs.
+
+==11/14/2007
+LethalEncounter: Character Select will now correctly display a World server's version.
+
+==11/12/2007
+LethalEncounter: Added Starting tables for automatically updating tables for new characters.  Information like zones, items, etc.  
+			See http://eq2emulator.net/forums/viewtopic.php?p=1692#1692 for more details.
+
+==11/11/2007
+LethalEncounter: Fixed a bug with the sprint spell that was allowing the client to run at 40% even after they removed the effect.
+LethalEncounter: Added character_spells table.  The spells in knowledge book are created from this table.
+LethalEncounter: Added hot bar feature by dragging spells from knowledge book to any hotbar.
+LethalEncounter: Added save feature to hotbars that will save their order. (Saves to DB every 60 seconds if hotbars are updated)
+LethalEncounter: Fixed several issues with spells, hotbars, and knowledge book.
+LethalEncounter: Fixed delete problem on Login.
+LethalEncounter: Increase max number of characters that can be created on Login to 10.
+LethalEncounter: Fixed display of zonename on character select.
+LethalEncounter: Added zone update that will send your new zone name to Login for displaying on character select when you /zone.
+LethalEncounter: Now saves your level correctly after you use /level.
+LethalEncounter: Found and set expansion information field.
+
+
+==11/08/2007
+LethalEncounter: Fixed some crash problems with VS .Net 2005.
+
+==11/07/2007
+LethalEncounter: Only sends spawns to the player if they are in the proximity of the spawn.
+LethalEncounter: Removes the spawn from the player's list once the player moves far enough away.
+LethalEncounter: Fixed bug with /spawn that wasnt assigning a new spawn id.
+LethalEncounter: Added /speed command.
+LethalEncounter: Fixed a few bugs with the proximity code.
+
+
+==11/03/2007
+LethalEncounter: Fixed a crash bug with long zone names.
+LethalEncounter: If a player doesnt inclue coordinates when using /spawn it will default to the player's coordinates.
+LethalEncounter: Fixed motd, it will now correctly load from database.
+LethalEncounter: Fixed bug with combat that allowed you to attack yourself.
+
+==10/26/2007
+LethalEncounter: Fixed bug that would cause clients to crash each other from movement.
+LethalEncounter: Fixed a bug that should cause the client to ignore movement updates after a few minutes.
+LethalEncounter: Made a few changes to packets that should improve performance a bit.
+LethalEncounter: Fixed a bug from spawn updates that would crash client when it spawned.
+LethalEncounter: Fixed a crash bug from sending updates too soon as a client is logging onto the server.
+LethalEncounter: Found a few more flags for items.
+
+==10/24/2007
+Cadimiom: /itemsearch added, can specify a search string up to 256 characters (include spacing),
+	  can also specify max search results after that (just a number).  Ex. /itemsearch rough ruby 5
+	  Max results for an admin is set to 20, crashes the client if any more are sent.
+
+==10/21/2007
+Cadimiom: Added two variables: maxplayers and mingamefullstatus these are checks with the login
+	  server when a character attempts to play their character.
+
+==10/19/2007
+Cadimiom: Login Server now records world server statistics in the database for future website use.
+
+==10/16/2007
+Cadimiom: Login Server now keeps track of worlds in two variables, a map and a list.
+	  The list holds worlds which have not yet been authorized (have ID's set)
+	  The map holds the worlds which have been authorized.
+Cadimiom: Users will no longer get stuck with forced disconnect trying to create a character.
+Cadimiom: Fixed bugs with how VisualStates and Variables in the World Server were handled in maps.
+
+==10/15/2007
+Cadimiom: World Servers can now be locked and use a database variable to set minimum status.
+Cadimiom: Updated the Login Server to handle world's admin_status for banned/suspended accounts.
+	  (All receive the same reply right now, but it restricts logging to the world).
+
+==10/14/2007
+Cadimiom: If a client tries to login to an invalid world or does not receive a response within
+	  5 seconds from a world server, it now receives a response to reset the character screen.
+Cadimiom: World servers that are not connected are no longer listed on the LoginServer.
+Cadimiom: Characters from world servers that are not connected should no longer appear.
+Cadimiom: Login Server now has the updated reason codes for character creation.
+Cadimiom: World Server's Name Filter now checks appropriate max lengths for characters name.
+Cadimiom: World Server will now receive updates of Login Character Deletions if it is connected.
+LethalEncounter: Fixed crash bug when spawning objects.
+LethalEncounter: Made some adjustments to player position updates that should reduce the amount of crashes produced.
+LethalEncounter: Fixed a few crash bugs relating to logging in and out.
+LethalEncounter: Fixed a few code bugs for linux compilations.
+
+==10/13/2007
+LethalEncounter: Updated world to allow multiple clients to zone in and see each other (as well as chat).
+LethalEncounter: Fixed the basics of movement updates for clients.  It will appear a bit wierd and choppy right now.
+LethalEncounter: Fixed a few things that were broken in the last patch.
+
+==10/08/2007
+LethalEncounter: Updated to live.
+
+==10/07/2007
+LethalEncounter: Created basic combat system.  It is rather simple right now, but will be built upon in the future to develop a more robust system.
+LethalEncounter: Fixed camping.
+LethalEncounter: Fixed a crash few bugs relating to spawns.
+LethalEncounter: Combined spawn updates/char sheet updates to reduce bandwidth.
+LethalEncounter: Reworked some of the Spawn and zone functions to be easier to use.
+LethalEncounter: Added disable exp command.
+LethalEncounter: Fixed several opcodes associated with camping.
+
+
+==09/23/2007
+LethalEncounter: Revamped spawns to be more consistent with the rest of the code.
+LethalEncounter: Fixed spawn struct problems and discovered the purpose of much of the unknowns.
+LethalEncounter: Added equipment appearance table for mobs that will allow people to customize mobs without giving them actual weapons and armor.
+LethalEncounter: Removed all World SQL tables from svn to prevent people from trying to source them.  Just connect to login and it will create/update your db.
+
+==09/19/2007
+Cadimiom: Fixed VisualStates in Release Build, bogus characters were being passed.
+LethalEncounter: Fixed some character colors on character select screen.
+LethalEncounter: Fixed some minor issues with logging into World that could crash server.
+LethalEncounter: Fixed opcodes and structs that allows us to run with the latest client.  Be sure to update to live.
+
+==09/17/2007
+Cadimiom: Fixed a buffer overrun exploit in TCPConnection with inflated packets.
+Cadimiom: Clients no longer make a server list packet on login unless an update
+	  has occured to a world.
+Cadimiom: The LS now receives updates of /race,/class and /level.
+Cadimiom: The LS and World use the character id retrieved from the world on
+	  creation (opposed to name).
+
+==09/16/2007
+LethalEncounter: You can now summon items with the /summon command.
+LethalEncounter: Implemented item movement from bags to inventory and vice versa.
+LethalEncounter: Implemented equipping items.
+LethalEncounter: Implemented unequipping items.
+LethalEncounter: Add limited support for item stat calculations when equipping.
+LethalEncounter: Add /reloaditems command.
+LethalEncounter: Completely redesigned items and their associated tables.
+LethalEncounter: Made some bug fixes to max hp/regen code.
+LethalEncounter: Imported over 12,000 items into db.
+LethalEncounter: Made some bug fixes to item loading, reducing the loading time considerably.
+
+==08/29/2007
+Cadimiom: Fixed an exploit with packets sent to the LS without authentication.
+
+==08/28/2007
+LethalEncounter: Got spell requirements working.  Now it will check to verify that an effect should be fired.
+
+==08/27/2007
+LethalEncounter: Added player and mob Regen.  Formula still needs to be tweeked, but they will regen correctly every 6 seconds.
+LethalEncounter: Added some stuff for spell requirements.
+
+==08/26/2007
+LethalEncounter: Made a few bug fixes to the spell code.
+LethalEncounter: Update character profile struct with regens.
+LethalEncounter: Changed Login to display a world as down if a world isnt connected.
+LethalEncounter: Updated spell tables with some additional fields.
+LethalEncounter: Made some improvements to PacketStructs.
+LethalEncounter: Implemented spell casting system.  It was designed to be flexible enough for NPC spell casting in the future.
+LethalEncounter: Added functions for interrupting spells.
+LethalEncounter: Got first working spell in emu created. (Sprint)
+LethalEncounter: Cleaned up alot of the code in regards to Player.
+LethalEncounter: Added functions for Spawn updates.
+LethalEncounter: Fixed spawn updates.
+LethalEncounter: Fixed player updates.
+LethalEncounter: Fixed /race, /class, /level commands.
+LethalEncounter: /spawn command should work correctly again.
+LethalEncounter: Discovered several more of the unknowns in character profile.
+
+
+==08/22/2007
+Cadimiom: Eliminated hash collissions in the VisualStates, plus additional memory reduction.
+
+==08/21/2007
+Cadimiom: /animtest can now use the name column in visual_states
+(ex. '/animtest cast_dustpuff' works just like '/animtest 145')
+Cadimiom: The majority of gestures are now available through a visual_states hash table.  Not all gestures seem to be in visual_states yet (/laugh for example) and every gesture needs a message applied to it.
+DBUpdate: alter table visual_states add column message varchar(128) not null default '';
+
+==08/19/2007
+LethalEncounter: Added character_skillbar table.
+LethalEncounter: The character_skillbar table is used to specify which spells are added to the skillbar when logging in.
+LethalEncounter: Added packet to allow world to read spell information from db and send it to client for above.
+
+==08/18/2007
+Cadimiom: Created an /animtest command to test the variety of gestures/spell effects on a player.
+Ritojo: Updated most zones with their descriptions and safe coordinates.
+LethalEncounter: Added spells, spell_effects, spell_effect_types, spell_effect_values, and spell_visual_effects tables to database.
+LethalEncounter: World now loads spells from database and will display the spells correctly when viewed in game.
+
+==08/15/2007
+ferthala: Updated position struct and got it working correctly.  Also added new opcode for it.
+LethalEncounter: Added Spell class for future spell functions.
+LethalEncounter: Updated the new spell struct.
+LethalEncounter: Fixed a small bug in automatic updates.
+
+==08/13/2007
+Cadimiom: Removed two packets (GhostControlClose and OP_UpdateClientPredFlagsMsg) from zoning
+	  they were not needed.
+Cadimiom: Cleaned up ClientPacketFunctions of un-used packets.
+Cadimiom: ZoneServers have been threaded for their process to make sure one zone cannot
+	  consume the entire process.
+
+==08/11/2007
+LethalEncounter: Cleaned up some of the code related to sending packets to client.
+LethalEncounter: Added /move command to transport people around the zone.  Usage: /move x y z
+LethalEncounter: Added structs for UpdateSpellBook and UpdateInventory and created the methods for them to be sent when logging in.
+LethalEncounter: Fixed annoying crash loop on login that occured if the client crashed. (Previously required player to remove all logs files from eq2 directory)
+Cadimiom: Fixed a crash in the World Server ClientList Process (NULL ref crashes).
+Cadimiom: Updated ZoneAuthRequest and Client to support firstLogin, used to specify
+	  packets or other messages that need to be only sent on world login (ex. MOTD).
+Cadimiom: There is now a database-driven Variables external class.  It's first use is for
+	  handling the world MOTD in the database.  Hard-coded MOTD will be used otherwise.
+	  The new table is available in the SQL Files, World Directory "variables.sql"
+
+==08/10/2007
+LethalEncounter:  Fixed a few login bugs.
+
+==08/09/2007
+LethalEncounter:  Created skill packet necessary to update client with their available skills.
+LethalEncounter:  Updated database tables for skills.
+Cadimiom: The /zone command is now functional again, this required a few changes:
+	  1) Save character now saves the zone name to current_zone instead of zone.
+	  2) Following opcodes need to be sourced into the database:
+	update opcodes set opcode=76 where name='OP_ReadyToZoneMsg';
+	update opcodes set opcode=70 where name='OP_ChangeZoneMsg';
+	update opcodes set opcode=74 where name='OP_AddGroupToGroupMsg';
+	  3) I have noticed some zones do not work properly
+		(befallen and boat_freeport for examples) and may get stuck in there.
+
+==08/07/2007
+LethalEncounter:  Improvements to PacketStruct to make it faster/more efficient.
+LethalEncounter:  Overhauled the character stats table (now called character_details) and made quite a few changes.  Character Sheet packet will use the values from this table.
+Cadimiom: After a character is created, the Login Server now reloads the login character list.
+	  This solves the problem with crashing after creating a new character.
+
+==08/06/2007
+LethalEncounter:  Added wing and hair types to spawn struct.
+LethalEncounter:  Updated character sheet packet for latest client.
+
+==08/05/2007
+LethalEncounter:  Updated Spawn Struct.  Now loading and sending character information from database.
+LethalEncounter:  Fixed several errors in PacketStructs that were causing corrupted data.
+LethalEncounter:  Added Print function to PacketStruct to print out debug information.
+LethalEncounter:  Update make file to compile on linux.
+LethalEncounter:  World will now load characters by name instead of ID so that the ids between world and login dont have to stay synced.
+LethalEncounter:  Updated to work with latest client.
+LethalEncounter:  Converted SetPOVGhostCmd and SetControlGhostCmd to use dynamic structs.
+
+==08/03/2007
+LethalEncounter:  Rewrote a lot of the xml packet struct code.  Streamlined it a little, but mainly to add in the ability to have packet arrays built into the structs.
+LethalEncounter:  Updated ZoneInfo struct.
+
+==07/30/2007
+LethalEncounter:  Found the last packet needed to login to World! :)
+Cadimiom: Command serialization updated for live (packet size is now sent as 4 bytes)
+Cadimiom: Chat structure updated for live ( OP_EqHearChatCmd is now Opcode 474 )
+
+==07/29/2007
+Cadimiom: Hardcoded an ability and quick bar initialization packets for world login.
+Cadimiom: Dynamic structures added for CommandName and CommandMOTD.
+
+==07/28/2007
+Cadimiom: WorldStructs.xml added to Config Files/World Structs, must be added to the build folder.
+Cadimiom: Cleaned up code in LoginServer.cpp cases: ServerOP_CharacterCreate, 	  ServerOP_CharTimeStamp, ServerOP_UsertoWorldReq.
+Cadimiom: Added LS_LoginReply to WorldStructs.xml, Dynamic structures through configReader
+	  can now be used in ClientPacketFunctions.
+LethalEncounter:  Fixed character deletion on character select screen.
+LethalEncounter:  New Character creation checks with world before it creates any new characters.
+LethalEncounter:  Character selection works like live.  New characters will display just as you made them.
+LethalEncounter:  Converted LoginByNumRequest packet to use xml structs.
+
+==07/26/2007
+LethalEncounter:  Restarted project :)

BIN
EQ2/docs/Client_Versions.xlsx


+ 14 - 0
EQ2/docs/Notes about World.sln.txt

@@ -0,0 +1,14 @@
+2010-03-20:
+==========
+JohnAdams: 
+
+	World.sln now writes all it's intermediate build information to a sub-folder of ./World
+
+	The $(OutDir) is configured for ./trunk/bin/(build type)
+
+	There is a Post-Build event that copies the output exe back to ./Trunk/bin for easy access
+
+	There is a Pre-Compile event that deletes that copied EXE before building again, to avoid confusion on bad compiles
+
+
+	Please be sure you use an ignore-on-commmit for any of the intermediary or output files, we do not want build junk on SVN

+ 474 - 0
EQ2/docs/Opcodes_List_2005.txt

@@ -0,0 +1,474 @@
+Xinux found this post on redguides - http://www.redguides.com/forums/showthread.php/5141-eq2-current-offsets
+
+In case it ever comes in handy :)
+
+
+#opcode 0 is actually Login Request, hack because of dynamic opcode lists
+OP_Unknown=0x0000
+#Login opcodes
+OP_LoginRequestMsg=0xF001
+OP_LoginByNumRequestMsg=0x0001
+OP_WSLoginRequestMsg=0x0002
+OP_ESLoginRequestMsg=0x0003
+OP_LoginReplyMsg=0x0004
+OP_WSStatusReplyMsg=0x0005
+OP_WorldStatusChangeMsg=0x0006
+OP_AllWSDescRequestMsg=0x0007
+OP_WorldListMsg=0x0008
+OP_AllCharactersDescRequestMsg=0x0009
+OP_AllCharactersDescReplyMsg=0x000A
+OP_CreateCharacterRequestMsg=0x000B
+OP_CreateCharacterReplyMsg=0x000C
+OP_WSCreateCharacterRequestMsg=0x000D
+OP_WSCreateCharacterReplyMsg=0x000E
+OP_ReskinCharacterRequestMsg=0x000F
+OP_DeleteCharacterRequestMsg=0x0010
+OP_DeleteCharacterReplyMsg=0x0011
+OP_PlayCharacterRequestMsg=0x0012
+OP_PlayCharacterReplyMsg=0x0013
+OP_ServerPlayCharacterRequestMsg=0x0014
+OP_ServerPlayCharacterReplyMsg=0x0015
+OP_ESInitMsg=0x0016
+OP_ESReadyForClientsMsg=0x0017
+OP_CreateZoneInstanceMsg=0x0018
+OP_ZoneInstanceCreateReplyMsg=0x0019
+OP_ZoneInstanceDestroyedMsg=0x001A
+OP_ExpectClientAsCharacterRequest=0x001B
+OP_ExpectClientAsCharacterReplyMs=0x001C
+OP_ZoneInfoMsg=0x001D
+OP_DoneLoadingZoneResourcesMsg=0x001E
+OP_DoneSendingInitialEntitiesMsg=0x001F
+OP_DoneLoadingEntityResourcesMsg=0x0020
+OP_PredictionUpdateMsg=0x0021
+OP_SetRemoteCmdsMsg=0x0022
+OP_RemoteCmdMsg=0x0023
+OP_GameWorldTimeMsg=0x0024
+OP_MOTDMsg=0x0025
+OP_ZoneMOTDMsg=0x0026
+OP_AvatarCreatedMsg=0x0027
+OP_AvatarDestroyedMsg=0x0028
+OP_RequestCampMsg=0x0029
+OP_CampStartedMsg=0x002A
+OP_CampAbortedMsg=0x002B
+OP_WhoQueryRequestMsg=0x002C
+OP_WhoQueryReplyMsg=0x002D
+OP_MonitorReplyMsg=0x002E
+OP_MonitorCharacterListMsg=0x002F
+OP_MonitorCharacterListRequestMsg=0x0030
+OP_ClientCmdMsg=0x0031
+OP_DispatchClientCmdMsg=0x0032
+OP_DispatchESMsg=0x0033
+OP_UpdateTargetMsg=0x0034
+OP_UpdateTargetLocMsg=0x0035
+OP_UpdateCharacterSheetMsg=0x0036
+OP_UpdateSpellBookMsg=0x0037
+OP_UpdateInventoryMsg=0x0039
+OP_UpdateRecipeBookMsg=0x003A
+OP_RequestRecipeDetailsMsg=0x003B
+OP_RecipeDetailsMsg=0x003C
+OP_UpdateSkillBookMsg=0x003D
+OP_UpdateSkillsMsg=0x003E
+OP_UpdateOpportunityMsg=0x003F
+OP_ChangeZoneMsg=0x0041
+OP_ClientTeleportRequestMsg=0x0042
+OP_TeleportWithinZoneMsg=0x0043
+OP_TeleportWithinZoneNoReloadMsg=0x0044
+OP_MigrateClientToZoneRequestMsg=0x0045
+OP_MigrateClientToZoneReplyMsg=0x0046
+OP_ReadyToZoneMsg=0x0047
+OP_AddClientToGroupMsg=0x0048
+OP_AddGroupToGroupMsg=0x0049
+OP_RemoveClientFromGroupMsg=0x004A
+OP_RemoveGroupFromGroupMsg=0x004B
+OP_MakeGroupLeaderMsg=0x004C
+OP_GroupCreatedMsg=0x004D
+OP_GroupDestroyedMsg=0x004E
+OP_GroupMemberAddedMsg=0x004F
+OP_GroupMemberRemovedMsg=0x0050
+OP_GroupRemovedFromGroupMsg=0x0051
+OP_GroupLeaderChangedMsg=0x0052
+OP_GroupResendOOZDataMsg=0x0053
+OP_GroupSettingsChangedMsg=0x0054
+OP_OutOfZoneMemberDataMsg=0x0055
+OP_SendLatestRequestMsg=0x0056
+OP_ClearDataMsg=0x0057
+OP_SetSocialMsg=0x0058
+OP_ESStatusMsg=0x0059
+OP_ESZoneInstanceStatusMsg=0x005A
+OP_ZonesStatusRequestMsg=0x005B
+OP_ZonesStatusMsg=0x005C
+OP_ESWeatherRequestMsg=0x005D
+OP_ESWeatherRequestEndMsg=0x005E
+OP_WSWeatherUpdateMsg=0x005F
+OP_DialogSelectMsg=0x0060
+OP_DialogCloseMsg=0x0061
+OP_RemoveSpellEffectMsg=0x0062
+OP_RemoveConcentrationMsg=0x0063
+OP_QuestJournalOpenMsg=0x0064
+OP_QuestJournalInspectMsg=0x0065
+OP_QuestJournalSetVisibleMsg=0x0066
+OP_QuestJournalWaypointMsg=0x0067
+OP_CreateGuildRequestMsg=0x0068
+OP_CreateGuildReplyMsg=0x0069
+OP_GuildsayMsg=0x006A
+OP_GuildKickMsg=0x006B
+OP_GuildUpdateMsg=0x006C
+OP_DeleteGuildMsg=0x006D
+OP_FellowshipExpMsg=0x006E
+OP_ConsignmentCloseStoreMsg=0x006F
+OP_ConsignItemRequestMsg=0x0070
+OP_ConsignItemResponseMsg=0x0071
+OP_PurchaseConsignmentRequestMsg=0x0072
+OP_PurchaseConsignmentResponseMsg=0x0073
+OP_ProcessScriptMsg=0x0074
+OP_ProcessWorkspaceMsg=0x0075
+OP_HouseDeletedRemotelyMsg=0x0076
+OP_UpdateHouseDataMsg=0x0077
+OP_UpdateHouseAccessDataMsg=0x0078
+OP_PlayerHouseBaseScreenMsg=0x0079
+OP_PlayerHousePurchaseScreenMsg=0x007A
+OP_PlayerHouseAccessUpdateMsg=0x007B
+OP_PlayerHouseDisplayStatusMsg=0x007C
+OP_PlayerHouseCloseUIMsg=0x007D
+OP_BuyPlayerHouseMsg=0x007E
+OP_BuyPlayerHouseTintMsg=0x007F
+OP_CollectAllHouseItemsMsg=0x0080
+OP_RelinquishHouseMsg=0x0081
+OP_EnterHouseMsg=0x0082
+OP_ExitHouseMsg=0x0083
+OP_HouseDefaultAccessSetMsg=0x0084
+OP_HouseAccessSetMsg=0x0085
+OP_HouseAccessRemoveMsg=0x0086
+OP_PayHouseUpkeepMsg=0x0087
+OP_MoveableObjectPlacementCriteri=0x0088
+OP_EnterMoveObjectModeMsg=0x0089
+OP_PositionMoveableObject=0x008A
+OP_CancelMoveObjectModeMsg=0x008B
+OP_ShaderCustomizationMsg=0x008C
+OP_ReplaceableSubMeshesMsg=0x008D
+OP_HouseCustomizationScreenMsg=0x008E
+OP_CustomizationPurchaseRequestMs=0x008F
+OP_CustomizationSetRequestMsg=0x0090
+OP_CustomizationReplyMsg=0x0091
+OP_TintWidgetsMsg=0x0092
+OP_ExamineConsignmentRequestMsg=0x0093
+OP_ExamineConsignmentResponseMsg=0x0094
+OP_UISettingsResponseMsg=0x0095
+OP_UIResetMsg=0x0096
+OP_KeymapLoadMsg=0x0097
+OP_KeymapNoneMsg=0x0098
+OP_KeymapDataMsg=0x0099
+OP_KeymapSaveMsg=0x009A
+OP_DispatchSpellCmdMsg=0x009B
+OP_EntityVerbsRequestMsg=0x009D
+OP_EntityVerbsReplyMsg=0x009E
+OP_EntityVerbsVerbMsg=0x009F
+OP_ChatRelationshipUpdateMsg=0x00A0
+OP_LootItemsRequestMsg=0x00A1
+OP_StoppedLootingMsg=0x00A2
+OP_SitMsg=0x00A3
+OP_StandMsg=0x00A4
+OP_SatMsg=0x00A5
+OP_StoodMsg=0x00A6
+OP_ExamineItemRequestMsg=0x00A7
+OP_DefaultGroupOptionsRequestMsg=0x00A8
+OP_DefaultGroupOptionsMsg=0x00A9
+OP_GroupOptionsMsg=0x00AA
+OP_DisplayGroupOptionsScreenMsg=0x00AB
+OP_DisplayInnVisitScreenMsg=0x00AC
+OP_DumpSchedulerMsg=0x00AD
+OP_LSRequestPlayerDescMsg=0x00AE
+OP_LSCheckAcctLockMsg=0x00AF
+OP_WSAcctLockStatusMsg=0x00B0
+OP_RequestHelpRepathMsg=0x00B1
+OP_RequestTargetLocMsg=0x00B2
+OP_UpdateMotdMsg=0x00B3
+OP_PerformPlayerKnockbackMsg=0x00B4
+OP_PerformCameraShakeMsg=0x00B5
+OP_PopulateSkillMapsMsg=0x00B6
+OP_CancelledFeignMsg=0x00B7
+OP_SignalMsg=0x00B8
+OP_ShowCreateFromRecipeUIMsg=0x00B9
+OP_CancelCreateFromRecipeMsg=0x00BA
+OP_BeginItemCreationMsg=0x00BB
+OP_StopItemCreationMsg=0x00BC
+OP_ShowItemCreationProcessUIMsg=0x00BD
+OP_UpdateItemCreationProcessUIMsg=0x00BE
+OP_DisplayTSEventReactionMsg=0x00BF
+OP_ShowRecipeBookMsg=0x00C0
+OP_KnowledgebaseRequestMsg=0x00C1
+OP_KnowledgebaseResponseMsg=0x00C2
+OP_CSTicketHeaderRequestMsg=0x00C3
+OP_CSTicketInfoMsg=0x00C4
+OP_CSTicketCommentRequestMsg=0x00C5
+OP_CSTicketCommentResponseMsg=0x00C6
+OP_CSTicketCreateMsg=0x00C7
+OP_CSTicketAddCommentMsg=0x00C8
+OP_CSTicketDeleteMsg=0x00C9
+OP_CSTicketChangeNotificationMsg=0x00CA
+OP_WorldDataUpdateMsg=0x00CB
+OP_KnownLanguagesMsg=0x00CC
+OP_LsRequestClientCrashLogMsg=0x00CD
+OP_LsClientBaselogReplyMsg=0x00CE
+OP_LsClientCrashlogReplyMsg=0x00CF
+OP_LsClientAlertlogReplyMsg=0x00D0
+OP_LsClientVerifylogReplyMsg=0x00D1
+OP_ClientTeleportToLocationMsg=0x00D2
+OP_UpdateClientPredFlagsMsg=0x00D3
+OP_ChangeServerControlFlagMsg=0x00D4
+OP_CSToolsRequestMsg=0x00D5
+OP_CSToolsResponseMsg=0x00D6
+OP_AddSocialStructureStandingMsg=0x00D7
+OP_CreateBoatTransportsMsg=0x00D8
+OP_PositionBoatTransportMsg=0x00D9
+OP_MigrateBoatTransportMsg=0x00DA
+OP_MigrateBoatTransportReplyMsg=0x00DB
+OP_DisplayDebugNLLPointsMsg=0x00DC
+OP_ExamineInfoRequestMsg=0x00DD
+OP_QuickbarInitMsg=0x00DE
+OP_QuickbarUpdateMsg=0x00DF
+OP_MacroInitMsg=0x00E0
+OP_MacroUpdateMsg=0x00E1
+OP_QuestionnaireMsg=0x00E2
+OP_LevelChangedMsg=0x00E3
+OP_SpellGainedMsg=0x00E4
+OP_EncounterBrokenMsg=0x00E5
+OP_OnscreenMsgMsg=0x00E6
+OP_DisplayWarningMsg=0x00E7
+OP_ModifyGuildMsg=0x00E8
+OP_GuildEventMsg=0x00E9
+OP_GuildEventAddMsg=0x00EA
+OP_GuildEventActionMsg=0x00EB
+OP_GuildEventListMsg=0x00EC
+OP_RequestGuildEventDetailsMsg=0x00ED
+OP_GuildEventDetailsMsg=0x00EE
+OP_RequestGuildInfoMsg=0x00EF
+OP_RewardPackMsg=0x00F0
+OP_RenameGuildMsg=0x00F1
+OP_ZoneToFriendRequestMsg=0x00F2
+OP_ZoneToFriendReplyMsg=0x00F3
+OP_ChatCreateChannelMsg=0x00F4
+OP_ChatJoinChannelMsg=0x00F5
+OP_ChatWhoChannelMsg=0x00F6
+OP_ChatLeaveChannelMsg=0x00F7
+OP_ChatTellChannelMsg=0x00F8
+OP_ChatTellUserMsg=0x00F9
+OP_ChatToggleFriendMsg=0x00FA
+OP_ChatToggleIgnoreMsg=0x00FB
+OP_ChatSendFriendsMsg=0x00FC
+OP_ChatSendIgnoresMsg=0x00FD
+OP_ChatFiltersMsg=0x00FE
+OP_MailGetHeadersMsg=0x00FF
+OP_MailGetMessageMsg=0x0100
+OP_MailSendMessageMsg=0x0101
+OP_MailDeleteMessageMsg=0x0102
+OP_MailGetHeadersReplyMsg=0x0103
+OP_MailGetMessageReplyMsg=0x0104
+OP_MailSendMessageReplyMsg=0x0105
+OP_MailCommitSendMessageMsg=0x0106
+OP_MailSendSystemMessageMsg=0x0107
+OP_MailRemoveAttachFromMailMsg=0x0108
+OP_WaypointRequestMsg=0x0109
+OP_WaypointReplyMsg=0x010A
+OP_WaypointSelectMsg=0x010B
+OP_WaypointUpdateMsg=0x010C
+OP_CharNameChangedMsg=0x010D
+OP_ShowZoneTeleporterDestinations=0x010E
+OP_SelectZoneTeleporterDestinatio=0x010F
+OP_ReloadLocalizedTxtMsg=0x0110
+OP_RequestGuildMembershipMsg=0x0111
+OP_GuildMembershipResponseMsg=0x0112
+OP_LeaveGuildNotifyMsg=0x0113
+OP_JoinGuildNotifyMsg=0x0114
+OP_AvatarUpdateMsg=0x0115
+OP_BioUpdateMsg=0x0116
+OP_InspectPlayerMsg=0x0117
+OP_WSServerLockMsg=0x0118
+OP_LSServerLockMsg=0x0119
+OP_WSServerHideMsg=0x011A
+OP_CsCategoryRequestMsg=0x011B
+OP_CsCategoryResponseMsg=0x011C
+OP_KnowledgeWindowSlotMappingMsg=0x011D
+OP_LFGUpdateMsg=0x011E
+OP_AFKUpdateMsg=0x011F
+OP_AnonUpdateMsg=0x0120
+OP_UpdateActivePublicZonesMsg=0x0121
+OP_UnknownNpcMsg=0x0122
+OP_PromoFlagsDetailsMsg=0x0123
+OP_ConsignViewCreateMsg=0x0124
+OP_ConsignViewGetPageMsg=0x0125
+OP_ConsignViewReleaseMsg=0x0126
+OP_ConsignRemoveItemsMsg=0x0127
+OP_UpdateDebugRadiiMsg=0x0128
+OP_SnoopMsg=0x0129
+OP_ReportMsg=0x012A
+OP_UpdateRaidMsg=0x012B
+OP_UpdateArenaMsg=0x012C
+OP_ConsignViewSortMsg=0x012D
+OP_TitleUpdateMsg=0x012E
+OP_ClientFellMsg=0x012F
+OP_ClientInDeathRegionMsg=0x0130
+OP_CampClientMsg=0x0131
+OP_CSToolAccessResponseMsg=0x0132
+OP_GetAvatarAccessRequestForCSToo=0x0133
+OP_TrackingUpdateMsg=0x0134
+OP_BeginTrackingMsg=0x0135
+OP_StopTrackingMsg=0x0136
+OP_AdvancementRequestMsg=0x0137
+OP_UpdateAvgFrameTimeMsg=0x0138
+OP_MapFogDataInitMsg=0x0139
+OP_MapFogDataUpdateMsg=0x013A
+OP_CloseGroupInviteWindowMsg=0x013B
+OP_UpdateGroupMemberDataMsg=0x013C
+OP_WorldPingMsg=0x013D
+OP_MoveLogUpdateMsg=0x013E
+OP_OfferQuestMsg=0x013F
+OP_WorldShutdownUpdateMsg=0x0140
+OP_DisplayMailScreenMsg=0x0141
+OP_ClientIdleBeginMsg=0x0142
+OP_ClientIdleEndMsg=0x0143
+OP_PurchaseConsignmentLoreCheckRe=0x0144
+OP_NotifyApprenticeStoppedMentori=0x0145
+OP_CorruptedClientMsg=0x0146
+OP_WorldDataChangeMsg=0x0147
+OP_MailEventNotificationMsg=0x0148
+OP_RestartZoneMsg=0x0149
+OP_FlightPathsMsg=0x014A
+OP_CharacterLinkdeadMsg=0x014B
+OP_CharTransferStartRequestMsg=0x014C
+OP_CharTransferStartReplyMsg=0x014D
+OP_CharTransferRequestMsg=0x014E
+OP_CharTransferReplyMsg=0x014F
+OP_CharTransferRollbackRequestMsg=0x0150
+OP_CharTransferCommitRequestMsg=0x0151
+OP_CharTransferRollbackReplyMsg=0x0152
+OP_CharTransferCommitReplyMsg=0x0153
+OP_GetCharacterSerializedRequestM=0x0154
+OP_GetCharacterSerializedReplyMsg=0x0155
+OP_CreateCharFromCBBRequestMsg=0x0156
+OP_CreateCharFromCBBReplyMsg=0x0157
+OP_HousingDataChangedMsg=0x0158
+OP_HousingRestoreMsg=0x0159
+OP_AuctionItem=0x015A
+OP_AuctionItemReply=0x015B
+OP_AuctionCoin=0x015C
+OP_AuctionCoinReply=0x015D
+OP_AuctionCharacter=0x015E
+OP_AuctionCharacterReply=0x015F
+OP_AuctionCommitMsg=0x0160
+OP_AuctionAbortMsg=0x0161
+OP_CharTransferValidateRequestMsg=0x0162
+OP_CharTransferValidateReplyMsg=0x0163
+OP_RaceRestrictionMsg=0x0164
+OP_SetInstanceDisplayNameMsg=0x0165
+OP_GetAuctionAssetIDMsg=0x0166
+OP_GetAuctionAssetIDReplyMsg=0x0167
+OP_ResendWorldChannelsMsg=0x0168
+OP_DisplayExchangeScreenMsg=0x0169
+OP_AuditAuctionEventMsg=0x016A
+OP_ArenaGameTypesMsg=0x016B
+OP_ArenaListMsg=0x016C
+OP_ArenaSettingsMsg=0x016D
+OP_ArenaZoneListMsg=0x016E
+OP_ArenaResponseMsg=0x016F
+OP_ArenaActionMsg=0x0170
+OP_ArenaParamsMsg=0x0171
+OP_ArenaInstanceReadyMsg=0x0172
+OP_ArenaCreateMsg=0x0173
+OP_ArenaJoinRequestMsg=0x0174
+OP_ArenaMatchStateMsg=0x0175
+OP_ArenaMatchStateUpdateMsg=0x0176
+OP_ArenaJoinTeamRequestMsg=0x0177
+OP_ArenaChampionDetailsMsg=0x0178
+OP_ArenaChampionListMsg=0x0179
+OP_ArenaSetChampionRequestMsg=0x017A
+OP_ArenaPlayerReadyMsg=0x017B
+OP_ArenaLeaveRequestMsg=0x017C
+OP_ArenaZoneRequestMsg=0x017D
+OP_ArenaOpenArenaRequestMsg=0x017E
+OP_ArenaCloseArenaRequestMsg=0x017F
+OP_InviteRequestMsg=0x0180
+OP_InviteResponseMsg=0x0181
+OP_InviteTargetResponseMsg=0x0182
+OP_InspectPlayerRequestMsg=0x0183
+OP_DispatchMsg=0x0184
+
+OP_EqHearChatCmd=0x0185
+OP_EqDisplayTextCmd=0x0186
+OP_EqCreateGhostCmd=0x0187
+OP_EqCreateWidgetCmd=0x0188
+OP_EqCreateSignWidgetCmd=0x0189
+OP_EqDestroyGhostCmd=0x018A
+OP_EqUpdateGhostCmd=0x018B
+OP_EqSetControlGhostCmd=0x018C
+OP_EqSetPOVGhostCmd=0x018D
+OP_EqHearCombatCmd=0x018E
+OP_EqHearSpellCastCmd=0x018F
+OP_EqHearSpellInterruptCmd=0x0190
+OP_EqHearSpellFizzleCmd=0x0191
+OP_EqHearConsiderCmd=0x0192
+OP_EqUpdateSubClassesCmd=0x0193
+OP_EqCreateListBoxCmd=0x0194
+OP_EqSetDebugPathPointsCmd=0x0195
+OP_EqCannedEmoteCmd=0x0196
+OP_EqStateCmd=0x0197
+OP_EqPlaySoundCmd=0x0198
+OP_EqPlaySound3DCmd=0x0199
+OP_EqPlayVoiceCmd=0x019A
+OP_EqHearDrowningCmd=0x019B
+OP_EqHearDeathCmd=0x019C
+OP_EqGroupMemberRemovedCmd=0x019D
+OP_EqHearChainEffectCmd=0x019E
+OP_EqReceiveOfferCmd=0x019F
+OP_EqInspectPCResultsCmd=0x01A0
+OP_EqDrawablePathGraphCmd=0x01A1
+OP_EqDialogOpenCmd=0x01A2
+OP_EqDialogCloseCmd=0x01A3
+OP_EqCollectionUpdateCmd=0x01A4
+OP_EqCollectionFilterCmd=0x01A5
+OP_EqCollectionItemCmd=0x01A6
+OP_EqQuestJournalUpdateCmd=0x01A7
+OP_EqQuestJournalReplyCmd=0x01A8
+OP_EqQuestGroupCmd=0x01A9
+OP_EqUpdateMerchantCmd=0x01AA
+OP_EqUpdateStoreCmd=0x01AB
+OP_EqUpdatePlayerTradeCmd=0x01AC
+OP_EqHelpPathCmd=0x01AD
+OP_EqHelpPathClearCmd=0x01AE
+OP_EqUpdateBankCmd=0x01AF
+OP_EqExamineInfoCmd=0x01B0
+OP_EqUpdateLootCmd=0x01B1
+OP_EqJunctionListCmd=0x01B2
+OP_EqShowDeathWindowCmd=0x01B3
+OP_EqDisplaySpellFailCmd=0x01B4
+OP_EqSpellCastStartCmd=0x01B5
+OP_EqSpellCastEndCmd=0x01B6
+OP_EqResurrectedCmd=0x01B7
+OP_EqChoiceWinCmd=0x01B8
+OP_EqSetDefaultVerbCmd=0x01B9
+OP_EqInstructionWindowCmd=0x01BA
+OP_EqInstructionWindowCloseCmd=0x01BB
+OP_EqInstructionWindowGoalCmd=0x01BC
+OP_EqInstructionWindowTaskCmd=0x01BD
+OP_EqEnableGameEventCmd=0x01BE
+OP_EqShowWindowCmd=0x01BF
+OP_EqEnableWindowCmd=0x01C0
+OP_EqFlashWindowCmd=0x01C1
+OP_EqHearPlayFlavorCmd=0x01C2
+OP_EqUpdateSignWidgetCmd=0x01C3
+OP_EqDebugPVDCmd=0x01C4
+OP_EqShowBookCmd=0x01C5
+OP_EqQuestionnaireCmd=0x01C6
+OP_EqGetProbsCmd=0x01C7
+OP_EqHearHealCmd=0x01C8
+OP_EqChatChannelUpdateCmd=0x01C9
+OP_EqWhoChannelQueryReplyCmd=0x01CA
+OP_EqAvailWorldChannelsCmd=0x01CB
+OP_EqUpdateTargetCmd=0x01CC
+OP_EqConsignmentItemsCmd=0x01CD
+OP_EqStartBrokerCmd=0x01CE
+OP_EqMapExplorationCmd=0x01CF
+OP_EqStoreLogCmd=0x01D0
+OP_EqSpellMoveToRangeAndRetryCmd=0x01D1
+OP_EqUpdatePlayerMailCmd=0x01D2
+OP_EqArenaResultsCmd=0x01D3 

+ 18 - 0
EQ2/docs/ToDo.txt

@@ -0,0 +1,18 @@
+Quest Enhancements/Fixes
+Collection Quests
+Item enhancement/Fixes
+Spells (More options/types)
+Pets
+AI Enhancements
+Combat revisit
+In-game Maps/Fog data
+Groups
+Instancing
+Mounts
+Guilds
+Tradeskills
+In-game email
+Zone access flags
+AA/Achievements
+Create a better way of implementing commands.
+Recompile commands into DLL file that can be replaced and reloaded without shutting down server.

+ 89 - 0
EQ2/docs/bonus table.html

@@ -0,0 +1,89 @@
+<html><head><title>EQ2 Harvesting Bonus Table</title>
+
+<script>
+function twodecimal(n)
+{
+	var s = n + "";
+	var d = s.indexOf(".");
+	return(s.substr(0,d+3));
+}
+
+// Tier	   1    2    3    4    5    6    7    8    9
+var base = 	[  0,  20,  90, 140, 190, 240, 290, 340, 390]; // min skill for harvseting this node
+var bonus = [ 19,  89, 139, 189, 239, 289, 339, 389, 439]; // skill lvl at which you get chance at bonus table
+var skill = [ 45,  95, 145, 195, 245, 295, 345, 395, 445]; // some harvester's skills
+
+function bonusPull()
+{
+	document.write("<P><table border=1 cellpadding=5>");
+
+	document.write("<tr>");
+	document.write("<td rowspan=2>Tier</td><td rowspan=2>Base</td><td rowspan=2>Bonus</td>");
+	document.write("<td colspan=9 align=left>Your Harvesting Skills (maxed for that tier) / Chance at Bonus Table</td>");
+	document.write("</tr>");
+
+	document.write("<tr>");
+	for(var y=0; y<9; ++y)
+		document.write("<td align=right>" + skill[y] + "</td>");
+	document.write("</tr>");
+
+	for(var t=0; t<9; ++t)
+	{
+		document.write("<tr>");
+		document.write("<td align=right>" + (t+1) + "</td>");
+		document.write("<td align=right>" + base[t] + "</td>");
+		document.write("<td align=right>" + bonus[t] + "</td>");
+
+		for(var y=0; y<9; ++y)
+		{
+			if(skill[y] < base[t])
+				document.write("<td><hr></td>");
+			else
+			{
+				var lowroll = base[t];
+				var highroll = (skill[y] >= bonus[t]) ? skill[y] : bonus[t];
+				var range = highroll - lowroll + 1;
+				var rarechance = (skill[y] >= bonus[t]) ? (skill[y]-bonus[t]) : 0;
+
+				document.write("<td align=right>");
+				document.write(lowroll + "-" + highroll);
+				document.write("<BR>" + rarechance + "/" + range);
+				document.write("<BR>" + twodecimal(rarechance/range*100) + "%");
+				document.write("</td>");
+			}
+		}
+
+		document.write("</tr>");
+	}
+
+	document.write("</table>");
+}
+
+</script>
+
+</head>
+
+
+<body>
+
+<h2>EQ2 Harvesting Bonus Table</h2>
+
+<h3>Chance at the Bonus Table</h3>
+
+<script>
+document.write("<P>This is your chance to get a roll in the bonus table. It's based on how high over the lvl x8 skill for that tier Your harvesting skills are. Note that your harvesting skills must be maxed out (ie: x/x) to even get this calculation made.");
+document.write("<P>Table information (line):");
+document.write("<ol>");
+document.write("<LI>random range");
+document.write("<LI>chance of you getting a high enough roll to get a chance at bonus table roll");
+document.write("<LI>2 decimal percent of above");
+document.write("</ol>");
+
+bonusPull();
+
+document.write("<P>&nbsp;");
+base[1] = 40;
+bonus[0] = 39;
+bonusPull();
+
+</script></body></html>

+ 73 - 0
EQ2/docs/charactersheet_struct.txt

@@ -0,0 +1,73 @@
+<Struct Name="WS_CharacterSheet" ClientVersion="1" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="int8" Size="32" /> // 0 - 31
+<Data ElementName="unknown0" Type="int8" Size="11" /> // 31 - 42
+<Data ElementName="unknown1" Type="int8" Size="1" /> // 43 ( 0x10)
+<Data ElementName="unknown2" Type="int8" Size="1" /> // 44 ( 0x01)
+<Data ElementName="unknown3" Type="int8" Size="1" /> // 45 ( 0x00)
+<Data ElementName="unknown4" Type="int8" Size="1" /> // 46 ( 0x1F)
+<Data ElementName="unknown5" Type="int32" Size="1" /> // 47-50 (26) (race/class?)
+<Data ElementName="unknown6" Type="int32" Size="1" /> // 51-54 (27) (race/class?)
+<Data ElementName="unknown7" Type="int8" Size="14" /> // 55-68
+<Data ElementName="unknown8" Type="int16" Size="1" /> // 69-70 (0x01)
+<Data ElementName="unknown9" Type="int16" Size="1" /> // 71-72 (0x01)
+<Data ElementName="unknown10" Type="int16" Size="1" /> // 73-74 (0x01)
+<Data ElementName="unknown11" Type="int32" Size="1" /> // 75-78
+<Data ElementName="unknown12" Type="int16" Size="1" /> // 79-80 (0xDE)
+<Data ElementName="unknown13" Type="int8" Size="1" /> // 81 ( 0x03)
+<Data ElementName="unknown14" Type="int8" Size="9" /> // 82-90
+<Data ElementName="unknown15" Type="int16" Size="1" /> // 91-92 ( 0x5A )
+<Data ElementName="unknown16" Type="int8" Size="8" /> // 93-100
+<Data ElementName="unknown17" Type="int16" Size="1" /> // 101-102 ( 0x5A )
+<Data ElementName="unknown18" Type="int16" Size="1" /> // 103-104 ( 0x5A )
+<Data ElementName="unknown19" Type="int8" Size="14" /> // 105-118
+<Data ElementName="unknown20" Type="int16" Size="1" /> // 119-120 ( 0x4E00 )
+<Data ElementName="unknown21" Type="int8" Size="1" /> // 121 ( 0x6F )
+<Data ElementName="unknown22" Type="int8" Size="1" /> // 122 ( 0x6E )
+<Data ElementName="unknown23" Type="int8" Size="1" /> // 123 ( 0x65 )
+<Data ElementName="unknown24" Type="int8" Size="46" /> // 124-169
+<Data ElementName="unknown25" Type="int32" Size="1" /> // 170-173 ( 0x01 )
+<Data ElementName="unknown26" Type="int32" Size="1" /> // 174-177 ( 0x14 )
+<Data ElementName="unknown27" Type="int32" Size="1" /> // 178-181 ( 0x14 )
+<Data ElementName="unknown28" Type="int32" Size="1" /> // 182-185 ( 0x01 )
+<Data ElementName="unknown29" Type="int32" Size="1" /> // 186-189 ( 0x76 )
+<Data ElementName="unknown30" Type="int32" Size="1" /> // 190-193 ( 0x76 )
+<Data ElementName="unknown31" Type="int32" Size="1" /> // 194-197
+<Data ElementName="unknown32" Type="int8" Size="4876" /> // 198-5074
+</Struct>
+
+<Struct Name="WS_CharacterSheet" ClientVersion="1" OpcodeName="OP_UpdateCharacterSheetMsg">
+<Data ElementName="character_name" Type="int8" Size="32" />
+<Data ElementName="unknown0" Type="int8" Size="11" />
+<Data ElementName="unknown1" Type="int8" Size="1" />
+<Data ElementName="unknown2" Type="int8" Size="1" />
+<Data ElementName="unknown3" Type="int8" Size="1" />
+<Data ElementName="unknown4" Type="int8" Size="1" />
+<Data ElementName="unknown5" Type="int32" Size="1" />
+<Data ElementName="unknown6" Type="int32" Size="1" />
+<Data ElementName="unknown7" Type="int8" Size="14" />
+<Data ElementName="unknown8" Type="int16" Size="1" />
+<Data ElementName="unknown9" Type="int16" Size="1" />
+<Data ElementName="unknown10" Type="int16" Size="1" />
+<Data ElementName="unknown11" Type="int32" Size="1" />
+<Data ElementName="unknown12" Type="int16" Size="1" />
+<Data ElementName="unknown13" Type="int8" Size="1" />
+<Data ElementName="unknown14" Type="int8" Size="9" />
+<Data ElementName="unknown15" Type="int16" Size="1" />
+<Data ElementName="unknown16" Type="int8" Size="8" />
+<Data ElementName="unknown17" Type="int16" Size="1" />
+<Data ElementName="unknown18" Type="int16" Size="1" />
+<Data ElementName="unknown19" Type="int8" Size="14" />
+<Data ElementName="unknown20" Type="int16" Size="1" />
+<Data ElementName="unknown21" Type="int8" Size="1" />
+<Data ElementName="unknown22" Type="int8" Size="1" />
+<Data ElementName="unknown23" Type="int8" Size="1" />
+<Data ElementName="unknown24" Type="int8" Size="46" />
+<Data ElementName="unknown25" Type="int32" Size="1" />
+<Data ElementName="unknown26" Type="int32" Size="1" />
+<Data ElementName="unknown27" Type="int32" Size="1" />
+<Data ElementName="unknown28" Type="int32" Size="1" />
+<Data ElementName="unknown29" Type="int32" Size="1" />
+<Data ElementName="unknown30" Type="int32" Size="1" />
+<Data ElementName="unknown31" Type="int32" Size="1" />
+<Data ElementName="unknown32" Type="int8" Size="4876" />
+</Struct>

+ 10792 - 0
EQ2/docs/opcodes.sql

@@ -0,0 +1,10792 @@
+/*
+SQLyog Ultimate v9.20 
+MySQL - 5.1.54-1ubuntu4 : Database - eq2_updates
+*********************************************************************
+*/

+
+/*!40101 SET NAMES utf8 */;
+
+/*!40101 SET SQL_MODE=''*/;
+
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+/*Table structure for table `opcodes` */
+
+DROP TABLE IF EXISTS `opcodes`;
+
+CREATE TABLE `opcodes` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `version_range1` smallint(5) unsigned NOT NULL DEFAULT '0',
+  `version_range2` smallint(5) unsigned NOT NULL DEFAULT '0',
+  `name` varchar(255) NOT NULL DEFAULT '',
+  `opcode` smallint(5) unsigned NOT NULL DEFAULT '0',
+  `table_data_version` smallint(5) unsigned NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `newindex` (`version_range1`,`name`,`version_range2`)
+) ENGINE=InnoDB AUTO_INCREMENT=11250 DEFAULT CHARSET=latin1;
+
+/*Data for the table `opcodes` */
+
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1,0,0,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2,0,0,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3,0,0,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4,0,0,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5,0,0,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6,0,0,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7,0,0,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8,0,0,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9,0,0,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10,0,0,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11,0,0,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (12,0,0,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (13,0,0,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (14,0,0,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (15,0,0,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (16,0,0,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (17,0,0,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (18,0,0,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (19,0,0,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (20,0,0,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (21,0,0,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (22,0,0,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (23,0,0,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (24,0,0,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (25,0,0,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (26,0,0,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (27,0,0,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (28,0,0,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (29,0,0,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (30,0,0,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (31,0,0,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (32,0,0,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (33,0,0,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (34,0,0,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (35,0,0,'OP_UpdatePositionMsg',36,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (36,0,0,'OP_SetRemoteCmdsMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (37,0,0,'OP_RemoteCmdMsg',38,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (38,0,0,'OP_GameWorldTimeMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (39,0,0,'OP_MOTDMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (40,0,0,'OP_ZoneMOTDMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (41,0,0,'OP_AvatarCreatedMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (42,0,0,'OP_AvatarDestroyedMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (43,0,0,'OP_RequestCampMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (44,0,0,'OP_CampStartedMsg',46,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (45,0,0,'OP_CampAbortedMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (46,0,0,'OP_WhoQueryRequestMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (47,0,0,'OP_WhoQueryReplyMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (48,0,0,'OP_MonitorReplyMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (49,0,0,'OP_MonitorCharacterListMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (50,0,0,'OP_MonitorCharacterListRequestMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (51,0,0,'OP_ClientCmdMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (52,0,0,'OP_DispatchESMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (53,0,0,'OP_DispatchClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (54,0,0,'OP_UpdateTargetMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (55,0,0,'OP_UpdateTargetLocMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (56,0,0,'OP_UpdateCharacterSheetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (57,0,0,'OP_UpdateSpellBookMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (58,0,0,'OP_UpdateInventoryMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (59,0,0,'OP_UpdateRecipeBookMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (60,0,0,'OP_RequestRecipeDetailsMsg',64,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (61,0,0,'OP_RecipeDetailsMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (62,0,0,'OP_UpdateSkillBookMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (63,0,0,'OP_UpdateSkillsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (64,0,0,'OP_UpdateOpportunityMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (65,0,0,'OP_ChangeZoneMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (66,0,0,'OP_ClientTeleportRequestMsg',71,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (67,0,0,'OP_TeleportWithinZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (68,0,0,'OP_TeleportWithinZoneNoReloadMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (69,0,0,'OP_MigrateClientToZoneRequestMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (70,0,0,'OP_MigrateClientToZoneReplyMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (71,0,0,'OP_ReadyToZoneMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (72,0,0,'OP_RemoveClientFromGroupMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (73,0,0,'OP_RemoveGroupFromGroupMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (74,0,0,'OP_MakeGroupLeaderMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (75,0,0,'OP_GroupCreatedMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (76,0,0,'OP_GroupDestroyedMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (77,0,0,'OP_GroupMemberAddedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (78,0,0,'OP_GroupMemberRemovedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (79,0,0,'OP_GroupRemovedFromGroupMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (80,0,0,'OP_GroupLeaderChangedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (81,0,0,'OP_GroupResendOOZDataMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (82,0,0,'OP_GroupSettingsChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (83,0,0,'OP_OutOfZoneMemberDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (84,0,0,'OP_SendLatestRequestMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (85,0,0,'OP_ClearDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (86,0,0,'OP_SetSocialMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (87,0,0,'OP_ESStatusMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (88,0,0,'OP_ESZoneInstanceStatusMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (89,0,0,'OP_ZonesStatusRequestMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (90,0,0,'OP_ZonesStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (91,0,0,'OP_ESWeatherRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (92,0,0,'OP_ESWeatherRequestEndMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (93,0,0,'OP_DialogSelectMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (94,0,0,'OP_DialogCloseMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (95,0,0,'OP_RemoveSpellEffectMsg',100,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (96,0,0,'OP_RemoveConcentrationMsg',101,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (97,0,0,'OP_QuestJournalOpenMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (98,0,0,'OP_QuestJournalInspectMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (99,0,0,'OP_QuestJournalSetVisibleMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (100,0,0,'OP_QuestJournalWaypointMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (101,0,0,'OP_CreateGuildRequestMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (102,0,0,'OP_CreateGuildReplyMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (103,0,0,'OP_GuildsayMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (104,0,0,'OP_GuildUpdateMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (105,0,0,'OP_DeleteGuildMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (106,0,0,'OP_FellowshipExpMsg',113,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (107,0,0,'OP_ConsignmentCloseStoreMsg',114,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (108,0,0,'OP_ConsignItemRequestMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (109,0,0,'OP_ConsignItemResponseMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (110,0,0,'OP_PurchaseConsignmentRequestMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (111,0,0,'OP_HouseDeletedRemotelyMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (112,0,0,'OP_UpdateHouseDataMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (113,0,0,'OP_UpdateHouseAccessDataMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (114,0,0,'OP_PlayerHouseBaseScreenMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (115,0,0,'OP_PlayerHousePurchaseScreenMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (116,0,0,'OP_PlayerHouseAccessUpdateMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (117,0,0,'OP_PlayerHouseDisplayStatusMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (118,0,0,'OP_PlayerHouseCloseUIMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (119,0,0,'OP_BuyPlayerHouseMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (120,0,0,'OP_BuyPlayerHouseTintMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (121,0,0,'OP_CollectAllHouseItemsMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (122,0,0,'OP_RelinquishHouseMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (123,0,0,'OP_EnterHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (124,0,0,'OP_ExitHouseMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (125,0,0,'OP_HouseDefaultAccessSetMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (126,0,0,'OP_HouseAccessSetMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (127,0,0,'OP_HouseAccessRemoveMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (128,0,0,'OP_PayHouseUpkeepMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (129,0,0,'OP_MoveableObjectPlacementCriteri',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (130,0,0,'OP_EnterMoveObjectModeMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (131,0,0,'OP_PositionMoveableObject',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (132,0,0,'OP_CancelMoveObjectModeMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (133,0,0,'OP_ShaderCustomizationMsg',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (134,0,0,'OP_ReplaceableSubMeshesMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (135,0,0,'OP_HouseCustomizationScreenMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (136,0,0,'OP_CustomizationPurchaseRequestMs',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (137,0,0,'OP_CustomizationSetRequestMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (138,0,0,'OP_CustomizationReplyMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (139,0,0,'OP_TintWidgetsMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (140,0,0,'OP_ExamineConsignmentRequestMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (141,0,0,'OP_ExamineConsignmentResponseMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (142,0,0,'OP_UISettingsResponseMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (143,0,0,'OP_UIResetMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (144,0,0,'OP_KeymapLoadMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (145,0,0,'OP_KeymapNoneMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (146,0,0,'OP_KeymapDataMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (147,0,0,'OP_KeymapSaveMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (148,0,0,'OP_DispatchSpellCmdMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (149,0,0,'OP_EntityVerbsRequestMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (150,0,0,'OP_EntityVerbsReplyMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (151,0,0,'OP_EntityVerbsVerbMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (152,0,0,'OP_ChatRelationshipUpdateMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (153,0,0,'OP_LootItemsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (154,0,0,'OP_StoppedLootingMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (155,0,0,'OP_SitMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (156,0,0,'OP_StandMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (157,0,0,'OP_SatMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (158,0,0,'OP_StoodMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (159,0,0,'OP_ClearForTakeOffMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (160,0,0,'OP_ReadyForTakeOffMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (161,0,0,'OP_ShowIllusionsMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (162,0,0,'OP_HideIllusionsMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (163,0,0,'OP_ExamineItemRequestMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (164,0,0,'OP_ReadBookPageMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (165,0,0,'OP_DefaultGroupOptionsRequestMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (166,0,0,'OP_DefaultGroupOptionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (167,0,0,'OP_GroupOptionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (168,0,0,'OP_DisplayGroupOptionsScreenMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (169,0,0,'OP_DisplayInnVisitScreenMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (170,0,0,'OP_DumpSchedulerMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (171,0,0,'OP_LSRequestPlayerDescMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (172,0,0,'OP_LSCheckAcctLockMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (173,0,0,'OP_WSAcctLockStatusMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (174,0,0,'OP_RequestHelpRepathMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (175,0,0,'OP_RequestTargetLocMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (176,0,0,'OP_UpdateMotdMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (177,0,0,'OP_PerformPlayerKnockbackMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (178,0,0,'OP_PerformCameraShakeMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (179,0,0,'OP_PopulateSkillMapsMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (180,0,0,'OP_CancelledFeignMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (181,0,0,'OP_SignalMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (182,0,0,'OP_ShowCreateFromRecipeUIMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (183,0,0,'OP_CancelCreateFromRecipeMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (184,0,0,'OP_BeginItemCreationMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (185,0,0,'OP_StopItemCreationMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (186,0,0,'OP_ShowItemCreationProcessUIMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (187,0,0,'OP_UpdateItemCreationProcessUIMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (188,0,0,'OP_DisplayTSEventReactionMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (189,0,0,'OP_ShowRecipeBookMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (190,0,0,'OP_KnowledgebaseRequestMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (191,0,0,'OP_KnowledgebaseResponseMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (192,0,0,'OP_CSTicketHeaderRequestMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (193,0,0,'OP_CSTicketInfoMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (194,0,0,'OP_CSTicketCommentRequestMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (195,0,0,'OP_CSTicketCommentResponseMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (196,0,0,'OP_CSTicketCreateMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (197,0,0,'OP_CSTicketAddCommentMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (198,0,0,'OP_CSTicketDeleteMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (199,0,0,'OP_CSTicketChangeNotificationMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (200,0,0,'OP_WorldDataUpdateMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (201,0,0,'OP_KnownLanguagesMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (202,0,0,'OP_LsRequestClientCrashLogMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (203,0,0,'OP_LsClientBaselogReplyMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (204,0,0,'OP_LsClientCrashlogReplyMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (205,0,0,'OP_LsClientAlertlogReplyMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (206,0,0,'OP_LsClientVerifylogReplyMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (207,0,0,'OP_ClientTeleportToLocationMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (208,0,0,'OP_UpdateClientPredFlagsMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (209,0,0,'OP_ChangeServerControlFlagMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (210,0,0,'OP_CSToolsRequestMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (211,0,0,'OP_CSToolsResponseMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (212,0,0,'OP_AddSocialStructureStandingMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (213,0,0,'OP_CreateBoatTransportsMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (214,0,0,'OP_PositionBoatTransportMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (215,0,0,'OP_MigrateBoatTransportMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (216,0,0,'OP_MigrateBoatTransportReplyMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (217,0,0,'OP_DisplayDebugNLLPointsMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (218,0,0,'OP_ExamineInfoRequestMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (219,0,0,'OP_QuickbarInitMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (220,0,0,'OP_QuickbarUpdateMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (221,0,0,'OP_MacroInitMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (222,0,0,'OP_MacroUpdateMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (223,0,0,'OP_QuestionnaireMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (224,0,0,'OP_LevelChangedMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (225,0,0,'OP_SpellGainedMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (226,0,0,'OP_EncounterBrokenMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (227,0,0,'OP_OnscreenMsgMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (228,0,0,'OP_DisplayWarningMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (229,0,0,'OP_ModifyGuildMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (230,0,0,'OP_GuildEventMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (231,0,0,'OP_GuildEventAddMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (232,0,0,'OP_GuildEventActionMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (233,0,0,'OP_GuildEventListMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (234,0,0,'OP_RequestGuildEventDetailsMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (235,0,0,'OP_GuildEventDetailsMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (236,0,0,'OP_RequestGuildInfoMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (237,0,0,'OP_GuildBankActionMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (238,0,0,'OP_GuildBankActionResponseMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (239,0,0,'OP_GuildBankItemDetailsRequestMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (240,0,0,'OP_GuildBankItemDetailsResponseMs',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (241,0,0,'OP_GuildBankUpdateMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (242,0,0,'OP_GuildBankEventListMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (243,0,0,'OP_RequestGuildBankEventDetailsMs',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (244,0,0,'OP_RewardPackMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (245,0,0,'OP_RenameGuildMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (246,0,0,'OP_ZoneToFriendRequestMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (247,0,0,'OP_ZoneToFriendReplyMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (248,0,0,'OP_ChatCreateChannelMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (249,0,0,'OP_ChatJoinChannelMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (250,0,0,'OP_ChatWhoChannelMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (251,0,0,'OP_ChatLeaveChannelMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (252,0,0,'OP_ChatTellChannelMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (253,0,0,'OP_ChatTellUserMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (254,0,0,'OP_ChatToggleFriendMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (255,0,0,'OP_ChatToggleIgnoreMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (256,0,0,'OP_ChatSendFriendsMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (257,0,0,'OP_ChatSendIgnoresMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (258,0,0,'OP_QuestReward',294,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (259,0,0,'OP_ChatFiltersMsg',309,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (260,0,0,'OP_MailGetHeadersMsg',310,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (261,0,0,'OP_MailGetMessageMsg',311,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (262,0,0,'OP_MailSendMessageMsg',312,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (263,0,0,'OP_MailDeleteMessageMsg',313,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (264,0,0,'OP_MailGetHeadersReplyMsg',314,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (265,0,0,'OP_MailGetMessageReplyMsg',315,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (266,0,0,'OP_MailSendMessageReplyMsg',316,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (267,0,0,'OP_MailCommitSendMessageMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (268,0,0,'OP_MailSendSystemMessageMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (269,0,0,'OP_MailRemoveAttachFromMailMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (270,0,0,'OP_WaypointRequestMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (271,0,0,'OP_WaypointReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (272,0,0,'OP_WaypointSelectMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (273,0,0,'OP_WaypointUpdateMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (274,0,0,'OP_CharNameChangedMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (275,0,0,'OP_ShowZoneTeleporterDestinations',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (276,0,0,'OP_SelectZoneTeleporterDestinatio',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (277,0,0,'OP_ReloadLocalizedTxtMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (278,0,0,'OP_RequestGuildMembershipMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (279,0,0,'OP_GuildMembershipResponseMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (280,0,0,'OP_LeaveGuildNotifyMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (281,0,0,'OP_JoinGuildNotifyMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (282,0,0,'OP_AvatarUpdateMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (283,0,0,'OP_BioUpdateMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (284,0,0,'OP_InspectPlayerMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (285,0,0,'OP_WSServerLockMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (286,0,0,'OP_LSServerLockMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (287,0,0,'OP_WSServerHideMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (288,0,0,'OP_CsCategoryRequestMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (289,0,0,'OP_CsCategoryResponseMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (290,0,0,'OP_KnowledgeWindowSlotMappingMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (291,0,0,'OP_LFGUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (292,0,0,'OP_AFKUpdateMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (293,0,0,'OP_AnonUpdateMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (294,0,0,'OP_UpdateActivePublicZonesMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (295,0,0,'OP_UnknownNpcMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (296,0,0,'OP_PromoFlagsDetailsMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (297,0,0,'OP_ConsignViewCreateMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (298,0,0,'OP_ConsignViewGetPageMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (299,0,0,'OP_ConsignViewReleaseMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (300,0,0,'OP_ConsignRemoveItemsMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (301,0,0,'OP_UpdateDebugRadiiMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (302,0,0,'OP_SnoopMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (303,0,0,'OP_ReportMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (304,0,0,'OP_UpdateRaidMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (305,0,0,'OP_ConsignViewSortMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (306,0,0,'OP_TitleUpdateMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (307,0,0,'OP_ClientFellMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (308,0,0,'OP_ClientInDeathRegionMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (309,0,0,'OP_CampClientMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (310,0,0,'OP_CSToolAccessResponseMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (311,0,0,'OP_TrackingUpdateMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (312,0,0,'OP_BeginTrackingMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (313,0,0,'OP_StopTrackingMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (314,0,0,'OP_GetAvatarAccessRequestForCSToo',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (315,0,0,'OP_AdvancementRequestMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (316,0,0,'OP_UpdateAvgFrameTimeMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (317,0,0,'OP_MapFogDataInitMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (318,0,0,'OP_MapFogDataUpdateMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (319,0,0,'OP_CloseGroupInviteWindowMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (320,0,0,'OP_UpdateGroupMemberDataMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (321,0,0,'OP_WorldPingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (322,0,0,'OP_MoveLogUpdateMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (323,0,0,'OP_OfferQuestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (324,0,0,'OP_WorldShutdownUpdateMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (325,0,0,'OP_DisplayMailScreenMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (326,0,0,'OP_ClientIdleBeginMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (327,0,0,'OP_ClientIdleEndMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (328,0,0,'OP_PurchaseConsignmentLoreCheckRe',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (329,0,0,'OP_NotifyApprenticeStoppedMentori',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (330,0,0,'OP_CorruptedClientMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (331,0,0,'OP_WorldDataChangeMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (332,0,0,'OP_MailEventNotificationMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (333,0,0,'OP_RestartZoneMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (334,0,0,'OP_FlightPathsMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (335,0,0,'OP_CharacterLinkdeadMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (336,0,0,'OP_CharTransferStartRequestMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (337,0,0,'OP_CharTransferStartReplyMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (338,0,0,'OP_CharTransferRequestMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (339,0,0,'OP_CharTransferReplyMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (340,0,0,'OP_CharTransferRollbackRequestMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (341,0,0,'OP_CharTransferCommitRequestMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (342,0,0,'OP_CharTransferRollbackReplyMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (343,0,0,'OP_CharTransferCommitReplyMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (344,0,0,'OP_GetCharacterSerializedRequestM',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (345,0,0,'OP_GetCharacterSerializedReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (346,0,0,'OP_CreateCharFromCBBRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (347,0,0,'OP_CreateCharFromCBBReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (348,0,0,'OP_HousingDataChangedMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (349,0,0,'OP_HousingRestoreMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (350,0,0,'OP_AuctionItem',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (351,0,0,'OP_AuctionItemReply',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (352,0,0,'OP_AuctionCoin',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (353,0,0,'OP_AuctionCoinReply',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (354,0,0,'OP_AuctionCharacter',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (355,0,0,'OP_AuctionCharacterReply',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (356,0,0,'OP_AuctionCommitMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (357,0,0,'OP_AuctionAbortMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (358,0,0,'OP_CharTransferValidateRequestMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (359,0,0,'OP_CharTransferValidateReplyMsg',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (360,0,0,'OP_RaceRestrictionMsg',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (361,0,0,'OP_SetInstanceDisplayNameMsg',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (362,0,0,'OP_GetAuctionAssetIDMsg',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (363,0,0,'OP_GetAuctionAssetIDReplyMsg',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (364,0,0,'OP_ResendWorldChannelsMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (365,0,0,'OP_DisplayExchangeScreenMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (366,0,0,'OP_ArenaGameTypesMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (367,0,0,'OP_AuditAuctionEventMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (368,0,0,'OP_InviteRequestMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (369,0,0,'OP_InviteResponseMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (370,0,0,'OP_InviteTargetResponseMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (371,0,0,'OP_InspectPlayerRequestMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (372,0,0,'OP_DispatchMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (373,0,0,'OP_DisplayEventMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (374,0,0,'OP_PrePossessionMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (375,0,0,'OP_PostPossessionMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (376,0,0,'OP_AdventureList',454,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (377,0,0,'OP_CancelSpellCast',455,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (378,0,0,'OP_AttackAllowed',467,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (379,0,0,'OP_AttackNotAllowed',468,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (380,0,0,'OP_DressingRoom',474,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (381,0,0,'OP_SkillInfoRequest',478,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (382,0,0,'OP_SkillInfoResponse',479,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (383,0,0,'OP_EqHearChatCmd',480,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (384,0,0,'OP_EqDisplayTextCmd',481,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (385,0,0,'OP_EqCreateGhostCmd',482,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (386,0,0,'OP_EqCreateWidgetCmd',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (387,0,0,'OP_EqCreateSignWidgetCmd',484,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (388,0,0,'OP_EqDestroyGhostCmd',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (389,0,0,'OP_EqUpdateGhostCmd',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (390,0,0,'OP_EqSetControlGhostCmd',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (391,0,0,'OP_EqSetPOVGhostCmd',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (392,0,0,'OP_EqHearCombatCmd',489,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (393,0,0,'OP_EqHearSpellCastCmd',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (394,0,0,'OP_EqHearSpellInterruptCmd',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (395,0,0,'OP_EqHearSpellFizzleCmd',494,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (396,0,0,'OP_EqHearConsiderCmd',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (397,0,0,'OP_EqUpdateSubClassesCmd',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (398,0,0,'OP_EqCreateListBoxCmd',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (399,0,0,'OP_EqSetDebugPathPointsCmd',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (400,0,0,'OP_EqCannedEmoteCmd',500,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (401,0,0,'OP_EqStateCmd',501,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (402,0,0,'OP_EqPlaySoundCmd',502,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (403,0,0,'OP_EqPlaySound3DCmd',503,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (404,0,0,'OP_EqPlayVoiceCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (405,0,0,'OP_EqHearDrowningCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (406,0,0,'OP_EqHearDeathCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (407,0,0,'OP_EqGroupMemberRemovedCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (408,0,0,'OP_EqHearChainEffectCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (409,0,0,'OP_EqReceiveOfferCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (410,0,0,'OP_EqInspectPCResultsCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (411,0,0,'OP_EqDrawablePathGraphCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (412,0,0,'OP_EqDialogOpenCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (413,0,0,'OP_EqDialogCloseCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (414,0,0,'OP_EqFactionUpdateCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (415,0,0,'OP_EqCollectionUpdateCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (416,0,0,'OP_EqCollectionFilterCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (417,0,0,'OP_EqCollectionItemCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (418,0,0,'OP_EqQuestJournalUpdateCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (419,0,0,'OP_EqQuestJournalReplyCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (420,0,0,'OP_EqQuestGroupCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (421,0,0,'OP_EqUpdateMerchantCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (422,0,0,'OP_EqUpdateStoreCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (423,0,0,'OP_EqUpdatePlayerTradeCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (424,0,0,'OP_EqHelpPathCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (425,0,0,'OP_EqHelpPathClearCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (426,0,0,'OP_EqUpdateBankCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (427,0,0,'OP_EqExamineInfoCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (428,0,0,'OP_EqCloseWindowCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (429,0,0,'OP_EqUpdateLootCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (430,0,0,'OP_EqJunctionListCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (431,0,0,'OP_EqShowDeathWindowCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (432,0,0,'OP_EqDisplaySpellFailCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (433,0,0,'OP_EqSpellCastStartCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (434,0,0,'OP_EqSpellCastEndCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (435,0,0,'OP_EqResurrectedCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (436,0,0,'OP_EqChoiceWinCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (437,0,0,'OP_EqSetDefaultVerbCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (438,0,0,'OP_EqInstructionWindowCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (439,0,0,'OP_EqInstructionWindowCloseCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (440,0,0,'OP_EqInstructionWindowGoalCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (441,0,0,'OP_EqInstructionWindowTaskCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (442,0,0,'OP_EqEnableGameEventCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (443,0,0,'OP_EqShowWindowCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (444,0,0,'OP_EqEnableWindowCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (445,0,0,'OP_EqFlashWindowCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (446,0,0,'OP_EqHearPlayFlavorCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (447,0,0,'OP_EqUpdateSignWidgetCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (448,0,0,'OP_EqDebugPVDCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (449,0,0,'OP_EqShowBookCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (450,0,0,'OP_EqQuestionnaireCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (451,0,0,'OP_EqGetProbsCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (452,0,0,'OP_EqHearHealCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (453,0,0,'OP_EqChatChannelUpdateCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (454,0,0,'OP_EqWhoChannelQueryReplyCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (455,0,0,'OP_EqAvailWorldChannelsCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (456,0,0,'OP_EqUpdateTargetCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (457,0,0,'OP_EqConsignmentItemsCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (458,0,0,'OP_EqStartBrokerCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (459,0,0,'OP_EqMapExplorationCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (460,0,0,'OP_EqStoreLogCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (461,0,0,'OP_EqSpellMoveToRangeAndRetryCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (462,0,0,'OP_EqUpdatePlayerMailCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (463,0,0,'OP_EqArenaResultsCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (464,0,0,'OP_EqGuildBankEventActionCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (465,0,0,'OP_EqGuildBankExamineInfoCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (466,0,0,'OP_EqHearSpellNoLandCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (467,0,0,'OP_Lottery',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (468,0,0,'OP_GuildRecruitingMemberInfo',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (469,0,0,'OP_GuildRecruiting',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (470,0,0,'OP_GuildRecruitingDetails',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (471,0,0,'OP_GuildRecruitingImage',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (472,0,0,'OP_PointOfInterest',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (473,0,0,'OP_TraitsList',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (474,0,0,'OP_RecipeList',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (475,0,0,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (476,0,0,'OP_AddClientToGroupMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (477,0,0,'OP_AddGroupToGroupMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (478,0,0,'OP_GuildKickMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (479,0,0,'OP_PurchaseConsignmentResponseMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (480,0,0,'OP_ProcessScriptMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (481,0,0,'OP_ProcessWorkspaceMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (482,0,0,'OP_QuickbarAddMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (483,0,0,'OP_SkillSlotMapping',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (484,0,0,'OP_MapRequest',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (485,0,0,'OP_Unknown',10000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (486,0,0,'OP_WSWeatherUpdateMsg',10012,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (487,839,844,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (488,839,844,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (489,839,844,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (490,839,844,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (491,839,844,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (492,839,844,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (493,839,844,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (494,839,844,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (495,839,844,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (496,839,844,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (497,839,844,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (498,839,844,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (499,839,844,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (500,839,844,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (501,839,844,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (502,839,844,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (503,839,844,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (504,839,844,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (505,839,844,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (506,839,844,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (507,839,844,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (508,839,844,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (509,839,844,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (510,839,844,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (511,839,844,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (512,839,844,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (513,839,844,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (514,839,844,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (515,839,844,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (516,839,844,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (517,839,844,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (518,839,844,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (519,839,844,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (520,839,844,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (521,839,844,'OP_UpdatePositionMsg',36,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (522,839,844,'OP_SetRemoteCmdsMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (523,839,844,'OP_RemoteCmdMsg',38,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (524,839,844,'OP_GameWorldTimeMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (525,839,844,'OP_MOTDMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (526,839,844,'OP_ZoneMOTDMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (527,839,844,'OP_AvatarCreatedMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (528,839,844,'OP_AvatarDestroyedMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (529,839,844,'OP_RequestCampMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (530,839,844,'OP_CampStartedMsg',46,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (531,839,844,'OP_CampAbortedMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (532,839,844,'OP_WhoQueryRequestMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (533,839,844,'OP_WhoQueryReplyMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (534,839,844,'OP_MonitorReplyMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (535,839,844,'OP_MonitorCharacterListMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (536,839,844,'OP_MonitorCharacterListRequestMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (537,839,844,'OP_ClientCmdMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (538,839,844,'OP_DispatchESMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (539,839,844,'OP_DispatchClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (540,839,844,'OP_UpdateTargetMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (541,839,844,'OP_UpdateTargetLocMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (542,839,844,'OP_UpdateCharacterSheetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (543,839,844,'OP_UpdateSpellBookMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (544,839,844,'OP_UpdateInventoryMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (545,839,844,'OP_UpdateRecipeBookMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (546,839,844,'OP_RequestRecipeDetailsMsg',64,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (547,839,844,'OP_RecipeDetailsMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (548,839,844,'OP_UpdateSkillBookMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (549,839,844,'OP_UpdateSkillsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (550,839,844,'OP_UpdateOpportunityMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (551,839,844,'OP_ChangeZoneMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (552,839,844,'OP_ClientTeleportRequestMsg',71,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (553,839,844,'OP_TeleportWithinZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (554,839,844,'OP_TeleportWithinZoneNoReloadMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (555,839,844,'OP_MigrateClientToZoneRequestMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (556,839,844,'OP_MigrateClientToZoneReplyMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (557,839,844,'OP_ReadyToZoneMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (558,839,844,'OP_RemoveClientFromGroupMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (559,839,844,'OP_RemoveGroupFromGroupMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (560,839,844,'OP_MakeGroupLeaderMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (561,839,844,'OP_GroupCreatedMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (562,839,844,'OP_GroupDestroyedMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (563,839,844,'OP_GroupMemberAddedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (564,839,844,'OP_GroupMemberRemovedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (565,839,844,'OP_GroupRemovedFromGroupMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (566,839,844,'OP_GroupLeaderChangedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (567,839,844,'OP_GroupResendOOZDataMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (568,839,844,'OP_GroupSettingsChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (569,839,844,'OP_OutOfZoneMemberDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (570,839,844,'OP_SendLatestRequestMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (571,839,844,'OP_ClearDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (572,839,844,'OP_SetSocialMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (573,839,844,'OP_ESStatusMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (574,839,844,'OP_ESZoneInstanceStatusMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (575,839,844,'OP_ZonesStatusRequestMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (576,839,844,'OP_ZonesStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (577,839,844,'OP_ESWeatherRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (578,839,844,'OP_ESWeatherRequestEndMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (579,839,844,'OP_DialogSelectMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (580,839,844,'OP_DialogCloseMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (581,839,844,'OP_RemoveSpellEffectMsg',100,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (582,839,844,'OP_RemoveConcentrationMsg',101,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (583,839,844,'OP_QuestJournalOpenMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (584,839,844,'OP_QuestJournalInspectMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (585,839,844,'OP_QuestJournalSetVisibleMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (586,839,844,'OP_QuestJournalWaypointMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (587,839,844,'OP_CreateGuildRequestMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (588,839,844,'OP_CreateGuildReplyMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (589,839,844,'OP_GuildsayMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (590,839,844,'OP_GuildUpdateMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (591,839,844,'OP_DeleteGuildMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (592,839,844,'OP_FellowshipExpMsg',113,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (593,839,844,'OP_ConsignmentCloseStoreMsg',114,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (594,839,844,'OP_ConsignItemRequestMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (595,839,844,'OP_ConsignItemResponseMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (596,839,844,'OP_PurchaseConsignmentRequestMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (597,839,844,'OP_HouseDeletedRemotelyMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (598,839,844,'OP_UpdateHouseDataMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (599,839,844,'OP_UpdateHouseAccessDataMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (600,839,844,'OP_PlayerHouseBaseScreenMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (601,839,844,'OP_PlayerHousePurchaseScreenMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (602,839,844,'OP_PlayerHouseAccessUpdateMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (603,839,844,'OP_PlayerHouseDisplayStatusMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (604,839,844,'OP_PlayerHouseCloseUIMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (605,839,844,'OP_BuyPlayerHouseMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (606,839,844,'OP_BuyPlayerHouseTintMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (607,839,844,'OP_CollectAllHouseItemsMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (608,839,844,'OP_RelinquishHouseMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (609,839,844,'OP_EnterHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (610,839,844,'OP_ExitHouseMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (611,839,844,'OP_HouseDefaultAccessSetMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (612,839,844,'OP_HouseAccessSetMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (613,839,844,'OP_HouseAccessRemoveMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (614,839,844,'OP_PayHouseUpkeepMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (615,839,844,'OP_MoveableObjectPlacementCriteri',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (616,839,844,'OP_EnterMoveObjectModeMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (617,839,844,'OP_PositionMoveableObject',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (618,839,844,'OP_CancelMoveObjectModeMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (619,839,844,'OP_ShaderCustomizationMsg',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (620,839,844,'OP_ReplaceableSubMeshesMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (621,839,844,'OP_HouseCustomizationScreenMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (622,839,844,'OP_CustomizationPurchaseRequestMs',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (623,839,844,'OP_CustomizationSetRequestMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (624,839,844,'OP_CustomizationReplyMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (625,839,844,'OP_TintWidgetsMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (626,839,844,'OP_ExamineConsignmentRequestMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (627,839,844,'OP_ExamineConsignmentResponseMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (628,839,844,'OP_UISettingsResponseMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (629,839,844,'OP_UIResetMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (630,839,844,'OP_KeymapLoadMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (631,839,844,'OP_KeymapNoneMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (632,839,844,'OP_KeymapDataMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (633,839,844,'OP_KeymapSaveMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (634,839,844,'OP_DispatchSpellCmdMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (635,839,844,'OP_EntityVerbsRequestMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (636,839,844,'OP_EntityVerbsReplyMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (637,839,844,'OP_EntityVerbsVerbMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (638,839,844,'OP_ChatRelationshipUpdateMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (639,839,844,'OP_LootItemsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (640,839,844,'OP_StoppedLootingMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (641,839,844,'OP_SitMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (642,839,844,'OP_StandMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (643,839,844,'OP_SatMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (644,839,844,'OP_StoodMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (645,839,844,'OP_ClearForTakeOffMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (646,839,844,'OP_ReadyForTakeOffMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (647,839,844,'OP_ShowIllusionsMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (648,839,844,'OP_HideIllusionsMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (649,839,844,'OP_ExamineItemRequestMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (650,839,844,'OP_ReadBookPageMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (651,839,844,'OP_DefaultGroupOptionsRequestMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (652,839,844,'OP_DefaultGroupOptionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (653,839,844,'OP_GroupOptionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (654,839,844,'OP_DisplayGroupOptionsScreenMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (655,839,844,'OP_DisplayInnVisitScreenMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (656,839,844,'OP_DumpSchedulerMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (657,839,844,'OP_LSRequestPlayerDescMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (658,839,844,'OP_LSCheckAcctLockMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (659,839,844,'OP_WSAcctLockStatusMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (660,839,844,'OP_RequestHelpRepathMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (661,839,844,'OP_RequestTargetLocMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (662,839,844,'OP_UpdateMotdMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (663,839,844,'OP_PerformPlayerKnockbackMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (664,839,844,'OP_PerformCameraShakeMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (665,839,844,'OP_PopulateSkillMapsMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (666,839,844,'OP_CancelledFeignMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (667,839,844,'OP_SignalMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (668,839,844,'OP_ShowCreateFromRecipeUIMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (669,839,844,'OP_CancelCreateFromRecipeMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (670,839,844,'OP_BeginItemCreationMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (671,839,844,'OP_StopItemCreationMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (672,839,844,'OP_ShowItemCreationProcessUIMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (673,839,844,'OP_UpdateItemCreationProcessUIMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (674,839,844,'OP_DisplayTSEventReactionMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (675,839,844,'OP_ShowRecipeBookMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (676,839,844,'OP_KnowledgebaseRequestMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (677,839,844,'OP_KnowledgebaseResponseMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (678,839,844,'OP_CSTicketHeaderRequestMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (679,839,844,'OP_CSTicketInfoMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (680,839,844,'OP_CSTicketCommentRequestMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (681,839,844,'OP_CSTicketCommentResponseMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (682,839,844,'OP_CSTicketCreateMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (683,839,844,'OP_CSTicketAddCommentMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (684,839,844,'OP_CSTicketDeleteMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (685,839,844,'OP_CSTicketChangeNotificationMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (686,839,844,'OP_WorldDataUpdateMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (687,839,844,'OP_KnownLanguagesMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (688,839,844,'OP_LsRequestClientCrashLogMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (689,839,844,'OP_LsClientBaselogReplyMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (690,839,844,'OP_LsClientCrashlogReplyMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (691,839,844,'OP_LsClientAlertlogReplyMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (692,839,844,'OP_LsClientVerifylogReplyMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (693,839,844,'OP_ClientTeleportToLocationMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (694,839,844,'OP_UpdateClientPredFlagsMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (695,839,844,'OP_ChangeServerControlFlagMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (696,839,844,'OP_CSToolsRequestMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (697,839,844,'OP_CSToolsResponseMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (698,839,844,'OP_AddSocialStructureStandingMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (699,839,844,'OP_CreateBoatTransportsMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (700,839,844,'OP_PositionBoatTransportMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (701,839,844,'OP_MigrateBoatTransportMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (702,839,844,'OP_MigrateBoatTransportReplyMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (703,839,844,'OP_DisplayDebugNLLPointsMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (704,839,844,'OP_ExamineInfoRequestMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (705,839,844,'OP_QuickbarInitMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (706,839,844,'OP_QuickbarUpdateMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (707,839,844,'OP_MacroInitMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (708,839,844,'OP_MacroUpdateMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (709,839,844,'OP_QuestionnaireMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (710,839,844,'OP_LevelChangedMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (711,839,844,'OP_SpellGainedMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (712,839,844,'OP_EncounterBrokenMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (713,839,844,'OP_OnscreenMsgMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (714,839,844,'OP_DisplayWarningMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (715,839,844,'OP_ModifyGuildMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (716,839,844,'OP_GuildEventMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (717,839,844,'OP_GuildEventAddMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (718,839,844,'OP_GuildEventActionMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (719,839,844,'OP_GuildEventListMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (720,839,844,'OP_RequestGuildEventDetailsMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (721,839,844,'OP_GuildEventDetailsMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (722,839,844,'OP_RequestGuildInfoMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (723,839,844,'OP_GuildBankActionMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (724,839,844,'OP_GuildBankActionResponseMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (725,839,844,'OP_GuildBankItemDetailsRequestMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (726,839,844,'OP_GuildBankItemDetailsResponseMs',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (727,839,844,'OP_GuildBankUpdateMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (728,839,844,'OP_GuildBankEventListMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (729,839,844,'OP_RequestGuildBankEventDetailsMs',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (730,839,844,'OP_RewardPackMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (731,839,844,'OP_RenameGuildMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (732,839,844,'OP_ZoneToFriendRequestMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (733,839,844,'OP_ZoneToFriendReplyMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (734,839,844,'OP_ChatCreateChannelMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (735,839,844,'OP_ChatJoinChannelMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (736,839,844,'OP_ChatWhoChannelMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (737,839,844,'OP_ChatLeaveChannelMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (738,839,844,'OP_ChatTellChannelMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (739,839,844,'OP_ChatTellUserMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (740,839,844,'OP_ChatToggleFriendMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (741,839,844,'OP_ChatToggleIgnoreMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (742,839,844,'OP_ChatSendFriendsMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (743,839,844,'OP_ChatSendIgnoresMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (744,839,844,'OP_QuestReward',294,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (745,839,844,'OP_ChatFiltersMsg',309,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (746,839,844,'OP_MailGetHeadersMsg',310,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (747,839,844,'OP_MailGetMessageMsg',311,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (748,839,844,'OP_MailSendMessageMsg',312,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (749,839,844,'OP_MailDeleteMessageMsg',313,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (750,839,844,'OP_MailGetHeadersReplyMsg',314,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (751,839,844,'OP_MailGetMessageReplyMsg',315,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (752,839,844,'OP_MailSendMessageReplyMsg',316,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (753,839,844,'OP_MailCommitSendMessageMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (754,839,844,'OP_MailSendSystemMessageMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (755,839,844,'OP_MailRemoveAttachFromMailMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (756,839,844,'OP_WaypointRequestMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (757,839,844,'OP_WaypointReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (758,839,844,'OP_WaypointSelectMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (759,839,844,'OP_WaypointUpdateMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (760,839,844,'OP_CharNameChangedMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (761,839,844,'OP_ShowZoneTeleporterDestinations',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (762,839,844,'OP_SelectZoneTeleporterDestinatio',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (763,839,844,'OP_ReloadLocalizedTxtMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (764,839,844,'OP_RequestGuildMembershipMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (765,839,844,'OP_GuildMembershipResponseMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (766,839,844,'OP_LeaveGuildNotifyMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (767,839,844,'OP_JoinGuildNotifyMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (768,839,844,'OP_AvatarUpdateMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (769,839,844,'OP_BioUpdateMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (770,839,844,'OP_InspectPlayerMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (771,839,844,'OP_WSServerLockMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (772,839,844,'OP_LSServerLockMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (773,839,844,'OP_WSServerHideMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (774,839,844,'OP_CsCategoryRequestMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (775,839,844,'OP_CsCategoryResponseMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (776,839,844,'OP_KnowledgeWindowSlotMappingMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (777,839,844,'OP_LFGUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (778,839,844,'OP_AFKUpdateMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (779,839,844,'OP_AnonUpdateMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (780,839,844,'OP_UpdateActivePublicZonesMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (781,839,844,'OP_UnknownNpcMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (782,839,844,'OP_PromoFlagsDetailsMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (783,839,844,'OP_ConsignViewCreateMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (784,839,844,'OP_ConsignViewGetPageMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (785,839,844,'OP_ConsignViewReleaseMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (786,839,844,'OP_ConsignRemoveItemsMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (787,839,844,'OP_UpdateDebugRadiiMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (788,839,844,'OP_SnoopMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (789,839,844,'OP_ReportMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (790,839,844,'OP_UpdateRaidMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (791,839,844,'OP_ConsignViewSortMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (792,839,844,'OP_TitleUpdateMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (793,839,844,'OP_ClientFellMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (794,839,844,'OP_ClientInDeathRegionMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (795,839,844,'OP_CampClientMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (796,839,844,'OP_CSToolAccessResponseMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (797,839,844,'OP_TrackingUpdateMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (798,839,844,'OP_BeginTrackingMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (799,839,844,'OP_StopTrackingMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (800,839,844,'OP_GetAvatarAccessRequestForCSToo',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (801,839,844,'OP_AdvancementRequestMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (802,839,844,'OP_UpdateAvgFrameTimeMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (803,839,844,'OP_MapFogDataInitMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (804,839,844,'OP_MapFogDataUpdateMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (805,839,844,'OP_CloseGroupInviteWindowMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (806,839,844,'OP_UpdateGroupMemberDataMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (807,839,844,'OP_WorldPingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (808,839,844,'OP_MoveLogUpdateMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (809,839,844,'OP_OfferQuestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (810,839,844,'OP_WorldShutdownUpdateMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (811,839,844,'OP_DisplayMailScreenMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (812,839,844,'OP_ClientIdleBeginMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (813,839,844,'OP_ClientIdleEndMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (814,839,844,'OP_PurchaseConsignmentLoreCheckRe',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (815,839,844,'OP_NotifyApprenticeStoppedMentori',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (816,839,844,'OP_CorruptedClientMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (817,839,844,'OP_WorldDataChangeMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (818,839,844,'OP_MailEventNotificationMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (819,839,844,'OP_RestartZoneMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (820,839,844,'OP_FlightPathsMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (821,839,844,'OP_CharacterLinkdeadMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (822,839,844,'OP_CharTransferStartRequestMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (823,839,844,'OP_CharTransferStartReplyMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (824,839,844,'OP_CharTransferRequestMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (825,839,844,'OP_CharTransferReplyMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (826,839,844,'OP_CharTransferRollbackRequestMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (827,839,844,'OP_CharTransferCommitRequestMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (828,839,844,'OP_CharTransferRollbackReplyMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (829,839,844,'OP_CharTransferCommitReplyMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (830,839,844,'OP_GetCharacterSerializedRequestM',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (831,839,844,'OP_GetCharacterSerializedReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (832,839,844,'OP_CreateCharFromCBBRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (833,839,844,'OP_CreateCharFromCBBReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (834,839,844,'OP_HousingDataChangedMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (835,839,844,'OP_HousingRestoreMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (836,839,844,'OP_AuctionItem',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (837,839,844,'OP_AuctionItemReply',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (838,839,844,'OP_AuctionCoin',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (839,839,844,'OP_AuctionCoinReply',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (840,839,844,'OP_AuctionCharacter',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (841,839,844,'OP_AuctionCharacterReply',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (842,839,844,'OP_AuctionCommitMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (843,839,844,'OP_AuctionAbortMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (844,839,844,'OP_CharTransferValidateRequestMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (845,839,844,'OP_CharTransferValidateReplyMsg',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (846,839,844,'OP_RaceRestrictionMsg',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (847,839,844,'OP_SetInstanceDisplayNameMsg',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (848,839,844,'OP_GetAuctionAssetIDMsg',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (849,839,844,'OP_GetAuctionAssetIDReplyMsg',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (850,839,844,'OP_ResendWorldChannelsMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (851,839,844,'OP_DisplayExchangeScreenMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (852,839,844,'OP_ArenaGameTypesMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (853,839,844,'OP_AuditAuctionEventMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (854,839,844,'OP_InviteRequestMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (855,839,844,'OP_InviteResponseMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (856,839,844,'OP_InviteTargetResponseMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (857,839,844,'OP_InspectPlayerRequestMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (858,839,844,'OP_DispatchMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (859,839,844,'OP_DisplayEventMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (860,839,844,'OP_PrePossessionMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (861,839,844,'OP_PostPossessionMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (862,839,844,'OP_AdventureList',454,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (863,839,844,'OP_CancelSpellCast',455,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (864,839,844,'OP_AttackAllowed',467,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (865,839,844,'OP_AttackNotAllowed',468,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (866,839,844,'OP_DressingRoom',474,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (867,839,844,'OP_SkillInfoRequest',478,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (868,839,844,'OP_SkillInfoResponse',479,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (869,839,844,'OP_EqHearChatCmd',480,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (870,839,844,'OP_EqDisplayTextCmd',481,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (871,839,844,'OP_EqCreateGhostCmd',482,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (872,839,844,'OP_EqCreateWidgetCmd',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (873,839,844,'OP_EqCreateSignWidgetCmd',484,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (874,839,844,'OP_EqDestroyGhostCmd',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (875,839,844,'OP_EqUpdateGhostCmd',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (876,839,844,'OP_EqSetControlGhostCmd',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (877,839,844,'OP_EqSetPOVGhostCmd',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (878,839,844,'OP_EqHearCombatCmd',489,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (879,839,844,'OP_EqHearSpellCastCmd',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (880,839,844,'OP_EqHearSpellInterruptCmd',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (881,839,844,'OP_EqHearSpellFizzleCmd',494,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (882,839,844,'OP_EqHearConsiderCmd',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (883,839,844,'OP_EqUpdateSubClassesCmd',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (884,839,844,'OP_EqCreateListBoxCmd',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (885,839,844,'OP_EqSetDebugPathPointsCmd',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (886,839,844,'OP_EqCannedEmoteCmd',500,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (887,839,844,'OP_EqStateCmd',501,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (888,839,844,'OP_EqPlaySoundCmd',502,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (889,839,844,'OP_EqPlaySound3DCmd',503,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (890,839,844,'OP_EqPlayVoiceCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (891,839,844,'OP_EqHearDrowningCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (892,839,844,'OP_EqHearDeathCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (893,839,844,'OP_EqGroupMemberRemovedCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (894,839,844,'OP_EqHearChainEffectCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (895,839,844,'OP_EqReceiveOfferCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (896,839,844,'OP_EqInspectPCResultsCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (897,839,844,'OP_EqDrawablePathGraphCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (898,839,844,'OP_EqDialogOpenCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (899,839,844,'OP_EqDialogCloseCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (900,839,844,'OP_EqFactionUpdateCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (901,839,844,'OP_EqCollectionUpdateCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (902,839,844,'OP_EqCollectionFilterCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (903,839,844,'OP_EqCollectionItemCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (904,839,844,'OP_EqQuestJournalUpdateCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (905,839,844,'OP_EqQuestJournalReplyCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (906,839,844,'OP_EqQuestGroupCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (907,839,844,'OP_EqUpdateMerchantCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (908,839,844,'OP_EqUpdateStoreCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (909,839,844,'OP_EqUpdatePlayerTradeCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (910,839,844,'OP_EqHelpPathCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (911,839,844,'OP_EqHelpPathClearCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (912,839,844,'OP_EqUpdateBankCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (913,839,844,'OP_EqExamineInfoCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (914,839,844,'OP_EqCloseWindowCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (915,839,844,'OP_EqUpdateLootCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (916,839,844,'OP_EqJunctionListCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (917,839,844,'OP_EqShowDeathWindowCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (918,839,844,'OP_EqDisplaySpellFailCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (919,839,844,'OP_EqSpellCastStartCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (920,839,844,'OP_EqSpellCastEndCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (921,839,844,'OP_EqResurrectedCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (922,839,844,'OP_EqChoiceWinCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (923,839,844,'OP_EqSetDefaultVerbCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (924,839,844,'OP_EqInstructionWindowCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (925,839,844,'OP_EqInstructionWindowCloseCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (926,839,844,'OP_EqInstructionWindowGoalCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (927,839,844,'OP_EqInstructionWindowTaskCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (928,839,844,'OP_EqEnableGameEventCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (929,839,844,'OP_EqShowWindowCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (930,839,844,'OP_EqEnableWindowCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (931,839,844,'OP_EqFlashWindowCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (932,839,844,'OP_EqHearPlayFlavorCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (933,839,844,'OP_EqUpdateSignWidgetCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (934,839,844,'OP_EqDebugPVDCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (935,839,844,'OP_EqShowBookCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (936,839,844,'OP_EqQuestionnaireCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (937,839,844,'OP_EqGetProbsCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (938,839,844,'OP_EqHearHealCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (939,839,844,'OP_EqChatChannelUpdateCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (940,839,844,'OP_EqWhoChannelQueryReplyCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (941,839,844,'OP_EqAvailWorldChannelsCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (942,839,844,'OP_EqUpdateTargetCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (943,839,844,'OP_EqConsignmentItemsCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (944,839,844,'OP_EqStartBrokerCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (945,839,844,'OP_EqMapExplorationCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (946,839,844,'OP_EqStoreLogCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (947,839,844,'OP_EqSpellMoveToRangeAndRetryCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (948,839,844,'OP_EqUpdatePlayerMailCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (949,839,844,'OP_EqArenaResultsCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (950,839,844,'OP_EqGuildBankEventActionCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (951,839,844,'OP_EqGuildBankExamineInfoCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (952,839,844,'OP_EqHearSpellNoLandCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (953,839,844,'OP_Lottery',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (954,839,844,'OP_GuildRecruitingMemberInfo',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (955,839,844,'OP_GuildRecruiting',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (956,839,844,'OP_GuildRecruitingDetails',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (957,839,844,'OP_GuildRecruitingImage',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (958,839,844,'OP_PointOfInterest',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (959,839,844,'OP_TraitsList',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (960,839,844,'OP_RecipeList',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (961,839,844,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (962,839,844,'OP_AddClientToGroupMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (963,839,844,'OP_AddGroupToGroupMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (964,839,844,'OP_GuildKickMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (965,839,844,'OP_PurchaseConsignmentResponseMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (966,839,844,'OP_ProcessScriptMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (967,839,844,'OP_ProcessWorkspaceMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (968,839,844,'OP_QuickbarAddMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (969,839,844,'OP_SkillSlotMapping',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (970,839,844,'OP_MapRequest',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (971,839,844,'OP_Unknown',10000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (972,839,844,'OP_WSWeatherUpdateMsg',10012,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (973,860,864,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (974,860,864,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (975,860,864,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (976,860,864,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (977,860,864,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (978,860,864,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (979,860,864,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (980,860,864,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (981,860,864,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (982,860,864,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (983,860,864,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (984,860,864,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (985,860,864,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (986,860,864,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (987,860,864,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (988,860,864,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (989,860,864,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (990,860,864,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (991,860,864,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (992,860,864,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (993,860,864,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (994,860,864,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (995,860,864,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (996,860,864,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (997,860,864,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (998,860,864,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (999,860,864,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1000,860,864,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1001,860,864,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1002,860,864,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1003,860,864,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1004,860,864,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1005,860,864,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1006,860,864,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1007,860,864,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1008,860,864,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1009,860,864,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1010,860,864,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1011,860,864,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1012,860,864,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1013,860,864,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1014,860,864,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1015,860,864,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1016,860,864,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1017,860,864,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1018,860,864,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1019,860,864,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1020,860,864,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1021,860,864,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1022,860,864,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1023,860,864,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1024,860,864,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1025,860,864,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1026,860,864,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1027,860,864,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1028,860,864,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1029,860,864,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1030,860,864,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1031,860,864,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1032,860,864,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1033,860,864,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1034,860,864,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1035,860,864,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1036,860,864,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1037,860,864,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1038,860,864,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1039,860,864,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1040,860,864,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1041,860,864,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1042,860,864,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1043,860,864,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1044,860,864,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1045,860,864,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1046,860,864,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1047,860,864,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1048,860,864,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1049,860,864,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1050,860,864,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1051,860,864,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1052,860,864,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1053,860,864,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1054,860,864,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1055,860,864,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1056,860,864,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1057,860,864,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1058,860,864,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1059,860,864,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1060,860,864,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1061,860,864,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1062,860,864,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1063,860,864,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1064,860,864,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1065,860,864,'OP_DialogSelectMsg',100,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1066,860,864,'OP_DialogCloseMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1067,860,864,'OP_RemoveSpellEffectMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1068,860,864,'OP_RemoveConcentrationMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1069,860,864,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1070,860,864,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1071,860,864,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1072,860,864,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1073,860,864,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1074,860,864,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1075,860,864,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1076,860,864,'OP_GuildUpdateMsg',113,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1077,860,864,'OP_DeleteGuildMsg',114,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1078,860,864,'OP_FellowshipExpMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1079,860,864,'OP_ConsignmentCloseStoreMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1080,860,864,'OP_ConsignItemRequestMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1081,860,864,'OP_ConsignItemResponseMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1082,860,864,'OP_PurchaseConsignmentRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1083,860,864,'OP_HouseDeletedRemotelyMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1084,860,864,'OP_UpdateHouseDataMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1085,860,864,'OP_UpdateHouseAccessDataMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1086,860,864,'OP_PlayerHouseBaseScreenMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1087,860,864,'OP_PlayerHousePurchaseScreenMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1088,860,864,'OP_PlayerHouseAccessUpdateMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1089,860,864,'OP_PlayerHouseDisplayStatusMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1090,860,864,'OP_PlayerHouseCloseUIMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1091,860,864,'OP_BuyPlayerHouseMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1092,860,864,'OP_BuyPlayerHouseTintMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1093,860,864,'OP_CollectAllHouseItemsMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1094,860,864,'OP_RelinquishHouseMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1095,860,864,'OP_EnterHouseMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1096,860,864,'OP_ExitHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1097,860,864,'OP_HouseDefaultAccessSetMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1098,860,864,'OP_HouseAccessSetMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1099,860,864,'OP_HouseAccessRemoveMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1100,860,864,'OP_PayHouseUpkeepMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1101,860,864,'OP_MoveableObjectPlacementCriteri',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1102,860,864,'OP_EnterMoveObjectModeMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1103,860,864,'OP_PositionMoveableObject',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1104,860,864,'OP_CancelMoveObjectModeMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1105,860,864,'OP_ShaderCustomizationMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1106,860,864,'OP_ReplaceableSubMeshesMsg',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1107,860,864,'OP_HouseCustomizationScreenMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1108,860,864,'OP_CustomizationPurchaseRequestMs',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1109,860,864,'OP_CustomizationSetRequestMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1110,860,864,'OP_CustomizationReplyMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1111,860,864,'OP_TintWidgetsMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1112,860,864,'OP_ExamineConsignmentRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1113,860,864,'OP_ExamineConsignmentResponseMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1114,860,864,'OP_UISettingsResponseMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1115,860,864,'OP_UIResetMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1116,860,864,'OP_KeymapLoadMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1117,860,864,'OP_KeymapNoneMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1118,860,864,'OP_KeymapDataMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1119,860,864,'OP_KeymapSaveMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1120,860,864,'OP_DispatchSpellCmdMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1121,860,864,'OP_EntityVerbsRequestMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1122,860,864,'OP_EntityVerbsReplyMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1123,860,864,'OP_EntityVerbsVerbMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1124,860,864,'OP_ChatRelationshipUpdateMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1125,860,864,'OP_LootItemsRequestMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1126,860,864,'OP_StoppedLootingMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1127,860,864,'OP_SitMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1128,860,864,'OP_StandMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1129,860,864,'OP_SatMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1130,860,864,'OP_StoodMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1131,860,864,'OP_ClearForTakeOffMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1132,860,864,'OP_ReadyForTakeOffMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1133,860,864,'OP_ShowIllusionsMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1134,860,864,'OP_HideIllusionsMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1135,860,864,'OP_ExamineItemRequestMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1136,860,864,'OP_ReadBookPageMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1137,860,864,'OP_DefaultGroupOptionsRequestMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1138,860,864,'OP_DefaultGroupOptionsMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1139,860,864,'OP_GroupOptionsMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1140,860,864,'OP_DisplayGroupOptionsScreenMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1141,860,864,'OP_DisplayInnVisitScreenMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1142,860,864,'OP_DumpSchedulerMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1143,860,864,'OP_LSRequestPlayerDescMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1144,860,864,'OP_LSCheckAcctLockMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1145,860,864,'OP_WSAcctLockStatusMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1146,860,864,'OP_RequestHelpRepathMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1147,860,864,'OP_RequestTargetLocMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1148,860,864,'OP_UpdateMotdMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1149,860,864,'OP_PerformPlayerKnockbackMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1150,860,864,'OP_PerformCameraShakeMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1151,860,864,'OP_PopulateSkillMapsMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1152,860,864,'OP_CancelledFeignMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1153,860,864,'OP_SignalMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1154,860,864,'OP_ShowCreateFromRecipeUIMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1155,860,864,'OP_CancelCreateFromRecipeMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1156,860,864,'OP_BeginItemCreationMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1157,860,864,'OP_StopItemCreationMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1158,860,864,'OP_ShowItemCreationProcessUIMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1159,860,864,'OP_UpdateItemCreationProcessUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1160,860,864,'OP_DisplayTSEventReactionMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1161,860,864,'OP_ShowRecipeBookMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1162,860,864,'OP_KnowledgebaseRequestMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1163,860,864,'OP_KnowledgebaseResponseMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1164,860,864,'OP_CSTicketHeaderRequestMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1165,860,864,'OP_CSTicketInfoMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1166,860,864,'OP_CSTicketCommentRequestMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1167,860,864,'OP_CSTicketCommentResponseMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1168,860,864,'OP_CSTicketCreateMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1169,860,864,'OP_CSTicketAddCommentMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1170,860,864,'OP_CSTicketDeleteMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1171,860,864,'OP_CSTicketChangeNotificationMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1172,860,864,'OP_WorldDataUpdateMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1173,860,864,'OP_KnownLanguagesMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1174,860,864,'OP_LsRequestClientCrashLogMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1175,860,864,'OP_LsClientBaselogReplyMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1176,860,864,'OP_LsClientCrashlogReplyMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1177,860,864,'OP_LsClientAlertlogReplyMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1178,860,864,'OP_LsClientVerifylogReplyMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1179,860,864,'OP_ClientTeleportToLocationMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1180,860,864,'OP_UpdateClientPredFlagsMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1181,860,864,'OP_ChangeServerControlFlagMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1182,860,864,'OP_CSToolsRequestMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1183,860,864,'OP_CSToolsResponseMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1184,860,864,'OP_AddSocialStructureStandingMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1185,860,864,'OP_CreateBoatTransportsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1186,860,864,'OP_PositionBoatTransportMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1187,860,864,'OP_MigrateBoatTransportMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1188,860,864,'OP_MigrateBoatTransportReplyMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1189,860,864,'OP_DisplayDebugNLLPointsMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1190,860,864,'OP_ExamineInfoRequestMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1191,860,864,'OP_QuickbarInitMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1192,860,864,'OP_QuickbarUpdateMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1193,860,864,'OP_MacroInitMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1194,860,864,'OP_MacroUpdateMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1195,860,864,'OP_QuestionnaireMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1196,860,864,'OP_LevelChangedMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1197,860,864,'OP_SpellGainedMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1198,860,864,'OP_EncounterBrokenMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1199,860,864,'OP_OnscreenMsgMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1200,860,864,'OP_DisplayWarningMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1201,860,864,'OP_ModifyGuildMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1202,860,864,'OP_GuildEventMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1203,860,864,'OP_GuildEventAddMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1204,860,864,'OP_GuildEventActionMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1205,860,864,'OP_GuildEventListMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1206,860,864,'OP_RequestGuildEventDetailsMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1207,860,864,'OP_GuildEventDetailsMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1208,860,864,'OP_RequestGuildInfoMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1209,860,864,'OP_GuildBankActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1210,860,864,'OP_GuildBankActionResponseMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1211,860,864,'OP_GuildBankItemDetailsRequestMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1212,860,864,'OP_GuildBankItemDetailsResponseMs',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1213,860,864,'OP_GuildBankUpdateMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1214,860,864,'OP_GuildBankEventListMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1215,860,864,'OP_RequestGuildBankEventDetailsMs',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1216,860,864,'OP_RewardPackMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1217,860,864,'OP_RenameGuildMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1218,860,864,'OP_ZoneToFriendRequestMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1219,860,864,'OP_ZoneToFriendReplyMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1220,860,864,'OP_ChatCreateChannelMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1221,860,864,'OP_ChatJoinChannelMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1222,860,864,'OP_ChatWhoChannelMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1223,860,864,'OP_ChatLeaveChannelMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1224,860,864,'OP_ChatTellChannelMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1225,860,864,'OP_ChatTellUserMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1226,860,864,'OP_ChatToggleFriendMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1227,860,864,'OP_ChatToggleIgnoreMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1228,860,864,'OP_ChatSendFriendsMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1229,860,864,'OP_ChatSendIgnoresMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1230,860,864,'OP_QuestReward',296,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1231,860,864,'OP_ChatFiltersMsg',311,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1232,860,864,'OP_MailGetHeadersMsg',312,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1233,860,864,'OP_MailGetMessageMsg',313,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1234,860,864,'OP_MailSendMessageMsg',314,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1235,860,864,'OP_MailDeleteMessageMsg',315,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1236,860,864,'OP_MailGetHeadersReplyMsg',316,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1237,860,864,'OP_MailGetMessageReplyMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1238,860,864,'OP_MailSendMessageReplyMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1239,860,864,'OP_MailCommitSendMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1240,860,864,'OP_MailSendSystemMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1241,860,864,'OP_MailRemoveAttachFromMailMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1242,860,864,'OP_WaypointRequestMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1243,860,864,'OP_WaypointReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1244,860,864,'OP_WaypointSelectMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1245,860,864,'OP_WaypointUpdateMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1246,860,864,'OP_CharNameChangedMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1247,860,864,'OP_ShowZoneTeleporterDestinations',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1248,860,864,'OP_SelectZoneTeleporterDestinatio',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1249,860,864,'OP_ReloadLocalizedTxtMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1250,860,864,'OP_RequestGuildMembershipMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1251,860,864,'OP_GuildMembershipResponseMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1252,860,864,'OP_LeaveGuildNotifyMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1253,860,864,'OP_JoinGuildNotifyMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1254,860,864,'OP_AvatarUpdateMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1255,860,864,'OP_BioUpdateMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1256,860,864,'OP_InspectPlayerMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1257,860,864,'OP_WSServerLockMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1258,860,864,'OP_LSServerLockMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1259,860,864,'OP_WSServerHideMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1260,860,864,'OP_CsCategoryRequestMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1261,860,864,'OP_CsCategoryResponseMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1262,860,864,'OP_KnowledgeWindowSlotMappingMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1263,860,864,'OP_LFGUpdateMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1264,860,864,'OP_AFKUpdateMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1265,860,864,'OP_AnonUpdateMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1266,860,864,'OP_UpdateActivePublicZonesMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1267,860,864,'OP_UnknownNpcMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1268,860,864,'OP_PromoFlagsDetailsMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1269,860,864,'OP_ConsignViewCreateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1270,860,864,'OP_ConsignViewGetPageMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1271,860,864,'OP_ConsignViewReleaseMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1272,860,864,'OP_ConsignRemoveItemsMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1273,860,864,'OP_UpdateDebugRadiiMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1274,860,864,'OP_SnoopMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1275,860,864,'OP_ReportMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1276,860,864,'OP_UpdateRaidMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1277,860,864,'OP_ConsignViewSortMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1278,860,864,'OP_TitleUpdateMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1279,860,864,'OP_ClientFellMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1280,860,864,'OP_ClientInDeathRegionMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1281,860,864,'OP_CampClientMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1282,860,864,'OP_CSToolAccessResponseMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1283,860,864,'OP_TrackingUpdateMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1284,860,864,'OP_BeginTrackingMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1285,860,864,'OP_StopTrackingMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1286,860,864,'OP_GetAvatarAccessRequestForCSToo',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1287,860,864,'OP_AdvancementRequestMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1288,860,864,'OP_UpdateAvgFrameTimeMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1289,860,864,'OP_MapFogDataInitMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1290,860,864,'OP_MapFogDataUpdateMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1291,860,864,'OP_CloseGroupInviteWindowMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1292,860,864,'OP_UpdateGroupMemberDataMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1293,860,864,'OP_WorldPingMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1294,860,864,'OP_MoveLogUpdateMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1295,860,864,'OP_OfferQuestMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1296,860,864,'OP_WorldShutdownUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1297,860,864,'OP_DisplayMailScreenMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1298,860,864,'OP_ClientIdleBeginMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1299,860,864,'OP_ClientIdleEndMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1300,860,864,'OP_PurchaseConsignmentLoreCheckRe',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1301,860,864,'OP_NotifyApprenticeStoppedMentori',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1302,860,864,'OP_CorruptedClientMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1303,860,864,'OP_WorldDataChangeMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1304,860,864,'OP_MailEventNotificationMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1305,860,864,'OP_RestartZoneMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1306,860,864,'OP_FlightPathsMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1307,860,864,'OP_CharacterLinkdeadMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1308,860,864,'OP_CharTransferStartRequestMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1309,860,864,'OP_CharTransferStartReplyMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1310,860,864,'OP_CharTransferRequestMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1311,860,864,'OP_CharTransferReplyMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1312,860,864,'OP_CharTransferRollbackRequestMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1313,860,864,'OP_CharTransferCommitRequestMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1314,860,864,'OP_CharTransferRollbackReplyMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1315,860,864,'OP_CharTransferCommitReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1316,860,864,'OP_GetCharacterSerializedRequestM',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1317,860,864,'OP_GetCharacterSerializedReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1318,860,864,'OP_CreateCharFromCBBRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1319,860,864,'OP_CreateCharFromCBBReplyMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1320,860,864,'OP_HousingDataChangedMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1321,860,864,'OP_HousingRestoreMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1322,860,864,'OP_AuctionItem',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1323,860,864,'OP_AuctionItemReply',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1324,860,864,'OP_AuctionCoin',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1325,860,864,'OP_AuctionCoinReply',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1326,860,864,'OP_AuctionCharacter',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1327,860,864,'OP_AuctionCharacterReply',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1328,860,864,'OP_AuctionCommitMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1329,860,864,'OP_AuctionAbortMsg',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1330,860,864,'OP_CharTransferValidateRequestMsg',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1331,860,864,'OP_CharTransferValidateReplyMsg',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1332,860,864,'OP_RaceRestrictionMsg',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1333,860,864,'OP_SetInstanceDisplayNameMsg',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1334,860,864,'OP_GetAuctionAssetIDMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1335,860,864,'OP_GetAuctionAssetIDReplyMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1336,860,864,'OP_ResendWorldChannelsMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1337,860,864,'OP_DisplayExchangeScreenMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1338,860,864,'OP_ArenaGameTypesMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1339,860,864,'OP_AuditAuctionEventMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1340,860,864,'OP_InviteRequestMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1341,860,864,'OP_InviteResponseMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1342,860,864,'OP_InviteTargetResponseMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1343,860,864,'OP_InspectPlayerRequestMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1344,860,864,'OP_DispatchMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1345,860,864,'OP_DisplayEventMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1346,860,864,'OP_PrePossessionMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1347,860,864,'OP_PostPossessionMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1348,860,864,'OP_AdventureList',456,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1349,860,864,'OP_CancelSpellCast',457,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1350,860,864,'OP_AttackAllowed',469,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1351,860,864,'OP_AttackNotAllowed',470,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1352,860,864,'OP_DressingRoom',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1353,860,864,'OP_SkillInfoRequest',480,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1354,860,864,'OP_SkillInfoResponse',481,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1355,860,864,'OP_EqUnknown',482,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1356,860,864,'OP_EqHearChatCmd',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1357,860,864,'OP_EqDisplayTextCmd',484,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1358,860,864,'OP_EqCreateGhostCmd',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1359,860,864,'OP_EqCreateWidgetCmd',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1360,860,864,'OP_EqCreateSignWidgetCmd',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1361,860,864,'OP_EqDestroyGhostCmd',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1362,860,864,'OP_EqUpdateGhostCmd',489,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1363,860,864,'OP_EqSetControlGhostCmd',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1364,860,864,'OP_EqSetPOVGhostCmd',491,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1365,860,864,'OP_EqHearCombatCmd',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1366,860,864,'OP_EqHearSpellCastCmd',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1367,860,864,'OP_EqHearSpellInterruptCmd',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1368,860,864,'OP_EqHearSpellFizzleCmd',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1369,860,864,'OP_EqHearConsiderCmd',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1370,860,864,'OP_EqUpdateSubClassesCmd',499,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1371,860,864,'OP_EqCreateListBoxCmd',500,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1372,860,864,'OP_EqSetDebugPathPointsCmd',501,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1373,860,864,'OP_EqCannedEmoteCmd',503,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1374,860,864,'OP_EqStateCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1375,860,864,'OP_EqPlaySoundCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1376,860,864,'OP_EqPlaySound3DCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1377,860,864,'OP_EqPlayVoiceCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1378,860,864,'OP_EqHearDrowningCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1379,860,864,'OP_EqHearDeathCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1380,860,864,'OP_EqGroupMemberRemovedCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1381,860,864,'OP_EqHearChainEffectCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1382,860,864,'OP_EqReceiveOfferCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1383,860,864,'OP_EqInspectPCResultsCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1384,860,864,'OP_EqDrawablePathGraphCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1385,860,864,'OP_EqDialogOpenCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1386,860,864,'OP_EqDialogCloseCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1387,860,864,'OP_EqFactionUpdateCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1388,860,864,'OP_EqCollectionUpdateCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1389,860,864,'OP_EqCollectionFilterCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1390,860,864,'OP_EqCollectionItemCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1391,860,864,'OP_EqQuestJournalUpdateCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1392,860,864,'OP_EqQuestJournalReplyCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1393,860,864,'OP_EqQuestGroupCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1394,860,864,'OP_EqUpdateMerchantCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1395,860,864,'OP_EqUpdateStoreCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1396,860,864,'OP_EqUpdatePlayerTradeCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1397,860,864,'OP_EqHelpPathCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1398,860,864,'OP_EqHelpPathClearCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1399,860,864,'OP_EqUpdateBankCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1400,860,864,'OP_EqExamineInfoCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1401,860,864,'OP_EqCloseWindowCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1402,860,864,'OP_EqUpdateLootCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1403,860,864,'OP_EqJunctionListCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1404,860,864,'OP_EqShowDeathWindowCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1405,860,864,'OP_EqDisplaySpellFailCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1406,860,864,'OP_EqSpellCastStartCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1407,860,864,'OP_EqSpellCastEndCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1408,860,864,'OP_EqResurrectedCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1409,860,864,'OP_EqChoiceWinCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1410,860,864,'OP_EqSetDefaultVerbCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1411,860,864,'OP_EqInstructionWindowCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1412,860,864,'OP_EqInstructionWindowCloseCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1413,860,864,'OP_EqInstructionWindowGoalCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1414,860,864,'OP_EqInstructionWindowTaskCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1415,860,864,'OP_EqEnableGameEventCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1416,860,864,'OP_EqShowWindowCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1417,860,864,'OP_EqEnableWindowCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1418,860,864,'OP_EqFlashWindowCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1419,860,864,'OP_EqHearPlayFlavorCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1420,860,864,'OP_EqUpdateSignWidgetCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1421,860,864,'OP_EqDebugPVDCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1422,860,864,'OP_EqShowBookCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1423,860,864,'OP_EqQuestionnaireCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1424,860,864,'OP_EqGetProbsCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1425,860,864,'OP_EqHearHealCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1426,860,864,'OP_EqChatChannelUpdateCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1427,860,864,'OP_EqWhoChannelQueryReplyCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1428,860,864,'OP_EqAvailWorldChannelsCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1429,860,864,'OP_EqUpdateTargetCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1430,860,864,'OP_EqConsignmentItemsCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1431,860,864,'OP_EqStartBrokerCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1432,860,864,'OP_EqMapExplorationCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1433,860,864,'OP_EqStoreLogCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1434,860,864,'OP_EqSpellMoveToRangeAndRetryCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1435,860,864,'OP_EqUpdatePlayerMailCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1436,860,864,'OP_EqArenaResultsCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1437,860,864,'OP_EqGuildBankEventActionCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1438,860,864,'OP_EqGuildBankExamineInfoCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1439,860,864,'OP_EqHearSpellNoLandCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1440,860,864,'OP_Lottery',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1441,860,864,'OP_GuildRecruitingMemberInfo',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1442,860,864,'OP_GuildRecruiting',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1443,860,864,'OP_GuildRecruitingDetails',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1444,860,864,'OP_GuildRecruitingImage',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1445,860,864,'OP_PointOfInterest',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1446,860,864,'OP_TraitsList',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1447,860,864,'OP_RecipeList',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1448,860,864,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1449,860,864,'OP_AddClientToGroupMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1450,860,864,'OP_AddGroupToGroupMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1451,860,864,'OP_GuildKickMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1452,860,864,'OP_PurchaseConsignmentResponseMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1453,860,864,'OP_ProcessScriptMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1454,860,864,'OP_ProcessWorkspaceMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1455,860,864,'OP_QuickbarAddMsg',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1456,860,864,'OP_SkillSlotMapping',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1457,860,864,'OP_MapRequest',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1458,860,864,'OP_Unknown',10003,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1459,860,864,'OP_WSWeatherUpdateMsg',10012,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1460,869,877,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1461,869,877,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1462,869,877,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1463,869,877,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1464,869,877,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1465,869,877,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1466,869,877,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1467,869,877,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1468,869,877,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1469,869,877,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1470,869,877,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1471,869,877,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1472,869,877,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1473,869,877,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1474,869,877,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1475,869,877,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1476,869,877,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1477,869,877,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1478,869,877,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1479,869,877,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1480,869,877,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1481,869,877,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1482,869,877,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1483,869,877,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1484,869,877,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1485,869,877,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1486,869,877,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1487,869,877,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1488,869,877,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1489,869,877,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1490,869,877,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1491,869,877,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1492,869,877,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1493,869,877,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1494,869,877,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1495,869,877,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1496,869,877,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1497,869,877,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1498,869,877,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1499,869,877,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1500,869,877,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1501,869,877,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1502,869,877,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1503,869,877,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1504,869,877,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1505,869,877,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1506,869,877,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1507,869,877,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1508,869,877,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1509,869,877,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1510,869,877,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1511,869,877,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1512,869,877,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1513,869,877,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1514,869,877,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1515,869,877,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1516,869,877,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1517,869,877,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1518,869,877,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1519,869,877,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1520,869,877,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1521,869,877,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1522,869,877,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1523,869,877,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1524,869,877,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1525,869,877,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1526,869,877,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1527,869,877,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1528,869,877,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1529,869,877,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1530,869,877,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1531,869,877,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1532,869,877,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1533,869,877,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1534,869,877,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1535,869,877,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1536,869,877,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1537,869,877,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1538,869,877,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1539,869,877,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1540,869,877,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1541,869,877,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1542,869,877,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1543,869,877,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1544,869,877,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1545,869,877,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1546,869,877,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1547,869,877,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1548,869,877,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1549,869,877,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1550,869,877,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1551,869,877,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1552,869,877,'OP_DialogSelectMsg',100,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1553,869,877,'OP_DialogCloseMsg',101,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1554,869,877,'OP_RemoveSpellEffectMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1555,869,877,'OP_RemoveConcentrationMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1556,869,877,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1557,869,877,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1558,869,877,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1559,869,877,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1560,869,877,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1561,869,877,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1562,869,877,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1563,869,877,'OP_GuildUpdateMsg',113,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1564,869,877,'OP_DeleteGuildMsg',114,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1565,869,877,'OP_FellowshipExpMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1566,869,877,'OP_ConsignmentCloseStoreMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1567,869,877,'OP_ConsignItemRequestMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1568,869,877,'OP_ConsignItemResponseMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1569,869,877,'OP_PurchaseConsignmentRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1570,869,877,'OP_HouseDeletedRemotelyMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1571,869,877,'OP_UpdateHouseDataMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1572,869,877,'OP_UpdateHouseAccessDataMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1573,869,877,'OP_PlayerHouseBaseScreenMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1574,869,877,'OP_PlayerHousePurchaseScreenMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1575,869,877,'OP_PlayerHouseAccessUpdateMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1576,869,877,'OP_PlayerHouseDisplayStatusMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1577,869,877,'OP_PlayerHouseCloseUIMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1578,869,877,'OP_BuyPlayerHouseMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1579,869,877,'OP_BuyPlayerHouseTintMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1580,869,877,'OP_CollectAllHouseItemsMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1581,869,877,'OP_RelinquishHouseMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1582,869,877,'OP_EnterHouseMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1583,869,877,'OP_ExitHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1584,869,877,'OP_HouseDefaultAccessSetMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1585,869,877,'OP_HouseAccessSetMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1586,869,877,'OP_HouseAccessRemoveMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1587,869,877,'OP_PayHouseUpkeepMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1588,869,877,'OP_MoveableObjectPlacementCriteri',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1589,869,877,'OP_EnterMoveObjectModeMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1590,869,877,'OP_PositionMoveableObject',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1591,869,877,'OP_CancelMoveObjectModeMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1592,869,877,'OP_ShaderCustomizationMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1593,869,877,'OP_ReplaceableSubMeshesMsg',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1594,869,877,'OP_HouseCustomizationScreenMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1595,869,877,'OP_CustomizationPurchaseRequestMs',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1596,869,877,'OP_CustomizationSetRequestMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1597,869,877,'OP_CustomizationReplyMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1598,869,877,'OP_TintWidgetsMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1599,869,877,'OP_ExamineConsignmentRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1600,869,877,'OP_ExamineConsignmentResponseMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1601,869,877,'OP_UISettingsResponseMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1602,869,877,'OP_UIResetMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1603,869,877,'OP_KeymapLoadMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1604,869,877,'OP_KeymapNoneMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1605,869,877,'OP_KeymapDataMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1606,869,877,'OP_KeymapSaveMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1607,869,877,'OP_DispatchSpellCmdMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1608,869,877,'OP_EntityVerbsRequestMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1609,869,877,'OP_EntityVerbsReplyMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1610,869,877,'OP_EntityVerbsVerbMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1611,869,877,'OP_ChatRelationshipUpdateMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1612,869,877,'OP_LootItemsRequestMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1613,869,877,'OP_StoppedLootingMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1614,869,877,'OP_SitMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1615,869,877,'OP_StandMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1616,869,877,'OP_SatMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1617,869,877,'OP_StoodMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1618,869,877,'OP_ClearForTakeOffMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1619,869,877,'OP_ReadyForTakeOffMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1620,869,877,'OP_ShowIllusionsMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1621,869,877,'OP_HideIllusionsMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1622,869,877,'OP_ExamineItemRequestMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1623,869,877,'OP_ReadBookPageMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1624,869,877,'OP_DefaultGroupOptionsRequestMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1625,869,877,'OP_DefaultGroupOptionsMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1626,869,877,'OP_GroupOptionsMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1627,869,877,'OP_DisplayGroupOptionsScreenMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1628,869,877,'OP_DisplayInnVisitScreenMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1629,869,877,'OP_DumpSchedulerMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1630,869,877,'OP_LSRequestPlayerDescMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1631,869,877,'OP_LSCheckAcctLockMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1632,869,877,'OP_WSAcctLockStatusMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1633,869,877,'OP_RequestHelpRepathMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1634,869,877,'OP_RequestTargetLocMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1635,869,877,'OP_UpdateMotdMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1636,869,877,'OP_PerformPlayerKnockbackMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1637,869,877,'OP_PerformCameraShakeMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1638,869,877,'OP_PopulateSkillMapsMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1639,869,877,'OP_CancelledFeignMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1640,869,877,'OP_SignalMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1641,869,877,'OP_ShowCreateFromRecipeUIMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1642,869,877,'OP_CancelCreateFromRecipeMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1643,869,877,'OP_BeginItemCreationMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1644,869,877,'OP_StopItemCreationMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1645,869,877,'OP_ShowItemCreationProcessUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1646,869,877,'OP_UpdateItemCreationProcessUIMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1647,869,877,'OP_DisplayTSEventReactionMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1648,869,877,'OP_ShowRecipeBookMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1649,869,877,'OP_KnowledgebaseRequestMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1650,869,877,'OP_KnowledgebaseResponseMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1651,869,877,'OP_CSTicketHeaderRequestMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1652,869,877,'OP_CSTicketInfoMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1653,869,877,'OP_CSTicketCommentRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1654,869,877,'OP_CSTicketCommentResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1655,869,877,'OP_CSTicketCreateMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1656,869,877,'OP_CSTicketAddCommentMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1657,869,877,'OP_CSTicketDeleteMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1658,869,877,'OP_CSTicketChangeNotificationMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1659,869,877,'OP_WorldDataUpdateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1660,869,877,'OP_KnownLanguagesMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1661,869,877,'OP_LsRequestClientCrashLogMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1662,869,877,'OP_LsClientBaselogReplyMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1663,869,877,'OP_LsClientCrashlogReplyMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1664,869,877,'OP_LsClientAlertlogReplyMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1665,869,877,'OP_LsClientVerifylogReplyMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1666,869,877,'OP_ClientTeleportToLocationMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1667,869,877,'OP_UpdateClientPredFlagsMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1668,869,877,'OP_ChangeServerControlFlagMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1669,869,877,'OP_CSToolsRequestMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1670,869,877,'OP_CSToolsResponseMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1671,869,877,'OP_AddSocialStructureStandingMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1672,869,877,'OP_CreateBoatTransportsMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1673,869,877,'OP_PositionBoatTransportMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1674,869,877,'OP_MigrateBoatTransportMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1675,869,877,'OP_MigrateBoatTransportReplyMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1676,869,877,'OP_DisplayDebugNLLPointsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1677,869,877,'OP_ExamineInfoRequestMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1678,869,877,'OP_QuickbarInitMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1679,869,877,'OP_QuickbarUpdateMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1680,869,877,'OP_MacroInitMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1681,869,877,'OP_MacroUpdateMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1682,869,877,'OP_QuestionnaireMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1683,869,877,'OP_LevelChangedMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1684,869,877,'OP_SpellGainedMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1685,869,877,'OP_EncounterBrokenMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1686,869,877,'OP_OnscreenMsgMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1687,869,877,'OP_DisplayWarningMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1688,869,877,'OP_ModifyGuildMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1689,869,877,'OP_GuildEventMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1690,869,877,'OP_GuildEventAddMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1691,869,877,'OP_GuildEventActionMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1692,869,877,'OP_GuildEventListMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1693,869,877,'OP_RequestGuildEventDetailsMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1694,869,877,'OP_GuildEventDetailsMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1695,869,877,'OP_RequestGuildInfoMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1696,869,877,'OP_GuildBankActionMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1697,869,877,'OP_GuildBankActionResponseMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1698,869,877,'OP_GuildBankItemDetailsRequestMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1699,869,877,'OP_GuildBankItemDetailsResponseMs',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1700,869,877,'OP_GuildBankUpdateMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1701,869,877,'OP_GuildBankEventListMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1702,869,877,'OP_RequestGuildBankEventDetailsMs',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1703,869,877,'OP_RewardPackMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1704,869,877,'OP_RenameGuildMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1705,869,877,'OP_ZoneToFriendRequestMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1706,869,877,'OP_ZoneToFriendReplyMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1707,869,877,'OP_ChatCreateChannelMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1708,869,877,'OP_ChatJoinChannelMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1709,869,877,'OP_ChatWhoChannelMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1710,869,877,'OP_ChatLeaveChannelMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1711,869,877,'OP_ChatTellChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1712,869,877,'OP_ChatTellUserMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1713,869,877,'OP_ChatToggleFriendMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1714,869,877,'OP_ChatToggleIgnoreMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1715,869,877,'OP_ChatSendFriendsMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1716,869,877,'OP_ChatSendIgnoresMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1717,869,877,'OP_QuestReward',297,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1718,869,877,'OP_ChatFiltersMsg',312,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1719,869,877,'OP_MailGetHeadersMsg',313,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1720,869,877,'OP_MailGetMessageMsg',314,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1721,869,877,'OP_MailSendMessageMsg',315,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1722,869,877,'OP_MailDeleteMessageMsg',316,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1723,869,877,'OP_MailGetHeadersReplyMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1724,869,877,'OP_MailGetMessageReplyMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1725,869,877,'OP_MailSendMessageReplyMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1726,869,877,'OP_MailCommitSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1727,869,877,'OP_MailSendSystemMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1728,869,877,'OP_MailRemoveAttachFromMailMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1729,869,877,'OP_WaypointRequestMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1730,869,877,'OP_WaypointReplyMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1731,869,877,'OP_WaypointSelectMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1732,869,877,'OP_WaypointUpdateMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1733,869,877,'OP_CharNameChangedMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1734,869,877,'OP_ShowZoneTeleporterDestinations',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1735,869,877,'OP_SelectZoneTeleporterDestinatio',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1736,869,877,'OP_ReloadLocalizedTxtMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1737,869,877,'OP_RequestGuildMembershipMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1738,869,877,'OP_GuildMembershipResponseMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1739,869,877,'OP_LeaveGuildNotifyMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1740,869,877,'OP_JoinGuildNotifyMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1741,869,877,'OP_AvatarUpdateMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1742,869,877,'OP_BioUpdateMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1743,869,877,'OP_InspectPlayerMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1744,869,877,'OP_WSServerLockMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1745,869,877,'OP_LSServerLockMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1746,869,877,'OP_WSServerHideMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1747,869,877,'OP_CsCategoryRequestMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1748,869,877,'OP_CsCategoryResponseMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1749,869,877,'OP_KnowledgeWindowSlotMappingMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1750,869,877,'OP_LFGUpdateMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1751,869,877,'OP_AFKUpdateMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1752,869,877,'OP_AnonUpdateMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1753,869,877,'OP_UpdateActivePublicZonesMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1754,869,877,'OP_UnknownNpcMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1755,869,877,'OP_PromoFlagsDetailsMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1756,869,877,'OP_ConsignViewCreateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1757,869,877,'OP_ConsignViewGetPageMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1758,869,877,'OP_ConsignViewReleaseMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1759,869,877,'OP_ConsignRemoveItemsMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1760,869,877,'OP_UpdateDebugRadiiMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1761,869,877,'OP_SnoopMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1762,869,877,'OP_ReportMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1763,869,877,'OP_UpdateRaidMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1764,869,877,'OP_ConsignViewSortMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1765,869,877,'OP_TitleUpdateMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1766,869,877,'OP_ClientFellMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1767,869,877,'OP_ClientInDeathRegionMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1768,869,877,'OP_CampClientMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1769,869,877,'OP_CSToolAccessResponseMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1770,869,877,'OP_TrackingUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1771,869,877,'OP_BeginTrackingMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1772,869,877,'OP_StopTrackingMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1773,869,877,'OP_GetAvatarAccessRequestForCSToo',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1774,869,877,'OP_AdvancementRequestMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1775,869,877,'OP_UpdateAvgFrameTimeMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1776,869,877,'OP_MapFogDataInitMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1777,869,877,'OP_MapFogDataUpdateMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1778,869,877,'OP_CloseGroupInviteWindowMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1779,869,877,'OP_UpdateGroupMemberDataMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1780,869,877,'OP_WorldPingMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1781,869,877,'OP_MoveLogUpdateMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1782,869,877,'OP_OfferQuestMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1783,869,877,'OP_WorldShutdownUpdateMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1784,869,877,'OP_DisplayMailScreenMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1785,869,877,'OP_ClientIdleBeginMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1786,869,877,'OP_ClientIdleEndMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1787,869,877,'OP_PurchaseConsignmentLoreCheckRe',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1788,869,877,'OP_NotifyApprenticeStoppedMentori',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1789,869,877,'OP_CorruptedClientMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1790,869,877,'OP_WorldDataChangeMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1791,869,877,'OP_MailEventNotificationMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1792,869,877,'OP_RestartZoneMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1793,869,877,'OP_FlightPathsMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1794,869,877,'OP_CharacterLinkdeadMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1795,869,877,'OP_CharTransferStartRequestMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1796,869,877,'OP_CharTransferStartReplyMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1797,869,877,'OP_CharTransferRequestMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1798,869,877,'OP_CharTransferReplyMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1799,869,877,'OP_CharTransferRollbackRequestMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1800,869,877,'OP_CharTransferCommitRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1801,869,877,'OP_CharTransferRollbackReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1802,869,877,'OP_CharTransferCommitReplyMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1803,869,877,'OP_GetCharacterSerializedRequestM',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1804,869,877,'OP_GetCharacterSerializedReplyMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1805,869,877,'OP_CreateCharFromCBBRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1806,869,877,'OP_CreateCharFromCBBReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1807,869,877,'OP_HousingDataChangedMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1808,869,877,'OP_HousingRestoreMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1809,869,877,'OP_AuctionItem',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1810,869,877,'OP_AuctionItemReply',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1811,869,877,'OP_AuctionCoin',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1812,869,877,'OP_AuctionCoinReply',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1813,869,877,'OP_AuctionCharacter',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1814,869,877,'OP_AuctionCharacterReply',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1815,869,877,'OP_AuctionCommitMsg',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1816,869,877,'OP_AuctionAbortMsg',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1817,869,877,'OP_CharTransferValidateRequestMsg',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1818,869,877,'OP_CharTransferValidateReplyMsg',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1819,869,877,'OP_RaceRestrictionMsg',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1820,869,877,'OP_SetInstanceDisplayNameMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1821,869,877,'OP_GetAuctionAssetIDMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1822,869,877,'OP_GetAuctionAssetIDReplyMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1823,869,877,'OP_ResendWorldChannelsMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1824,869,877,'OP_DisplayExchangeScreenMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1825,869,877,'OP_ArenaGameTypesMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1826,869,877,'OP_AuditAuctionEventMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1827,869,877,'OP_InviteRequestMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1828,869,877,'OP_InviteResponseMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1829,869,877,'OP_InviteTargetResponseMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1830,869,877,'OP_InspectPlayerRequestMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1831,869,877,'OP_DispatchMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1832,869,877,'OP_DisplayEventMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1833,869,877,'OP_PrePossessionMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1834,869,877,'OP_PostPossessionMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1835,869,877,'OP_AdventureList',457,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1836,869,877,'OP_CancelSpellCast',458,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1837,869,877,'OP_AttackAllowed',470,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1838,869,877,'OP_AttackNotAllowed',471,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1839,869,877,'OP_DressingRoom',477,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1840,869,877,'OP_SkillInfoRequest',481,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1841,869,877,'OP_SkillInfoResponse',482,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1842,869,877,'OP_EqUnknown',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1843,869,877,'OP_EqHearChatCmd',484,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1844,869,877,'OP_EqDisplayTextCmd',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1845,869,877,'OP_EqCreateGhostCmd',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1846,869,877,'OP_EqCreateWidgetCmd',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1847,869,877,'OP_EqCreateSignWidgetCmd',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1848,869,877,'OP_EqDestroyGhostCmd',489,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1849,869,877,'OP_EqUpdateGhostCmd',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1850,869,877,'OP_EqSetControlGhostCmd',491,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1851,869,877,'OP_EqSetPOVGhostCmd',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1852,869,877,'OP_EqHearCombatCmd',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1853,869,877,'OP_EqHearSpellCastCmd',494,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1854,869,877,'OP_EqHearSpellInterruptCmd',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1855,869,877,'OP_EqHearSpellFizzleCmd',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1856,869,877,'OP_EqHearConsiderCmd',499,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1857,869,877,'OP_EqUpdateSubClassesCmd',500,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1858,869,877,'OP_EqCreateListBoxCmd',501,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1859,869,877,'OP_EqSetDebugPathPointsCmd',502,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1860,869,877,'OP_EqCannedEmoteCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1861,869,877,'OP_EqStateCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1862,869,877,'OP_EqPlaySoundCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1863,869,877,'OP_EqPlaySound3DCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1864,869,877,'OP_EqPlayVoiceCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1865,869,877,'OP_EqHearDrowningCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1866,869,877,'OP_EqHearDeathCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1867,869,877,'OP_EqGroupMemberRemovedCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1868,869,877,'OP_EqHearChainEffectCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1869,869,877,'OP_EqReceiveOfferCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1870,869,877,'OP_EqInspectPCResultsCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1871,869,877,'OP_EqDrawablePathGraphCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1872,869,877,'OP_EqDialogOpenCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1873,869,877,'OP_EqDialogCloseCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1874,869,877,'OP_EqFactionUpdateCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1875,869,877,'OP_EqCollectionUpdateCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1876,869,877,'OP_EqCollectionFilterCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1877,869,877,'OP_EqCollectionItemCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1878,869,877,'OP_EqQuestJournalUpdateCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1879,869,877,'OP_EqQuestJournalReplyCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1880,869,877,'OP_EqQuestGroupCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1881,869,877,'OP_EqUpdateMerchantCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1882,869,877,'OP_EqUpdateStoreCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1883,869,877,'OP_EqUpdatePlayerTradeCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1884,869,877,'OP_EqHelpPathCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1885,869,877,'OP_EqHelpPathClearCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1886,869,877,'OP_EqUpdateBankCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1887,869,877,'OP_EqExamineInfoCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1888,869,877,'OP_EqCloseWindowCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1889,869,877,'OP_EqUpdateLootCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1890,869,877,'OP_EqJunctionListCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1891,869,877,'OP_EqShowDeathWindowCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1892,869,877,'OP_EqDisplaySpellFailCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1893,869,877,'OP_EqSpellCastStartCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1894,869,877,'OP_EqSpellCastEndCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1895,869,877,'OP_EqResurrectedCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1896,869,877,'OP_EqChoiceWinCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1897,869,877,'OP_EqSetDefaultVerbCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1898,869,877,'OP_EqInstructionWindowCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1899,869,877,'OP_EqInstructionWindowCloseCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1900,869,877,'OP_EqInstructionWindowGoalCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1901,869,877,'OP_EqInstructionWindowTaskCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1902,869,877,'OP_EqEnableGameEventCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1903,869,877,'OP_EqShowWindowCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1904,869,877,'OP_EqEnableWindowCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1905,869,877,'OP_EqFlashWindowCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1906,869,877,'OP_EqHearPlayFlavorCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1907,869,877,'OP_EqUpdateSignWidgetCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1908,869,877,'OP_EqDebugPVDCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1909,869,877,'OP_EqShowBookCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1910,869,877,'OP_EqQuestionnaireCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1911,869,877,'OP_EqGetProbsCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1912,869,877,'OP_EqHearHealCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1913,869,877,'OP_EqChatChannelUpdateCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1914,869,877,'OP_EqWhoChannelQueryReplyCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1915,869,877,'OP_EqAvailWorldChannelsCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1916,869,877,'OP_EqUpdateTargetCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1917,869,877,'OP_EqConsignmentItemsCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1918,869,877,'OP_EqStartBrokerCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1919,869,877,'OP_EqMapExplorationCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1920,869,877,'OP_EqStoreLogCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1921,869,877,'OP_EqSpellMoveToRangeAndRetryCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1922,869,877,'OP_EqUpdatePlayerMailCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1923,869,877,'OP_EqArenaResultsCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1924,869,877,'OP_EqGuildBankEventActionCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1925,869,877,'OP_EqGuildBankExamineInfoCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1926,869,877,'OP_EqHearSpellNoLandCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1927,869,877,'OP_Lottery',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1928,869,877,'OP_GuildRecruitingMemberInfo',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1929,869,877,'OP_GuildRecruiting',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1930,869,877,'OP_GuildRecruitingDetails',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1931,869,877,'OP_GuildRecruitingImage',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1932,869,877,'OP_PointOfInterest',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1933,869,877,'OP_TraitsList',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1934,869,877,'OP_RecipeList',612,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1935,869,877,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1936,869,877,'OP_MapRequest',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1937,869,877,'OP_AddClientToGroupMsg',1000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1938,869,877,'OP_AddGroupToGroupMsg',1000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1939,869,877,'OP_GuildKickMsg',1000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1940,869,877,'OP_PurchaseConsignmentResponseMsg',1000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1941,869,877,'OP_ProcessScriptMsg',1000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1942,869,877,'OP_ProcessWorkspaceMsg',1000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1943,869,877,'OP_QuickbarAddMsg',1000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1944,869,877,'OP_SkillSlotMapping',1000,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1945,869,877,'OP_Unknown',10004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1946,869,877,'OP_WSWeatherUpdateMsg',10012,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1947,882,887,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1948,882,887,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1949,882,887,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1950,882,887,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1951,882,887,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1952,882,887,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1953,882,887,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1954,882,887,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1955,882,887,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1956,882,887,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1957,882,887,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1958,882,887,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1959,882,887,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1960,882,887,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1961,882,887,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1962,882,887,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1963,882,887,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1964,882,887,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1965,882,887,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1966,882,887,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1967,882,887,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1968,882,887,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1969,882,887,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1970,882,887,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1971,882,887,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1972,882,887,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1973,882,887,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1974,882,887,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1975,882,887,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1976,882,887,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1977,882,887,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1978,882,887,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1979,882,887,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1980,882,887,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1981,882,887,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1982,882,887,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1983,882,887,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1984,882,887,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1985,882,887,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1986,882,887,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1987,882,887,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1988,882,887,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1989,882,887,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1990,882,887,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1991,882,887,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1992,882,887,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1993,882,887,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1994,882,887,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1995,882,887,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1996,882,887,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1997,882,887,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1998,882,887,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (1999,882,887,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2000,882,887,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2001,882,887,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2002,882,887,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2003,882,887,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2004,882,887,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2005,882,887,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2006,882,887,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2007,882,887,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2008,882,887,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2009,882,887,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2010,882,887,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2011,882,887,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2012,882,887,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2013,882,887,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2014,882,887,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2015,882,887,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2016,882,887,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2017,882,887,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2018,882,887,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2019,882,887,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2020,882,887,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2021,882,887,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2022,882,887,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2023,882,887,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2024,882,887,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2025,882,887,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2026,882,887,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2027,882,887,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2028,882,887,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2029,882,887,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2030,882,887,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2031,882,887,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2032,882,887,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2033,882,887,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2034,882,887,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2035,882,887,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2036,882,887,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2037,882,887,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2038,882,887,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2039,882,887,'OP_DialogSelectMsg',101,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2040,882,887,'OP_DialogCloseMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2041,882,887,'OP_RemoveSpellEffectMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2042,882,887,'OP_RemoveConcentrationMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2043,882,887,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2044,882,887,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2045,882,887,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2046,882,887,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2047,882,887,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2048,882,887,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2049,882,887,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2050,882,887,'OP_GuildUpdateMsg',113,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2051,882,887,'OP_DeleteGuildMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2052,882,887,'OP_FellowshipExpMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2053,882,887,'OP_ConsignmentCloseStoreMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2054,882,887,'OP_ConsignItemRequestMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2055,882,887,'OP_ConsignItemResponseMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2056,882,887,'OP_PurchaseConsignmentRequestMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2057,882,887,'OP_HouseDeletedRemotelyMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2058,882,887,'OP_UpdateHouseDataMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2059,882,887,'OP_UpdateHouseAccessDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2060,882,887,'OP_PlayerHouseBaseScreenMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2061,882,887,'OP_PlayerHousePurchaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2062,882,887,'OP_PlayerHouseAccessUpdateMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2063,882,887,'OP_PlayerHouseDisplayStatusMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2064,882,887,'OP_PlayerHouseCloseUIMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2065,882,887,'OP_BuyPlayerHouseMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2066,882,887,'OP_BuyPlayerHouseTintMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2067,882,887,'OP_CollectAllHouseItemsMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2068,882,887,'OP_RelinquishHouseMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2069,882,887,'OP_EnterHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2070,882,887,'OP_ExitHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2071,882,887,'OP_HouseDefaultAccessSetMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2072,882,887,'OP_HouseAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2073,882,887,'OP_HouseAccessRemoveMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2074,882,887,'OP_PayHouseUpkeepMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2075,882,887,'OP_MoveableObjectPlacementCriteri',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2076,882,887,'OP_EnterMoveObjectModeMsg',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2077,882,887,'OP_PositionMoveableObject',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2078,882,887,'OP_CancelMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2079,882,887,'OP_ShaderCustomizationMsg',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2080,882,887,'OP_ReplaceableSubMeshesMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2081,882,887,'OP_HouseCustomizationScreenMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2082,882,887,'OP_CustomizationPurchaseRequestMs',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2083,882,887,'OP_CustomizationSetRequestMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2084,882,887,'OP_CustomizationReplyMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2085,882,887,'OP_TintWidgetsMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2086,882,887,'OP_ExamineConsignmentRequestMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2087,882,887,'OP_ExamineConsignmentResponseMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2088,882,887,'OP_UISettingsResponseMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2089,882,887,'OP_UIResetMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2090,882,887,'OP_KeymapLoadMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2091,882,887,'OP_KeymapNoneMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2092,882,887,'OP_KeymapDataMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2093,882,887,'OP_KeymapSaveMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2094,882,887,'OP_DispatchSpellCmdMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2095,882,887,'OP_EntityVerbsRequestMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2096,882,887,'OP_EntityVerbsReplyMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2097,882,887,'OP_EntityVerbsVerbMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2098,882,887,'OP_ChatRelationshipUpdateMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2099,882,887,'OP_LootItemsRequestMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2100,882,887,'OP_StoppedLootingMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2101,882,887,'OP_SitMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2102,882,887,'OP_StandMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2103,882,887,'OP_SatMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2104,882,887,'OP_StoodMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2105,882,887,'OP_ClearForTakeOffMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2106,882,887,'OP_ReadyForTakeOffMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2107,882,887,'OP_ShowIllusionsMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2108,882,887,'OP_HideIllusionsMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2109,882,887,'OP_ExamineItemRequestMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2110,882,887,'OP_ReadBookPageMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2111,882,887,'OP_DefaultGroupOptionsRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2112,882,887,'OP_DefaultGroupOptionsMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2113,882,887,'OP_GroupOptionsMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2114,882,887,'OP_DisplayGroupOptionsScreenMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2115,882,887,'OP_DisplayInnVisitScreenMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2116,882,887,'OP_DumpSchedulerMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2117,882,887,'OP_LSRequestPlayerDescMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2118,882,887,'OP_LSCheckAcctLockMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2119,882,887,'OP_WSAcctLockStatusMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2120,882,887,'OP_RequestHelpRepathMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2121,882,887,'OP_RequestTargetLocMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2122,882,887,'OP_UpdateMotdMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2123,882,887,'OP_PerformPlayerKnockbackMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2124,882,887,'OP_PerformCameraShakeMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2125,882,887,'OP_PopulateSkillMapsMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2126,882,887,'OP_CancelledFeignMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2127,882,887,'OP_SignalMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2128,882,887,'OP_ShowCreateFromRecipeUIMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2129,882,887,'OP_CancelCreateFromRecipeMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2130,882,887,'OP_BeginItemCreationMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2131,882,887,'OP_StopItemCreationMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2132,882,887,'OP_ShowItemCreationProcessUIMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2133,882,887,'OP_UpdateItemCreationProcessUIMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2134,882,887,'OP_DisplayTSEventReactionMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2135,882,887,'OP_ShowRecipeBookMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2136,882,887,'OP_KnowledgebaseRequestMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2137,882,887,'OP_KnowledgebaseResponseMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2138,882,887,'OP_CSTicketHeaderRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2139,882,887,'OP_CSTicketInfoMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2140,882,887,'OP_CSTicketCommentRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2141,882,887,'OP_CSTicketCommentResponseMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2142,882,887,'OP_CSTicketCreateMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2143,882,887,'OP_CSTicketAddCommentMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2144,882,887,'OP_CSTicketDeleteMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2145,882,887,'OP_CSTicketChangeNotificationMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2146,882,887,'OP_WorldDataUpdateMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2147,882,887,'OP_KnownLanguagesMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2148,882,887,'OP_LsRequestClientCrashLogMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2149,882,887,'OP_LsClientBaselogReplyMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2150,882,887,'OP_LsClientCrashlogReplyMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2151,882,887,'OP_LsClientAlertlogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2152,882,887,'OP_LsClientVerifylogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2153,882,887,'OP_ClientTeleportToLocationMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2154,882,887,'OP_UpdateClientPredFlagsMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2155,882,887,'OP_ChangeServerControlFlagMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2156,882,887,'OP_CSToolsRequestMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2157,882,887,'OP_CSToolsResponseMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2158,882,887,'OP_AddSocialStructureStandingMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2159,882,887,'OP_CreateBoatTransportsMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2160,882,887,'OP_PositionBoatTransportMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2161,882,887,'OP_MigrateBoatTransportMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2162,882,887,'OP_MigrateBoatTransportReplyMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2163,882,887,'OP_DisplayDebugNLLPointsMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2164,882,887,'OP_ExamineInfoRequestMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2165,882,887,'OP_QuickbarInitMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2166,882,887,'OP_QuickbarUpdateMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2167,882,887,'OP_MacroInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2168,882,887,'OP_MacroUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2169,882,887,'OP_QuestionnaireMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2170,882,887,'OP_LevelChangedMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2171,882,887,'OP_SpellGainedMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2172,882,887,'OP_EncounterBrokenMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2173,882,887,'OP_OnscreenMsgMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2174,882,887,'OP_DisplayWarningMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2175,882,887,'OP_ModifyGuildMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2176,882,887,'OP_GuildEventMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2177,882,887,'OP_GuildEventAddMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2178,882,887,'OP_GuildEventActionMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2179,882,887,'OP_GuildEventListMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2180,882,887,'OP_RequestGuildEventDetailsMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2181,882,887,'OP_GuildEventDetailsMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2182,882,887,'OP_RequestGuildInfoMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2183,882,887,'OP_GuildBankActionMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2184,882,887,'OP_GuildBankActionResponseMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2185,882,887,'OP_GuildBankItemDetailsRequestMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2186,882,887,'OP_GuildBankItemDetailsResponseMs',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2187,882,887,'OP_GuildBankUpdateMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2188,882,887,'OP_GuildBankEventListMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2189,882,887,'OP_RequestGuildBankEventDetailsMs',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2190,882,887,'OP_RewardPackMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2191,882,887,'OP_RenameGuildMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2192,882,887,'OP_ZoneToFriendRequestMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2193,882,887,'OP_ZoneToFriendReplyMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2194,882,887,'OP_ChatCreateChannelMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2195,882,887,'OP_ChatJoinChannelMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2196,882,887,'OP_ChatWhoChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2197,882,887,'OP_ChatLeaveChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2198,882,887,'OP_ChatTellChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2199,882,887,'OP_ChatTellUserMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2200,882,887,'OP_ChatToggleFriendMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2201,882,887,'OP_ChatToggleIgnoreMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2202,882,887,'OP_ChatSendFriendsMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2203,882,887,'OP_ChatSendIgnoresMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2204,882,887,'OP_QuestReward',299,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2205,882,887,'OP_ChatFiltersMsg',314,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2206,882,887,'OP_MailGetHeadersMsg',315,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2207,882,887,'OP_MailGetMessageMsg',316,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2208,882,887,'OP_MailSendMessageMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2209,882,887,'OP_MailDeleteMessageMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2210,882,887,'OP_MailGetHeadersReplyMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2211,882,887,'OP_MailGetMessageReplyMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2212,882,887,'OP_MailSendMessageReplyMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2213,882,887,'OP_MailCommitSendMessageMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2214,882,887,'OP_MailSendSystemMessageMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2215,882,887,'OP_MailRemoveAttachFromMailMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2216,882,887,'OP_WaypointRequestMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2217,882,887,'OP_WaypointReplyMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2218,882,887,'OP_WaypointSelectMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2219,882,887,'OP_WaypointUpdateMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2220,882,887,'OP_CharNameChangedMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2221,882,887,'OP_ShowZoneTeleporterDestinations',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2222,882,887,'OP_SelectZoneTeleporterDestinatio',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2223,882,887,'OP_ReloadLocalizedTxtMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2224,882,887,'OP_RequestGuildMembershipMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2225,882,887,'OP_GuildMembershipResponseMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2226,882,887,'OP_LeaveGuildNotifyMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2227,882,887,'OP_JoinGuildNotifyMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2228,882,887,'OP_AvatarUpdateMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2229,882,887,'OP_BioUpdateMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2230,882,887,'OP_InspectPlayerMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2231,882,887,'OP_WSServerLockMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2232,882,887,'OP_LSServerLockMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2233,882,887,'OP_WSServerHideMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2234,882,887,'OP_CsCategoryRequestMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2235,882,887,'OP_CsCategoryResponseMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2236,882,887,'OP_KnowledgeWindowSlotMappingMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2237,882,887,'OP_LFGUpdateMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2238,882,887,'OP_AFKUpdateMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2239,882,887,'OP_AnonUpdateMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2240,882,887,'OP_UpdateActivePublicZonesMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2241,882,887,'OP_UnknownNpcMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2242,882,887,'OP_PromoFlagsDetailsMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2243,882,887,'OP_ConsignViewCreateMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2244,882,887,'OP_ConsignViewGetPageMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2245,882,887,'OP_ConsignViewReleaseMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2246,882,887,'OP_ConsignRemoveItemsMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2247,882,887,'OP_UpdateDebugRadiiMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2248,882,887,'OP_SnoopMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2249,882,887,'OP_ReportMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2250,882,887,'OP_UpdateRaidMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2251,882,887,'OP_ConsignViewSortMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2252,882,887,'OP_TitleUpdateMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2253,882,887,'OP_ClientFellMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2254,882,887,'OP_ClientInDeathRegionMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2255,882,887,'OP_CampClientMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2256,882,887,'OP_CSToolAccessResponseMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2257,882,887,'OP_TrackingUpdateMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2258,882,887,'OP_BeginTrackingMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2259,882,887,'OP_StopTrackingMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2260,882,887,'OP_GetAvatarAccessRequestForCSToo',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2261,882,887,'OP_AdvancementRequestMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2262,882,887,'OP_UpdateAvgFrameTimeMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2263,882,887,'OP_MapFogDataInitMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2264,882,887,'OP_MapFogDataUpdateMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2265,882,887,'OP_CloseGroupInviteWindowMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2266,882,887,'OP_UpdateGroupMemberDataMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2267,882,887,'OP_WorldPingMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2268,882,887,'OP_MoveLogUpdateMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2269,882,887,'OP_OfferQuestMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2270,882,887,'OP_WorldShutdownUpdateMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2271,882,887,'OP_DisplayMailScreenMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2272,882,887,'OP_ClientIdleBeginMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2273,882,887,'OP_ClientIdleEndMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2274,882,887,'OP_PurchaseConsignmentLoreCheckRe',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2275,882,887,'OP_NotifyApprenticeStoppedMentori',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2276,882,887,'OP_CorruptedClientMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2277,882,887,'OP_WorldDataChangeMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2278,882,887,'OP_MailEventNotificationMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2279,882,887,'OP_RestartZoneMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2280,882,887,'OP_FlightPathsMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2281,882,887,'OP_CharacterLinkdeadMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2282,882,887,'OP_CharTransferStartRequestMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2283,882,887,'OP_CharTransferStartReplyMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2284,882,887,'OP_CharTransferRequestMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2285,882,887,'OP_CharTransferReplyMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2286,882,887,'OP_CharTransferRollbackRequestMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2287,882,887,'OP_CharTransferCommitRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2288,882,887,'OP_CharTransferRollbackReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2289,882,887,'OP_CharTransferCommitReplyMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2290,882,887,'OP_GetCharacterSerializedRequestM',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2291,882,887,'OP_GetCharacterSerializedReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2292,882,887,'OP_CreateCharFromCBBRequestMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2293,882,887,'OP_CreateCharFromCBBReplyMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2294,882,887,'OP_HousingDataChangedMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2295,882,887,'OP_HousingRestoreMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2296,882,887,'OP_AuctionItem',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2297,882,887,'OP_AuctionItemReply',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2298,882,887,'OP_AuctionCoin',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2299,882,887,'OP_AuctionCoinReply',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2300,882,887,'OP_AuctionCharacter',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2301,882,887,'OP_AuctionCharacterReply',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2302,882,887,'OP_AuctionCommitMsg',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2303,882,887,'OP_AuctionAbortMsg',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2304,882,887,'OP_CharTransferValidateRequestMsg',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2305,882,887,'OP_CharTransferValidateReplyMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2306,882,887,'OP_RaceRestrictionMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2307,882,887,'OP_SetInstanceDisplayNameMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2308,882,887,'OP_GetAuctionAssetIDMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2309,882,887,'OP_GetAuctionAssetIDReplyMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2310,882,887,'OP_ResendWorldChannelsMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2311,882,887,'OP_DisplayExchangeScreenMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2312,882,887,'OP_ArenaGameTypesMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2313,882,887,'OP_AuditAuctionEventMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2314,882,887,'OP_InviteRequestMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2315,882,887,'OP_InviteResponseMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2316,882,887,'OP_InviteTargetResponseMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2317,882,887,'OP_InspectPlayerRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2318,882,887,'OP_DispatchMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2319,882,887,'OP_DisplayEventMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2320,882,887,'OP_PrePossessionMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2321,882,887,'OP_PostPossessionMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2322,882,887,'OP_AdventureList',459,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2323,882,887,'OP_CancelSpellCast',460,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2324,882,887,'OP_AttackAllowed',472,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2325,882,887,'OP_AttackNotAllowed',473,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2326,882,887,'OP_DressingRoom',479,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2327,882,887,'OP_SkillInfoRequest',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2328,882,887,'OP_SkillInfoResponse',484,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2329,882,887,'OP_EqUnknown',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2330,882,887,'OP_EqHearChatCmd',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2331,882,887,'OP_EqDisplayTextCmd',489,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2332,882,887,'OP_EqCreateGhostCmd',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2333,882,887,'OP_EqCreateWidgetCmd',491,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2334,882,887,'OP_EqCreateSignWidgetCmd',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2335,882,887,'OP_EqDestroyGhostCmd',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2336,882,887,'OP_EqUpdateGhostCmd',494,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2337,882,887,'OP_EqSetControlGhostCmd',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2338,882,887,'OP_EqSetPOVGhostCmd',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2339,882,887,'OP_EqHearCombatCmd',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2340,882,887,'OP_EqHearSpellCastCmd',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2341,882,887,'OP_EqHearSpellInterruptCmd',501,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2342,882,887,'OP_EqHearSpellFizzleCmd',502,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2343,882,887,'OP_EqHearConsiderCmd',503,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2344,882,887,'OP_EqUpdateSubClassesCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2345,882,887,'OP_EqCreateListBoxCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2346,882,887,'OP_EqSetDebugPathPointsCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2347,882,887,'OP_EqCannedEmoteCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2348,882,887,'OP_EqStateCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2349,882,887,'OP_EqPlaySoundCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2350,882,887,'OP_EqPlaySound3DCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2351,882,887,'OP_EqPlayVoiceCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2352,882,887,'OP_EqHearDrowningCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2353,882,887,'OP_EqHearDeathCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2354,882,887,'OP_EqGroupMemberRemovedCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2355,882,887,'OP_EqHearChainEffectCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2356,882,887,'OP_EqReceiveOfferCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2357,882,887,'OP_EqInspectPCResultsCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2358,882,887,'OP_EqDrawablePathGraphCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2359,882,887,'OP_EqDialogOpenCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2360,882,887,'OP_EqDialogCloseCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2361,882,887,'OP_EqFactionUpdateCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2362,882,887,'OP_EqCollectionUpdateCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2363,882,887,'OP_EqCollectionFilterCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2364,882,887,'OP_EqCollectionItemCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2365,882,887,'OP_EqQuestJournalUpdateCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2366,882,887,'OP_EqQuestJournalReplyCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2367,882,887,'OP_EqQuestGroupCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2368,882,887,'OP_EqUpdateMerchantCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2369,882,887,'OP_EqUpdateStoreCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2370,882,887,'OP_EqUpdatePlayerTradeCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2371,882,887,'OP_EqHelpPathCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2372,882,887,'OP_EqHelpPathClearCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2373,882,887,'OP_EqUpdateBankCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2374,882,887,'OP_EqExamineInfoCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2375,882,887,'OP_EqCloseWindowCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2376,882,887,'OP_EqUpdateLootCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2377,882,887,'OP_EqJunctionListCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2378,882,887,'OP_EqShowDeathWindowCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2379,882,887,'OP_EqDisplaySpellFailCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2380,882,887,'OP_EqSpellCastStartCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2381,882,887,'OP_EqSpellCastEndCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2382,882,887,'OP_EqResurrectedCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2383,882,887,'OP_EqChoiceWinCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2384,882,887,'OP_EqSetDefaultVerbCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2385,882,887,'OP_EqInstructionWindowCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2386,882,887,'OP_EqInstructionWindowCloseCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2387,882,887,'OP_EqInstructionWindowGoalCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2388,882,887,'OP_EqInstructionWindowTaskCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2389,882,887,'OP_EqEnableGameEventCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2390,882,887,'OP_EqShowWindowCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2391,882,887,'OP_EqEnableWindowCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2392,882,887,'OP_EqFlashWindowCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2393,882,887,'OP_EqHearPlayFlavorCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2394,882,887,'OP_EqUpdateSignWidgetCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2395,882,887,'OP_EqDebugPVDCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2396,882,887,'OP_EqShowBookCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2397,882,887,'OP_EqQuestionnaireCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2398,882,887,'OP_EqGetProbsCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2399,882,887,'OP_EqHearHealCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2400,882,887,'OP_EqChatChannelUpdateCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2401,882,887,'OP_EqWhoChannelQueryReplyCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2402,882,887,'OP_EqAvailWorldChannelsCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2403,882,887,'OP_EqUpdateTargetCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2404,882,887,'OP_EqConsignmentItemsCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2405,882,887,'OP_EqStartBrokerCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2406,882,887,'OP_EqMapExplorationCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2407,882,887,'OP_EqStoreLogCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2408,882,887,'OP_EqSpellMoveToRangeAndRetryCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2409,882,887,'OP_EqUpdatePlayerMailCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2410,882,887,'OP_EqArenaResultsCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2411,882,887,'OP_EqGuildBankEventActionCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2412,882,887,'OP_EqGuildBankExamineInfoCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2413,882,887,'OP_EqHearSpellNoLandCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2414,882,887,'OP_Lottery',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2415,882,887,'OP_GuildRecruitingMemberInfo',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2416,882,887,'OP_GuildRecruiting',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2417,882,887,'OP_GuildRecruitingDetails',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2418,882,887,'OP_GuildRecruitingImage',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2419,882,887,'OP_PointOfInterest',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2420,882,887,'OP_TraitsList',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2421,882,887,'OP_RecipeList',616,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2422,882,887,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2423,882,887,'OP_MapRequest',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2424,882,887,'OP_AddClientToGroupMsg',1004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2425,882,887,'OP_AddGroupToGroupMsg',1004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2426,882,887,'OP_GuildKickMsg',1004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2427,882,887,'OP_PurchaseConsignmentResponseMsg',1004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2428,882,887,'OP_ProcessScriptMsg',1004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2429,882,887,'OP_ProcessWorkspaceMsg',1004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2430,882,887,'OP_QuickbarAddMsg',1004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2431,882,887,'OP_SkillSlotMapping',1004,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2432,882,887,'OP_Unknown',10008,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2433,882,887,'OP_WSWeatherUpdateMsg',10012,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2434,892,894,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2435,892,894,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2436,892,894,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2437,892,894,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2438,892,894,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2439,892,894,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2440,892,894,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2441,892,894,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2442,892,894,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2443,892,894,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2444,892,894,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2445,892,894,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2446,892,894,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2447,892,894,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2448,892,894,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2449,892,894,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2450,892,894,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2451,892,894,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2452,892,894,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2453,892,894,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2454,892,894,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2455,892,894,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2456,892,894,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2457,892,894,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2458,892,894,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2459,892,894,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2460,892,894,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2461,892,894,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2462,892,894,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2463,892,894,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2464,892,894,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2465,892,894,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2466,892,894,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2467,892,894,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2468,892,894,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2469,892,894,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2470,892,894,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2471,892,894,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2472,892,894,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2473,892,894,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2474,892,894,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2475,892,894,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2476,892,894,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2477,892,894,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2478,892,894,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2479,892,894,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2480,892,894,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2481,892,894,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2482,892,894,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2483,892,894,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2484,892,894,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2485,892,894,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2486,892,894,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2487,892,894,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2488,892,894,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2489,892,894,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2490,892,894,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2491,892,894,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2492,892,894,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2493,892,894,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2494,892,894,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2495,892,894,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2496,892,894,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2497,892,894,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2498,892,894,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2499,892,894,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2500,892,894,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2501,892,894,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2502,892,894,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2503,892,894,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2504,892,894,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2505,892,894,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2506,892,894,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2507,892,894,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2508,892,894,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2509,892,894,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2510,892,894,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2511,892,894,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2512,892,894,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2513,892,894,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2514,892,894,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2515,892,894,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2516,892,894,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2517,892,894,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2518,892,894,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2519,892,894,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2520,892,894,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2521,892,894,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2522,892,894,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2523,892,894,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2524,892,894,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2525,892,894,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2526,892,894,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2527,892,894,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2528,892,894,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2529,892,894,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2530,892,894,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2531,892,894,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2532,892,894,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2533,892,894,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2534,892,894,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2535,892,894,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2536,892,894,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2537,892,894,'OP_GuildUpdateMsg',114,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2538,892,894,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2539,892,894,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2540,892,894,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2541,892,894,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2542,892,894,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2543,892,894,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2544,892,894,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2545,892,894,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2546,892,894,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2547,892,894,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2548,892,894,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2549,892,894,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2550,892,894,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2551,892,894,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2552,892,894,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2553,892,894,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2554,892,894,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2555,892,894,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2556,892,894,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2557,892,894,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2558,892,894,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2559,892,894,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2560,892,894,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2561,892,894,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2562,892,894,'OP_MoveableObjectPlacementCriteri',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2563,892,894,'OP_EnterMoveObjectModeMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2564,892,894,'OP_PositionMoveableObject',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2565,892,894,'OP_CancelMoveObjectModeMsg',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2566,892,894,'OP_ShaderCustomizationMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2567,892,894,'OP_ReplaceableSubMeshesMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2568,892,894,'OP_HouseCustomizationScreenMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2569,892,894,'OP_CustomizationPurchaseRequestMs',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2570,892,894,'OP_CustomizationSetRequestMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2571,892,894,'OP_CustomizationReplyMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2572,892,894,'OP_TintWidgetsMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2573,892,894,'OP_ExamineConsignmentRequestMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2574,892,894,'OP_ExamineConsignmentResponseMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2575,892,894,'OP_UISettingsResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2576,892,894,'OP_UIResetMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2577,892,894,'OP_KeymapLoadMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2578,892,894,'OP_KeymapNoneMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2579,892,894,'OP_KeymapDataMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2580,892,894,'OP_KeymapSaveMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2581,892,894,'OP_DispatchSpellCmdMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2582,892,894,'OP_EntityVerbsRequestMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2583,892,894,'OP_EntityVerbsReplyMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2584,892,894,'OP_EntityVerbsVerbMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2585,892,894,'OP_ChatRelationshipUpdateMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2586,892,894,'OP_LootItemsRequestMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2587,892,894,'OP_StoppedLootingMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2588,892,894,'OP_SitMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2589,892,894,'OP_StandMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2590,892,894,'OP_SatMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2591,892,894,'OP_StoodMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2592,892,894,'OP_ClearForTakeOffMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2593,892,894,'OP_ReadyForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2594,892,894,'OP_ShowIllusionsMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2595,892,894,'OP_HideIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2596,892,894,'OP_ExamineItemRequestMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2597,892,894,'OP_ReadBookPageMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2598,892,894,'OP_DefaultGroupOptionsRequestMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2599,892,894,'OP_DefaultGroupOptionsMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2600,892,894,'OP_GroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2601,892,894,'OP_DisplayGroupOptionsScreenMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2602,892,894,'OP_DisplayInnVisitScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2603,892,894,'OP_DumpSchedulerMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2604,892,894,'OP_LSRequestPlayerDescMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2605,892,894,'OP_LSCheckAcctLockMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2606,892,894,'OP_WSAcctLockStatusMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2607,892,894,'OP_RequestHelpRepathMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2608,892,894,'OP_RequestTargetLocMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2609,892,894,'OP_UpdateMotdMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2610,892,894,'OP_PerformPlayerKnockbackMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2611,892,894,'OP_PerformCameraShakeMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2612,892,894,'OP_PopulateSkillMapsMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2613,892,894,'OP_CancelledFeignMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2614,892,894,'OP_SignalMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2615,892,894,'OP_ShowCreateFromRecipeUIMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2616,892,894,'OP_CancelCreateFromRecipeMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2617,892,894,'OP_BeginItemCreationMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2618,892,894,'OP_StopItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2619,892,894,'OP_ShowItemCreationProcessUIMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2620,892,894,'OP_UpdateItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2621,892,894,'OP_DisplayTSEventReactionMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2622,892,894,'OP_ShowRecipeBookMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2623,892,894,'OP_KnowledgebaseRequestMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2624,892,894,'OP_KnowledgebaseResponseMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2625,892,894,'OP_CSTicketHeaderRequestMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2626,892,894,'OP_CSTicketInfoMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2627,892,894,'OP_CSTicketCommentRequestMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2628,892,894,'OP_CSTicketCommentResponseMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2629,892,894,'OP_CSTicketCreateMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2630,892,894,'OP_CSTicketAddCommentMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2631,892,894,'OP_CSTicketDeleteMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2632,892,894,'OP_CSTicketChangeNotificationMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2633,892,894,'OP_WorldDataUpdateMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2634,892,894,'OP_KnownLanguagesMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2635,892,894,'OP_LsRequestClientCrashLogMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2636,892,894,'OP_LsClientBaselogReplyMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2637,892,894,'OP_LsClientCrashlogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2638,892,894,'OP_LsClientAlertlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2639,892,894,'OP_LsClientVerifylogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2640,892,894,'OP_ClientTeleportToLocationMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2641,892,894,'OP_UpdateClientPredFlagsMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2642,892,894,'OP_ChangeServerControlFlagMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2643,892,894,'OP_CSToolsRequestMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2644,892,894,'OP_CSToolsResponseMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2645,892,894,'OP_AddSocialStructureStandingMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2646,892,894,'OP_CreateBoatTransportsMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2647,892,894,'OP_PositionBoatTransportMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2648,892,894,'OP_MigrateBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2649,892,894,'OP_MigrateBoatTransportReplyMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2650,892,894,'OP_DisplayDebugNLLPointsMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2651,892,894,'OP_ExamineInfoRequestMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2652,892,894,'OP_QuickbarInitMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2653,892,894,'OP_QuickbarUpdateMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2654,892,894,'OP_MacroInitMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2655,892,894,'OP_MacroUpdateMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2656,892,894,'OP_QuestionnaireMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2657,892,894,'OP_LevelChangedMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2658,892,894,'OP_SpellGainedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2659,892,894,'OP_EncounterBrokenMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2660,892,894,'OP_OnscreenMsgMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2661,892,894,'OP_DisplayWarningMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2662,892,894,'OP_ModifyGuildMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2663,892,894,'OP_GuildEventMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2664,892,894,'OP_GuildEventAddMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2665,892,894,'OP_GuildEventActionMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2666,892,894,'OP_GuildEventListMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2667,892,894,'OP_RequestGuildEventDetailsMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2668,892,894,'OP_GuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2669,892,894,'OP_RequestGuildInfoMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2670,892,894,'OP_GuildBankActionMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2671,892,894,'OP_GuildBankActionResponseMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2672,892,894,'OP_GuildBankItemDetailsRequestMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2673,892,894,'OP_GuildBankItemDetailsResponseMs',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2674,892,894,'OP_GuildBankUpdateMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2675,892,894,'OP_GuildBankEventListMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2676,892,894,'OP_RequestGuildBankEventDetailsMs',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2677,892,894,'OP_RewardPackMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2678,892,894,'OP_RenameGuildMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2679,892,894,'OP_ZoneToFriendRequestMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2680,892,894,'OP_ZoneToFriendReplyMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2681,892,894,'OP_ChatCreateChannelMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2682,892,894,'OP_ChatJoinChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2683,892,894,'OP_ChatWhoChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2684,892,894,'OP_ChatLeaveChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2685,892,894,'OP_ChatTellChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2686,892,894,'OP_ChatTellUserMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2687,892,894,'OP_ChatToggleFriendMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2688,892,894,'OP_ChatToggleIgnoreMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2689,892,894,'OP_ChatSendFriendsMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2690,892,894,'OP_ChatSendIgnoresMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2691,892,894,'OP_QuestReward',300,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2692,892,894,'OP_ChatFiltersMsg',315,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2693,892,894,'OP_MailGetHeadersMsg',316,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2694,892,894,'OP_MailGetMessageMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2695,892,894,'OP_MailSendMessageMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2696,892,894,'OP_MailDeleteMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2697,892,894,'OP_MailGetHeadersReplyMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2698,892,894,'OP_MailGetMessageReplyMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2699,892,894,'OP_MailSendMessageReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2700,892,894,'OP_MailCommitSendMessageMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2701,892,894,'OP_MailSendSystemMessageMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2702,892,894,'OP_MailRemoveAttachFromMailMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2703,892,894,'OP_WaypointRequestMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2704,892,894,'OP_WaypointReplyMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2705,892,894,'OP_WaypointSelectMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2706,892,894,'OP_WaypointUpdateMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2707,892,894,'OP_CharNameChangedMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2708,892,894,'OP_ShowZoneTeleporterDestinations',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2709,892,894,'OP_SelectZoneTeleporterDestinatio',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2710,892,894,'OP_ReloadLocalizedTxtMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2711,892,894,'OP_RequestGuildMembershipMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2712,892,894,'OP_GuildMembershipResponseMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2713,892,894,'OP_LeaveGuildNotifyMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2714,892,894,'OP_JoinGuildNotifyMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2715,892,894,'OP_AvatarUpdateMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2716,892,894,'OP_BioUpdateMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2717,892,894,'OP_InspectPlayerMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2718,892,894,'OP_WSServerLockMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2719,892,894,'OP_LSServerLockMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2720,892,894,'OP_WSServerHideMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2721,892,894,'OP_CsCategoryRequestMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2722,892,894,'OP_CsCategoryResponseMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2723,892,894,'OP_KnowledgeWindowSlotMappingMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2724,892,894,'OP_LFGUpdateMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2725,892,894,'OP_AFKUpdateMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2726,892,894,'OP_AnonUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2727,892,894,'OP_UpdateActivePublicZonesMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2728,892,894,'OP_UnknownNpcMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2729,892,894,'OP_PromoFlagsDetailsMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2730,892,894,'OP_ConsignViewCreateMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2731,892,894,'OP_ConsignViewGetPageMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2732,892,894,'OP_ConsignViewReleaseMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2733,892,894,'OP_ConsignRemoveItemsMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2734,892,894,'OP_UpdateDebugRadiiMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2735,892,894,'OP_SnoopMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2736,892,894,'OP_ReportMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2737,892,894,'OP_UpdateRaidMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2738,892,894,'OP_ConsignViewSortMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2739,892,894,'OP_TitleUpdateMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2740,892,894,'OP_ClientFellMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2741,892,894,'OP_ClientInDeathRegionMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2742,892,894,'OP_CampClientMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2743,892,894,'OP_CSToolAccessResponseMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2744,892,894,'OP_TrackingUpdateMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2745,892,894,'OP_BeginTrackingMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2746,892,894,'OP_StopTrackingMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2747,892,894,'OP_GetAvatarAccessRequestForCSToo',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2748,892,894,'OP_AdvancementRequestMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2749,892,894,'OP_UpdateAvgFrameTimeMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2750,892,894,'OP_MapFogDataInitMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2751,892,894,'OP_MapFogDataUpdateMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2752,892,894,'OP_CloseGroupInviteWindowMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2753,892,894,'OP_UpdateGroupMemberDataMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2754,892,894,'OP_WorldPingMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2755,892,894,'OP_MoveLogUpdateMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2756,892,894,'OP_OfferQuestMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2757,892,894,'OP_WorldShutdownUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2758,892,894,'OP_DisplayMailScreenMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2759,892,894,'OP_ClientIdleBeginMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2760,892,894,'OP_ClientIdleEndMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2761,892,894,'OP_PurchaseConsignmentLoreCheckRe',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2762,892,894,'OP_NotifyApprenticeStoppedMentori',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2763,892,894,'OP_CorruptedClientMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2764,892,894,'OP_WorldDataChangeMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2765,892,894,'OP_MailEventNotificationMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2766,892,894,'OP_RestartZoneMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2767,892,894,'OP_FlightPathsMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2768,892,894,'OP_CharacterLinkdeadMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2769,892,894,'OP_CharTransferStartRequestMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2770,892,894,'OP_CharTransferStartReplyMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2771,892,894,'OP_CharTransferRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2772,892,894,'OP_CharTransferReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2773,892,894,'OP_CharTransferRollbackRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2774,892,894,'OP_CharTransferCommitRequestMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2775,892,894,'OP_CharTransferRollbackReplyMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2776,892,894,'OP_CharTransferCommitReplyMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2777,892,894,'OP_GetCharacterSerializedRequestM',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2778,892,894,'OP_GetCharacterSerializedReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2779,892,894,'OP_CreateCharFromCBBRequestMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2780,892,894,'OP_CreateCharFromCBBReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2781,892,894,'OP_HousingDataChangedMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2782,892,894,'OP_HousingRestoreMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2783,892,894,'OP_AuctionItem',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2784,892,894,'OP_AuctionItemReply',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2785,892,894,'OP_AuctionCoin',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2786,892,894,'OP_AuctionCoinReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2787,892,894,'OP_AuctionCharacter',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2788,892,894,'OP_AuctionCharacterReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2789,892,894,'OP_AuctionCommitMsg',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2790,892,894,'OP_AuctionAbortMsg',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2791,892,894,'OP_CharTransferValidateRequestMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2792,892,894,'OP_CharTransferValidateReplyMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2793,892,894,'OP_RaceRestrictionMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2794,892,894,'OP_SetInstanceDisplayNameMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2795,892,894,'OP_GetAuctionAssetIDMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2796,892,894,'OP_GetAuctionAssetIDReplyMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2797,892,894,'OP_ResendWorldChannelsMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2798,892,894,'OP_DisplayExchangeScreenMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2799,892,894,'OP_ArenaGameTypesMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2800,892,894,'OP_AuditAuctionEventMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2801,892,894,'OP_InviteRequestMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2802,892,894,'OP_InviteResponseMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2803,892,894,'OP_InviteTargetResponseMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2804,892,894,'OP_InspectPlayerRequestMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2805,892,894,'OP_DispatchMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2806,892,894,'OP_DisplayEventMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2807,892,894,'OP_PrePossessionMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2808,892,894,'OP_PostPossessionMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2809,892,894,'OP_AdventureList',460,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2810,892,894,'OP_CancelSpellCast',461,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2811,892,894,'OP_AttackAllowed',473,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2812,892,894,'OP_AttackNotAllowed',474,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2813,892,894,'OP_DressingRoom',480,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2814,892,894,'OP_SkillInfoRequest',484,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2815,892,894,'OP_SkillInfoResponse',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2816,892,894,'OP_EqUnknown',489,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2817,892,894,'OP_EqHearChatCmd',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2818,892,894,'OP_EqDisplayTextCmd',491,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2819,892,894,'OP_EqCreateGhostCmd',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2820,892,894,'OP_EqCreateWidgetCmd',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2821,892,894,'OP_EqCreateSignWidgetCmd',494,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2822,892,894,'OP_EqDestroyGhostCmd',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2823,892,894,'OP_EqUpdateGhostCmd',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2824,892,894,'OP_EqSetControlGhostCmd',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2825,892,894,'OP_EqSetPOVGhostCmd',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2826,892,894,'OP_EqHearCombatCmd',499,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2827,892,894,'OP_EqHearSpellCastCmd',500,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2828,892,894,'OP_EqHearSpellInterruptCmd',503,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2829,892,894,'OP_EqHearSpellFizzleCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2830,892,894,'OP_EqHearConsiderCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2831,892,894,'OP_EqUpdateSubClassesCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2832,892,894,'OP_EqCreateListBoxCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2833,892,894,'OP_EqSetDebugPathPointsCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2834,892,894,'OP_EqCannedEmoteCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2835,892,894,'OP_EqStateCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2836,892,894,'OP_EqPlaySoundCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2837,892,894,'OP_EqPlaySound3DCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2838,892,894,'OP_EqPlayVoiceCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2839,892,894,'OP_EqHearDrowningCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2840,892,894,'OP_EqHearDeathCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2841,892,894,'OP_EqGroupMemberRemovedCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2842,892,894,'OP_EqHearChainEffectCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2843,892,894,'OP_EqReceiveOfferCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2844,892,894,'OP_EqInspectPCResultsCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2845,892,894,'OP_EqDrawablePathGraphCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2846,892,894,'OP_EqDialogOpenCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2847,892,894,'OP_EqDialogCloseCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2848,892,894,'OP_EqFactionUpdateCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2849,892,894,'OP_EqCollectionUpdateCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2850,892,894,'OP_EqCollectionFilterCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2851,892,894,'OP_EqCollectionItemCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2852,892,894,'OP_EqQuestJournalUpdateCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2853,892,894,'OP_EqQuestJournalReplyCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2854,892,894,'OP_EqQuestGroupCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2855,892,894,'OP_EqUpdateMerchantCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2856,892,894,'OP_EqUpdateStoreCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2857,892,894,'OP_EqUpdatePlayerTradeCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2858,892,894,'OP_EqHelpPathCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2859,892,894,'OP_EqHelpPathClearCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2860,892,894,'OP_EqUpdateBankCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2861,892,894,'OP_EqExamineInfoCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2862,892,894,'OP_EqCloseWindowCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2863,892,894,'OP_EqUpdateLootCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2864,892,894,'OP_EqJunctionListCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2865,892,894,'OP_EqShowDeathWindowCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2866,892,894,'OP_EqDisplaySpellFailCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2867,892,894,'OP_EqSpellCastStartCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2868,892,894,'OP_EqSpellCastEndCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2869,892,894,'OP_EqResurrectedCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2870,892,894,'OP_EqChoiceWinCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2871,892,894,'OP_EqSetDefaultVerbCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2872,892,894,'OP_EqInstructionWindowCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2873,892,894,'OP_EqInstructionWindowCloseCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2874,892,894,'OP_EqInstructionWindowGoalCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2875,892,894,'OP_EqInstructionWindowTaskCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2876,892,894,'OP_EqEnableGameEventCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2877,892,894,'OP_EqShowWindowCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2878,892,894,'OP_EqEnableWindowCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2879,892,894,'OP_EqFlashWindowCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2880,892,894,'OP_EqHearPlayFlavorCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2881,892,894,'OP_EqUpdateSignWidgetCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2882,892,894,'OP_EqDebugPVDCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2883,892,894,'OP_EqShowBookCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2884,892,894,'OP_EqQuestionnaireCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2885,892,894,'OP_EqGetProbsCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2886,892,894,'OP_EqHearHealCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2887,892,894,'OP_EqChatChannelUpdateCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2888,892,894,'OP_EqWhoChannelQueryReplyCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2889,892,894,'OP_EqAvailWorldChannelsCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2890,892,894,'OP_EqUpdateTargetCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2891,892,894,'OP_EqConsignmentItemsCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2892,892,894,'OP_EqStartBrokerCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2893,892,894,'OP_EqMapExplorationCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2894,892,894,'OP_EqStoreLogCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2895,892,894,'OP_EqSpellMoveToRangeAndRetryCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2896,892,894,'OP_EqUpdatePlayerMailCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2897,892,894,'OP_EqArenaResultsCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2898,892,894,'OP_EqGuildBankEventActionCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2899,892,894,'OP_EqGuildBankExamineInfoCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2900,892,894,'OP_EqHearSpellNoLandCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2901,892,894,'OP_Lottery',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2902,892,894,'OP_GuildRecruitingMemberInfo',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2903,892,894,'OP_GuildRecruiting',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2904,892,894,'OP_GuildRecruitingDetails',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2905,892,894,'OP_GuildRecruitingImage',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2906,892,894,'OP_PointOfInterest',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2907,892,894,'OP_TraitsList',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2908,892,894,'OP_RecipeList',619,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2909,892,894,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2910,892,894,'OP_MapRequest',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2911,892,894,'OP_AddClientToGroupMsg',1006,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2912,892,894,'OP_AddGroupToGroupMsg',1006,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2913,892,894,'OP_GuildKickMsg',1006,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2914,892,894,'OP_PurchaseConsignmentResponseMsg',1006,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2915,892,894,'OP_ProcessScriptMsg',1006,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2916,892,894,'OP_ProcessWorkspaceMsg',1006,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2917,892,894,'OP_QuickbarAddMsg',1006,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2918,892,894,'OP_SkillSlotMapping',1006,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2919,892,894,'OP_Unknown',10010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2920,892,894,'OP_WSWeatherUpdateMsg',10012,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2921,898,898,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2922,898,898,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2923,898,898,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2924,898,898,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2925,898,898,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2926,898,898,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2927,898,898,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2928,898,898,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2929,898,898,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2930,898,898,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2931,898,898,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2932,898,898,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2933,898,898,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2934,898,898,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2935,898,898,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2936,898,898,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2937,898,898,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2938,898,898,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2939,898,898,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2940,898,898,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2941,898,898,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2942,898,898,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2943,898,898,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2944,898,898,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2945,898,898,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2946,898,898,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2947,898,898,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2948,898,898,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2949,898,898,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2950,898,898,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2951,898,898,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2952,898,898,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2953,898,898,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2954,898,898,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2955,898,898,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2956,898,898,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2957,898,898,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2958,898,898,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2959,898,898,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2960,898,898,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2961,898,898,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2962,898,898,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2963,898,898,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2964,898,898,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2965,898,898,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2966,898,898,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2967,898,898,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2968,898,898,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2969,898,898,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2970,898,898,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2971,898,898,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2972,898,898,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2973,898,898,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2974,898,898,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2975,898,898,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2976,898,898,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2977,898,898,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2978,898,898,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2979,898,898,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2980,898,898,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2981,898,898,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2982,898,898,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2983,898,898,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2984,898,898,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2985,898,898,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2986,898,898,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2987,898,898,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2988,898,898,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2989,898,898,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2990,898,898,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2991,898,898,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2992,898,898,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2993,898,898,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2994,898,898,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2995,898,898,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2996,898,898,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2997,898,898,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2998,898,898,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (2999,898,898,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3000,898,898,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3001,898,898,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3002,898,898,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3003,898,898,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3004,898,898,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3005,898,898,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3006,898,898,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3007,898,898,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3008,898,898,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3009,898,898,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3010,898,898,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3011,898,898,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3012,898,898,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3013,898,898,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3014,898,898,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3015,898,898,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3016,898,898,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3017,898,898,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3018,898,898,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3019,898,898,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3020,898,898,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3021,898,898,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3022,898,898,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3023,898,898,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3024,898,898,'OP_GuildUpdateMsg',114,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3025,898,898,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3026,898,898,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3027,898,898,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3028,898,898,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3029,898,898,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3030,898,898,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3031,898,898,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3032,898,898,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3033,898,898,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3034,898,898,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3035,898,898,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3036,898,898,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3037,898,898,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3038,898,898,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3039,898,898,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3040,898,898,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3041,898,898,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3042,898,898,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3043,898,898,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3044,898,898,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3045,898,898,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3046,898,898,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3047,898,898,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3048,898,898,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3049,898,898,'OP_MoveableObjectPlacementCriteri',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3050,898,898,'OP_EnterMoveObjectModeMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3051,898,898,'OP_PositionMoveableObject',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3052,898,898,'OP_CancelMoveObjectModeMsg',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3053,898,898,'OP_ShaderCustomizationMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3054,898,898,'OP_ReplaceableSubMeshesMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3055,898,898,'OP_HouseCustomizationScreenMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3056,898,898,'OP_CustomizationPurchaseRequestMs',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3057,898,898,'OP_CustomizationSetRequestMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3058,898,898,'OP_CustomizationReplyMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3059,898,898,'OP_TintWidgetsMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3060,898,898,'OP_ExamineConsignmentRequestMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3061,898,898,'OP_ExamineConsignmentResponseMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3062,898,898,'OP_UISettingsResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3063,898,898,'OP_UIResetMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3064,898,898,'OP_KeymapLoadMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3065,898,898,'OP_KeymapNoneMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3066,898,898,'OP_KeymapDataMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3067,898,898,'OP_KeymapSaveMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3068,898,898,'OP_DispatchSpellCmdMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3069,898,898,'OP_EntityVerbsRequestMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3070,898,898,'OP_EntityVerbsReplyMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3071,898,898,'OP_EntityVerbsVerbMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3072,898,898,'OP_ChatRelationshipUpdateMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3073,898,898,'OP_LootItemsRequestMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3074,898,898,'OP_StoppedLootingMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3075,898,898,'OP_SitMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3076,898,898,'OP_StandMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3077,898,898,'OP_SatMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3078,898,898,'OP_StoodMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3079,898,898,'OP_ClearForTakeOffMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3080,898,898,'OP_ReadyForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3081,898,898,'OP_ShowIllusionsMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3082,898,898,'OP_HideIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3083,898,898,'OP_ExamineItemRequestMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3084,898,898,'OP_ReadBookPageMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3085,898,898,'OP_DefaultGroupOptionsRequestMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3086,898,898,'OP_DefaultGroupOptionsMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3087,898,898,'OP_GroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3088,898,898,'OP_DisplayGroupOptionsScreenMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3089,898,898,'OP_DisplayInnVisitScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3090,898,898,'OP_DumpSchedulerMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3091,898,898,'OP_LSRequestPlayerDescMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3092,898,898,'OP_LSCheckAcctLockMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3093,898,898,'OP_WSAcctLockStatusMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3094,898,898,'OP_RequestHelpRepathMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3095,898,898,'OP_RequestTargetLocMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3096,898,898,'OP_UpdateMotdMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3097,898,898,'OP_PerformPlayerKnockbackMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3098,898,898,'OP_PerformCameraShakeMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3099,898,898,'OP_PopulateSkillMapsMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3100,898,898,'OP_CancelledFeignMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3101,898,898,'OP_SignalMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3102,898,898,'OP_ShowCreateFromRecipeUIMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3103,898,898,'OP_CancelCreateFromRecipeMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3104,898,898,'OP_BeginItemCreationMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3105,898,898,'OP_StopItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3106,898,898,'OP_ShowItemCreationProcessUIMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3107,898,898,'OP_UpdateItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3108,898,898,'OP_DisplayTSEventReactionMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3109,898,898,'OP_ShowRecipeBookMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3110,898,898,'OP_KnowledgebaseRequestMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3111,898,898,'OP_KnowledgebaseResponseMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3112,898,898,'OP_CSTicketHeaderRequestMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3113,898,898,'OP_CSTicketInfoMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3114,898,898,'OP_CSTicketCommentRequestMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3115,898,898,'OP_CSTicketCommentResponseMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3116,898,898,'OP_CSTicketCreateMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3117,898,898,'OP_CSTicketAddCommentMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3118,898,898,'OP_CSTicketDeleteMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3119,898,898,'OP_CSTicketChangeNotificationMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3120,898,898,'OP_WorldDataUpdateMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3121,898,898,'OP_KnownLanguagesMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3122,898,898,'OP_LsRequestClientCrashLogMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3123,898,898,'OP_LsClientBaselogReplyMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3124,898,898,'OP_LsClientCrashlogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3125,898,898,'OP_LsClientAlertlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3126,898,898,'OP_LsClientVerifylogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3127,898,898,'OP_ClientTeleportToLocationMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3128,898,898,'OP_UpdateClientPredFlagsMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3129,898,898,'OP_ChangeServerControlFlagMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3130,898,898,'OP_CSToolsRequestMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3131,898,898,'OP_CSToolsResponseMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3132,898,898,'OP_AddSocialStructureStandingMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3133,898,898,'OP_CreateBoatTransportsMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3134,898,898,'OP_PositionBoatTransportMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3135,898,898,'OP_MigrateBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3136,898,898,'OP_MigrateBoatTransportReplyMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3137,898,898,'OP_DisplayDebugNLLPointsMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3138,898,898,'OP_ExamineInfoRequestMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3139,898,898,'OP_QuickbarInitMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3140,898,898,'OP_QuickbarUpdateMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3141,898,898,'OP_MacroInitMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3142,898,898,'OP_MacroUpdateMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3143,898,898,'OP_QuestionnaireMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3144,898,898,'OP_LevelChangedMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3145,898,898,'OP_SpellGainedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3146,898,898,'OP_EncounterBrokenMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3147,898,898,'OP_OnscreenMsgMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3148,898,898,'OP_DisplayWarningMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3149,898,898,'OP_ModifyGuildMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3150,898,898,'OP_GuildEventMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3151,898,898,'OP_GuildEventAddMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3152,898,898,'OP_GuildEventActionMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3153,898,898,'OP_GuildEventListMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3154,898,898,'OP_RequestGuildEventDetailsMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3155,898,898,'OP_GuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3156,898,898,'OP_RequestGuildInfoMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3157,898,898,'OP_GuildBankActionMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3158,898,898,'OP_GuildBankActionResponseMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3159,898,898,'OP_GuildBankItemDetailsRequestMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3160,898,898,'OP_GuildBankItemDetailsResponseMs',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3161,898,898,'OP_GuildBankUpdateMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3162,898,898,'OP_GuildBankEventListMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3163,898,898,'OP_RequestGuildBankEventDetailsMs',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3164,898,898,'OP_RewardPackMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3165,898,898,'OP_RenameGuildMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3166,898,898,'OP_ZoneToFriendRequestMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3167,898,898,'OP_ZoneToFriendReplyMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3168,898,898,'OP_ChatCreateChannelMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3169,898,898,'OP_ChatJoinChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3170,898,898,'OP_ChatWhoChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3171,898,898,'OP_ChatLeaveChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3172,898,898,'OP_ChatTellChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3173,898,898,'OP_ChatTellUserMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3174,898,898,'OP_ChatToggleFriendMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3175,898,898,'OP_ChatToggleIgnoreMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3176,898,898,'OP_ChatSendFriendsMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3177,898,898,'OP_ChatSendIgnoresMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3178,898,898,'OP_QuestReward',300,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3179,898,898,'OP_ChatFiltersMsg',315,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3180,898,898,'OP_MailGetHeadersMsg',316,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3181,898,898,'OP_MailGetMessageMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3182,898,898,'OP_MailSendMessageMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3183,898,898,'OP_MailDeleteMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3184,898,898,'OP_MailGetHeadersReplyMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3185,898,898,'OP_MailGetMessageReplyMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3186,898,898,'OP_MailSendMessageReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3187,898,898,'OP_MailCommitSendMessageMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3188,898,898,'OP_MailSendSystemMessageMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3189,898,898,'OP_MailRemoveAttachFromMailMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3190,898,898,'OP_WaypointRequestMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3191,898,898,'OP_WaypointReplyMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3192,898,898,'OP_WaypointSelectMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3193,898,898,'OP_WaypointUpdateMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3194,898,898,'OP_CharNameChangedMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3195,898,898,'OP_ShowZoneTeleporterDestinations',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3196,898,898,'OP_SelectZoneTeleporterDestinatio',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3197,898,898,'OP_ReloadLocalizedTxtMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3198,898,898,'OP_RequestGuildMembershipMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3199,898,898,'OP_GuildMembershipResponseMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3200,898,898,'OP_LeaveGuildNotifyMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3201,898,898,'OP_JoinGuildNotifyMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3202,898,898,'OP_AvatarUpdateMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3203,898,898,'OP_BioUpdateMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3204,898,898,'OP_InspectPlayerMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3205,898,898,'OP_WSServerLockMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3206,898,898,'OP_LSServerLockMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3207,898,898,'OP_WSServerHideMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3208,898,898,'OP_CsCategoryRequestMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3209,898,898,'OP_CsCategoryResponseMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3210,898,898,'OP_KnowledgeWindowSlotMappingMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3211,898,898,'OP_LFGUpdateMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3212,898,898,'OP_AFKUpdateMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3213,898,898,'OP_AnonUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3214,898,898,'OP_UpdateActivePublicZonesMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3215,898,898,'OP_UnknownNpcMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3216,898,898,'OP_PromoFlagsDetailsMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3217,898,898,'OP_ConsignViewCreateMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3218,898,898,'OP_ConsignViewGetPageMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3219,898,898,'OP_ConsignViewReleaseMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3220,898,898,'OP_ConsignRemoveItemsMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3221,898,898,'OP_UpdateDebugRadiiMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3222,898,898,'OP_SnoopMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3223,898,898,'OP_ReportMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3224,898,898,'OP_UpdateRaidMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3225,898,898,'OP_ConsignViewSortMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3226,898,898,'OP_TitleUpdateMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3227,898,898,'OP_ClientFellMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3228,898,898,'OP_ClientInDeathRegionMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3229,898,898,'OP_CampClientMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3230,898,898,'OP_CSToolAccessResponseMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3231,898,898,'OP_TrackingUpdateMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3232,898,898,'OP_BeginTrackingMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3233,898,898,'OP_StopTrackingMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3234,898,898,'OP_GetAvatarAccessRequestForCSToo',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3235,898,898,'OP_AdvancementRequestMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3236,898,898,'OP_UpdateAvgFrameTimeMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3237,898,898,'OP_MapFogDataInitMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3238,898,898,'OP_MapFogDataUpdateMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3239,898,898,'OP_CloseGroupInviteWindowMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3240,898,898,'OP_UpdateGroupMemberDataMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3241,898,898,'OP_WorldPingMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3242,898,898,'OP_MoveLogUpdateMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3243,898,898,'OP_OfferQuestMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3244,898,898,'OP_WorldShutdownUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3245,898,898,'OP_DisplayMailScreenMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3246,898,898,'OP_ClientIdleBeginMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3247,898,898,'OP_ClientIdleEndMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3248,898,898,'OP_PurchaseConsignmentLoreCheckRe',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3249,898,898,'OP_NotifyApprenticeStoppedMentori',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3250,898,898,'OP_CorruptedClientMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3251,898,898,'OP_WorldDataChangeMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3252,898,898,'OP_MailEventNotificationMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3253,898,898,'OP_RestartZoneMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3254,898,898,'OP_FlightPathsMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3255,898,898,'OP_CharacterLinkdeadMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3256,898,898,'OP_CharTransferStartRequestMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3257,898,898,'OP_CharTransferStartReplyMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3258,898,898,'OP_CharTransferRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3259,898,898,'OP_CharTransferReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3260,898,898,'OP_CharTransferRollbackRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3261,898,898,'OP_CharTransferCommitRequestMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3262,898,898,'OP_CharTransferRollbackReplyMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3263,898,898,'OP_CharTransferCommitReplyMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3264,898,898,'OP_GetCharacterSerializedRequestM',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3265,898,898,'OP_GetCharacterSerializedReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3266,898,898,'OP_CreateCharFromCBBRequestMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3267,898,898,'OP_CreateCharFromCBBReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3268,898,898,'OP_HousingDataChangedMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3269,898,898,'OP_HousingRestoreMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3270,898,898,'OP_AuctionItem',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3271,898,898,'OP_AuctionItemReply',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3272,898,898,'OP_AuctionCoin',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3273,898,898,'OP_AuctionCoinReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3274,898,898,'OP_AuctionCharacter',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3275,898,898,'OP_AuctionCharacterReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3276,898,898,'OP_AuctionCommitMsg',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3277,898,898,'OP_AuctionAbortMsg',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3278,898,898,'OP_CharTransferValidateRequestMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3279,898,898,'OP_CharTransferValidateReplyMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3280,898,898,'OP_RaceRestrictionMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3281,898,898,'OP_SetInstanceDisplayNameMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3282,898,898,'OP_GetAuctionAssetIDMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3283,898,898,'OP_GetAuctionAssetIDReplyMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3284,898,898,'OP_ResendWorldChannelsMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3285,898,898,'OP_DisplayExchangeScreenMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3286,898,898,'OP_ArenaGameTypesMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3287,898,898,'OP_AuditAuctionEventMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3288,898,898,'OP_InviteRequestMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3289,898,898,'OP_InviteResponseMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3290,898,898,'OP_InviteTargetResponseMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3291,898,898,'OP_InspectPlayerRequestMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3292,898,898,'OP_DispatchMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3293,898,898,'OP_DisplayEventMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3294,898,898,'OP_PrePossessionMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3295,898,898,'OP_PostPossessionMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3296,898,898,'OP_AdventureList',460,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3297,898,898,'OP_CancelSpellCast',461,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3298,898,898,'OP_AttackAllowed',473,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3299,898,898,'OP_AttackNotAllowed',474,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3300,898,898,'OP_DressingRoom',480,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3301,898,898,'OP_SkillInfoRequest',484,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3302,898,898,'OP_SkillInfoResponse',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3303,898,898,'OP_EqUnknown',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3304,898,898,'OP_EqHearChatCmd',491,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3305,898,898,'OP_EqDisplayTextCmd',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3306,898,898,'OP_EqCreateGhostCmd',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3307,898,898,'OP_EqCreateWidgetCmd',494,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3308,898,898,'OP_EqCreateSignWidgetCmd',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3309,898,898,'OP_EqDestroyGhostCmd',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3310,898,898,'OP_EqUpdateGhostCmd',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3311,898,898,'OP_EqSetControlGhostCmd',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3312,898,898,'OP_EqSetPOVGhostCmd',499,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3313,898,898,'OP_EqHearCombatCmd',500,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3314,898,898,'OP_EqHearSpellCastCmd',501,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3315,898,898,'OP_EqHearSpellInterruptCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3316,898,898,'OP_EqHearSpellFizzleCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3317,898,898,'OP_EqHearConsiderCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3318,898,898,'OP_EqUpdateSubClassesCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3319,898,898,'OP_EqCreateListBoxCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3320,898,898,'OP_EqSetDebugPathPointsCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3321,898,898,'OP_EqCannedEmoteCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3322,898,898,'OP_EqStateCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3323,898,898,'OP_EqPlaySoundCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3324,898,898,'OP_EqPlaySound3DCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3325,898,898,'OP_EqPlayVoiceCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3326,898,898,'OP_EqHearDrowningCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3327,898,898,'OP_EqHearDeathCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3328,898,898,'OP_EqGroupMemberRemovedCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3329,898,898,'OP_EqHearChainEffectCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3330,898,898,'OP_EqReceiveOfferCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3331,898,898,'OP_EqInspectPCResultsCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3332,898,898,'OP_EqDrawablePathGraphCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3333,898,898,'OP_EqDialogOpenCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3334,898,898,'OP_EqDialogCloseCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3335,898,898,'OP_EqFactionUpdateCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3336,898,898,'OP_EqCollectionUpdateCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3337,898,898,'OP_EqCollectionFilterCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3338,898,898,'OP_EqCollectionItemCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3339,898,898,'OP_EqQuestJournalUpdateCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3340,898,898,'OP_EqQuestJournalReplyCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3341,898,898,'OP_EqQuestGroupCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3342,898,898,'OP_EqUpdateMerchantCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3343,898,898,'OP_EqUpdateStoreCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3344,898,898,'OP_EqUpdatePlayerTradeCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3345,898,898,'OP_EqHelpPathCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3346,898,898,'OP_EqHelpPathClearCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3347,898,898,'OP_EqUpdateBankCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3348,898,898,'OP_EqExamineInfoCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3349,898,898,'OP_EqCloseWindowCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3350,898,898,'OP_EqUpdateLootCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3351,898,898,'OP_EqJunctionListCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3352,898,898,'OP_EqShowDeathWindowCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3353,898,898,'OP_EqDisplaySpellFailCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3354,898,898,'OP_EqSpellCastStartCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3355,898,898,'OP_EqSpellCastEndCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3356,898,898,'OP_EqResurrectedCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3357,898,898,'OP_EqChoiceWinCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3358,898,898,'OP_EqSetDefaultVerbCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3359,898,898,'OP_EqInstructionWindowCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3360,898,898,'OP_EqInstructionWindowCloseCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3361,898,898,'OP_EqInstructionWindowGoalCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3362,898,898,'OP_EqInstructionWindowTaskCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3363,898,898,'OP_EqEnableGameEventCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3364,898,898,'OP_EqShowWindowCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3365,898,898,'OP_EqEnableWindowCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3366,898,898,'OP_EqFlashWindowCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3367,898,898,'OP_EqHearPlayFlavorCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3368,898,898,'OP_EqUpdateSignWidgetCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3369,898,898,'OP_EqDebugPVDCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3370,898,898,'OP_EqShowBookCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3371,898,898,'OP_EqQuestionnaireCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3372,898,898,'OP_EqGetProbsCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3373,898,898,'OP_EqHearHealCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3374,898,898,'OP_EqChatChannelUpdateCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3375,898,898,'OP_EqWhoChannelQueryReplyCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3376,898,898,'OP_EqAvailWorldChannelsCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3377,898,898,'OP_EqUpdateTargetCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3378,898,898,'OP_EqConsignmentItemsCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3379,898,898,'OP_EqStartBrokerCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3380,898,898,'OP_EqMapExplorationCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3381,898,898,'OP_EqStoreLogCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3382,898,898,'OP_EqSpellMoveToRangeAndRetryCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3383,898,898,'OP_EqUpdatePlayerMailCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3384,898,898,'OP_EqArenaResultsCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3385,898,898,'OP_EqGuildBankEventActionCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3386,898,898,'OP_EqGuildBankExamineInfoCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3387,898,898,'OP_EqHearSpellNoLandCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3388,898,898,'OP_Lottery',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3389,898,898,'OP_GuildRecruitingMemberInfo',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3390,898,898,'OP_GuildRecruiting',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3391,898,898,'OP_GuildRecruitingDetails',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3392,898,898,'OP_GuildRecruitingImage',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3393,898,898,'OP_PointOfInterest',609,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3394,898,898,'OP_TraitsList',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3395,898,898,'OP_RecipeList',620,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3396,898,898,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3397,898,898,'OP_MapRequest',999,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3398,898,898,'OP_AddClientToGroupMsg',1007,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3399,898,898,'OP_AddGroupToGroupMsg',1007,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3400,898,898,'OP_GuildKickMsg',1007,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3401,898,898,'OP_ProcessScriptMsg',1007,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3402,898,898,'OP_ProcessWorkspaceMsg',1007,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3403,898,898,'OP_PurchaseConsignmentResponseMsg',1007,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3404,898,898,'OP_QuickbarAddMsg',1007,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3405,898,898,'OP_SkillSlotMapping',1007,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3406,898,898,'OP_Unknown',10011,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3407,898,898,'OP_WSWeatherUpdateMsg',10012,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3408,908,927,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3409,908,927,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3410,908,927,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3411,908,927,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3412,908,927,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3413,908,927,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3414,908,927,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3415,908,927,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3416,908,927,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3417,908,927,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3418,908,927,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3419,908,927,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3420,908,927,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3421,908,927,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3422,908,927,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3423,908,927,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3424,908,927,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3425,908,927,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3426,908,927,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3427,908,927,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3428,908,927,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3429,908,927,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3430,908,927,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3431,908,927,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3432,908,927,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3433,908,927,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3434,908,927,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3435,908,927,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3436,908,927,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3437,908,927,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3438,908,927,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3439,908,927,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3440,908,927,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3441,908,927,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3442,908,927,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3443,908,927,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3444,908,927,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3445,908,927,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3446,908,927,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3447,908,927,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3448,908,927,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3449,908,927,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3450,908,927,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3451,908,927,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3452,908,927,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3453,908,927,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3454,908,927,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3455,908,927,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3456,908,927,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3457,908,927,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3458,908,927,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3459,908,927,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3460,908,927,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3461,908,927,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3462,908,927,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3463,908,927,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3464,908,927,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3465,908,927,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3466,908,927,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3467,908,927,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3468,908,927,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3469,908,927,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3470,908,927,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3471,908,927,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3472,908,927,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3473,908,927,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3474,908,927,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3475,908,927,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3476,908,927,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3477,908,927,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3478,908,927,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3479,908,927,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3480,908,927,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3481,908,927,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3482,908,927,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3483,908,927,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3484,908,927,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3485,908,927,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3486,908,927,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3487,908,927,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3488,908,927,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3489,908,927,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3490,908,927,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3491,908,927,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3492,908,927,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3493,908,927,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3494,908,927,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3495,908,927,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3496,908,927,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3497,908,927,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3498,908,927,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3499,908,927,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3500,908,927,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3501,908,927,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3502,908,927,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3503,908,927,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3504,908,927,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3505,908,927,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3506,908,927,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3507,908,927,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3508,908,927,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3509,908,927,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3510,908,927,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3511,908,927,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3512,908,927,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3513,908,927,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3514,908,927,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3515,908,927,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3516,908,927,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3517,908,927,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3518,908,927,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3519,908,927,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3520,908,927,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3521,908,927,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3522,908,927,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3523,908,927,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3524,908,927,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3525,908,927,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3526,908,927,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3527,908,927,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3528,908,927,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3529,908,927,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3530,908,927,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3531,908,927,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3532,908,927,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3533,908,927,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3534,908,927,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3535,908,927,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3536,908,927,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3537,908,927,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3538,908,927,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3539,908,927,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3540,908,927,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3541,908,927,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3542,908,927,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3543,908,927,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3544,908,927,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3545,908,927,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3546,908,927,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3547,908,927,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3548,908,927,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3549,908,927,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3550,908,927,'OP_UIResetMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3551,908,927,'OP_KeymapLoadMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3552,908,927,'OP_KeymapNoneMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3553,908,927,'OP_KeymapDataMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3554,908,927,'OP_KeymapSaveMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3555,908,927,'OP_DispatchSpellCmdMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3556,908,927,'OP_EntityVerbsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3557,908,927,'OP_EntityVerbsReplyMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3558,908,927,'OP_EntityVerbsVerbMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3559,908,927,'OP_ChatRelationshipUpdateMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3560,908,927,'OP_LootItemsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3561,908,927,'OP_StoppedLootingMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3562,908,927,'OP_SitMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3563,908,927,'OP_StandMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3564,908,927,'OP_SatMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3565,908,927,'OP_StoodMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3566,908,927,'OP_ClearForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3567,908,927,'OP_ReadyForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3568,908,927,'OP_ShowIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3569,908,927,'OP_HideIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3570,908,927,'OP_ExamineItemRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3571,908,927,'OP_ReadBookPageMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3572,908,927,'OP_DefaultGroupOptionsRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3573,908,927,'OP_DefaultGroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3574,908,927,'OP_GroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3575,908,927,'OP_DisplayGroupOptionsScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3576,908,927,'OP_DisplayInnVisitScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3577,908,927,'OP_DumpSchedulerMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3578,908,927,'OP_LSRequestPlayerDescMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3579,908,927,'OP_LSCheckAcctLockMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3580,908,927,'OP_WSAcctLockStatusMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3581,908,927,'OP_RequestHelpRepathMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3582,908,927,'OP_RequestTargetLocMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3583,908,927,'OP_UpdateMotdMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3584,908,927,'OP_PerformPlayerKnockbackMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3585,908,927,'OP_PerformCameraShakeMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3586,908,927,'OP_PopulateSkillMapsMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3587,908,927,'OP_CancelledFeignMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3588,908,927,'OP_SignalMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3589,908,927,'OP_ShowCreateFromRecipeUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3590,908,927,'OP_CancelCreateFromRecipeMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3591,908,927,'OP_BeginItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3592,908,927,'OP_StopItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3593,908,927,'OP_ShowItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3594,908,927,'OP_UpdateItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3595,908,927,'OP_DisplayTSEventReactionMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3596,908,927,'OP_ShowRecipeBookMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3597,908,927,'OP_KnowledgebaseRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3598,908,927,'OP_KnowledgebaseResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3599,908,927,'OP_CSTicketHeaderRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3600,908,927,'OP_CSTicketInfoMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3601,908,927,'OP_CSTicketCommentRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3602,908,927,'OP_CSTicketCommentResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3603,908,927,'OP_CSTicketCreateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3604,908,927,'OP_CSTicketAddCommentMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3605,908,927,'OP_CSTicketDeleteMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3606,908,927,'OP_CSTicketChangeNotificationMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3607,908,927,'OP_WorldDataUpdateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3608,908,927,'OP_KnownLanguagesMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3609,908,927,'OP_LsRequestClientCrashLogMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3610,908,927,'OP_LsClientBaselogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3611,908,927,'OP_LsClientCrashlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3612,908,927,'OP_LsClientAlertlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3613,908,927,'OP_LsClientVerifylogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3614,908,927,'OP_ClientTeleportToLocationMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3615,908,927,'OP_UpdateClientPredFlagsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3616,908,927,'OP_ChangeServerControlFlagMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3617,908,927,'OP_CSToolsRequestMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3618,908,927,'OP_CSToolsResponseMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3619,908,927,'OP_AddSocialStructureStandingMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3620,908,927,'OP_CreateBoatTransportsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3621,908,927,'OP_PositionBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3622,908,927,'OP_MigrateBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3623,908,927,'OP_MigrateBoatTransportReplyMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3624,908,927,'OP_DisplayDebugNLLPointsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3625,908,927,'OP_ExamineInfoRequestMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3626,908,927,'OP_QuickbarInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3627,908,927,'OP_QuickbarUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3628,908,927,'OP_MacroInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3629,908,927,'OP_MacroUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3630,908,927,'OP_QuestionnaireMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3631,908,927,'OP_LevelChangedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3632,908,927,'OP_SpellGainedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3633,908,927,'OP_EncounterBrokenMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3634,908,927,'OP_OnscreenMsgMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3635,908,927,'OP_DisplayWarningMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3636,908,927,'OP_ModifyGuildMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3637,908,927,'OP_GuildEventMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3638,908,927,'OP_GuildEventAddMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3639,908,927,'OP_GuildEventActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3640,908,927,'OP_GuildEventListMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3641,908,927,'OP_RequestGuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3642,908,927,'OP_GuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3643,908,927,'OP_RequestGuildInfoMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3644,908,927,'OP_GuildBankActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3645,908,927,'OP_GuildBankActionResponseMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3646,908,927,'OP_GuildBankItemDetailsRequestMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3647,908,927,'OP_GuildBankItemDetailsResponseMs',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3648,908,927,'OP_GuildBankUpdateMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3649,908,927,'OP_GuildBankEventListMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3650,908,927,'OP_RequestGuildBankEventDetailsMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3651,908,927,'OP_RewardPackMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3652,908,927,'OP_RenameGuildMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3653,908,927,'OP_ZoneToFriendRequestMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3654,908,927,'OP_ZoneToFriendReplyMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3655,908,927,'OP_ChatCreateChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3656,908,927,'OP_ChatJoinChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3657,908,927,'OP_ChatWhoChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3658,908,927,'OP_ChatLeaveChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3659,908,927,'OP_ChatTellChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3660,908,927,'OP_ChatTellUserMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3661,908,927,'OP_ChatToggleFriendMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3662,908,927,'OP_ChatToggleIgnoreMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3663,908,927,'OP_ChatSendFriendsMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3664,908,927,'OP_ChatSendIgnoresMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3665,908,927,'OP_QuestReward',302,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3666,908,927,'OP_ChatFiltersMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3667,908,927,'OP_MailGetHeadersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3668,908,927,'OP_MailGetMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3669,908,927,'OP_MailSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3670,908,927,'OP_MailDeleteMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3671,908,927,'OP_MailGetHeadersReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3672,908,927,'OP_MailGetMessageReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3673,908,927,'OP_MailSendMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3674,908,927,'OP_MailCommitSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3675,908,927,'OP_MailSendSystemMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3676,908,927,'OP_MailRemoveAttachFromMailMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3677,908,927,'OP_WaypointRequestMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3678,908,927,'OP_WaypointReplyMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3679,908,927,'OP_WaypointSelectMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3680,908,927,'OP_WaypointUpdateMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3681,908,927,'OP_CharNameChangedMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3682,908,927,'OP_ShowZoneTeleporterDestinations',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3683,908,927,'OP_SelectZoneTeleporterDestinatio',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3684,908,927,'OP_ReloadLocalizedTxtMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3685,908,927,'OP_RequestGuildMembershipMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3686,908,927,'OP_GuildMembershipResponseMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3687,908,927,'OP_LeaveGuildNotifyMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3688,908,927,'OP_JoinGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3689,908,927,'OP_AvatarUpdateMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3690,908,927,'OP_BioUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3691,908,927,'OP_InspectPlayerMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3692,908,927,'OP_WSServerLockMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3693,908,927,'OP_LSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3694,908,927,'OP_WSServerHideMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3695,908,927,'OP_CsCategoryRequestMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3696,908,927,'OP_CsCategoryResponseMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3697,908,927,'OP_KnowledgeWindowSlotMappingMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3698,908,927,'OP_LFGUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3699,908,927,'OP_AFKUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3700,908,927,'OP_AnonUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3701,908,927,'OP_UpdateActivePublicZonesMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3702,908,927,'OP_UnknownNpcMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3703,908,927,'OP_PromoFlagsDetailsMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3704,908,927,'OP_ConsignViewCreateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3705,908,927,'OP_ConsignViewGetPageMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3706,908,927,'OP_ConsignViewReleaseMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3707,908,927,'OP_ConsignRemoveItemsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3708,908,927,'OP_UpdateDebugRadiiMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3709,908,927,'OP_SnoopMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3710,908,927,'OP_ReportMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3711,908,927,'OP_UpdateRaidMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3712,908,927,'OP_ConsignViewSortMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3713,908,927,'OP_TitleUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3714,908,927,'OP_ClientFellMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3715,908,927,'OP_ClientInDeathRegionMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3716,908,927,'OP_CampClientMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3717,908,927,'OP_CSToolAccessResponseMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3718,908,927,'OP_TrackingUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3719,908,927,'OP_BeginTrackingMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3720,908,927,'OP_StopTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3721,908,927,'OP_GetAvatarAccessRequestForCSToo',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3722,908,927,'OP_AdvancementRequestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3723,908,927,'OP_UpdateAvgFrameTimeMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3724,908,927,'OP_MapFogDataInitMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3725,908,927,'OP_MapFogDataUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3726,908,927,'OP_CloseGroupInviteWindowMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3727,908,927,'OP_UpdateGroupMemberDataMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3728,908,927,'OP_WorldPingMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3729,908,927,'OP_MoveLogUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3730,908,927,'OP_OfferQuestMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3731,908,927,'OP_WorldShutdownUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3732,908,927,'OP_DisplayMailScreenMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3733,908,927,'OP_ClientIdleBeginMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3734,908,927,'OP_ClientIdleEndMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3735,908,927,'OP_PurchaseConsignmentLoreCheckRe',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3736,908,927,'OP_NotifyApprenticeStoppedMentori',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3737,908,927,'OP_CorruptedClientMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3738,908,927,'OP_WorldDataChangeMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3739,908,927,'OP_MailEventNotificationMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3740,908,927,'OP_RestartZoneMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3741,908,927,'OP_FlightPathsMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3742,908,927,'OP_CharacterLinkdeadMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3743,908,927,'OP_CharTransferStartRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3744,908,927,'OP_CharTransferStartReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3745,908,927,'OP_CharTransferRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3746,908,927,'OP_CharTransferReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3747,908,927,'OP_CharTransferRollbackRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3748,908,927,'OP_CharTransferCommitRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3749,908,927,'OP_CharTransferRollbackReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3750,908,927,'OP_CharTransferCommitReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3751,908,927,'OP_GetCharacterSerializedRequestM',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3752,908,927,'OP_GetCharacterSerializedReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3753,908,927,'OP_CreateCharFromCBBRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3754,908,927,'OP_CreateCharFromCBBReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3755,908,927,'OP_HousingDataChangedMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3756,908,927,'OP_HousingRestoreMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3757,908,927,'OP_AuctionItem',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3758,908,927,'OP_AuctionItemReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3759,908,927,'OP_AuctionCoin',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3760,908,927,'OP_AuctionCoinReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3761,908,927,'OP_AuctionCharacter',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3762,908,927,'OP_AuctionCharacterReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3763,908,927,'OP_AuctionCommitMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3764,908,927,'OP_AuctionAbortMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3765,908,927,'OP_CharTransferValidateRequestMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3766,908,927,'OP_CharTransferValidateReplyMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3767,908,927,'OP_RaceRestrictionMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3768,908,927,'OP_SetInstanceDisplayNameMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3769,908,927,'OP_GetAuctionAssetIDMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3770,908,927,'OP_GetAuctionAssetIDReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3771,908,927,'OP_ResendWorldChannelsMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3772,908,927,'OP_DisplayExchangeScreenMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3773,908,927,'OP_ArenaGameTypesMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3774,908,927,'OP_AuditAuctionEventMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3775,908,927,'OP_InviteRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3776,908,927,'OP_InviteResponseMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3777,908,927,'OP_InviteTargetResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3778,908,927,'OP_InspectPlayerRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3779,908,927,'OP_DispatchMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3780,908,927,'OP_DisplayEventMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3781,908,927,'OP_PrePossessionMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3782,908,927,'OP_PostPossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3783,908,927,'OP_AdventureList',462,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3784,908,927,'OP_CancelSpellCast',463,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3785,908,927,'OP_AttackAllowed',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3786,908,927,'OP_AttackNotAllowed',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3787,908,927,'OP_DressingRoom',482,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3788,908,927,'OP_SkillInfoRequest',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3789,908,927,'OP_SkillInfoResponse',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3790,908,927,'OP_MapRequest',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3791,908,927,'OP_EqUnknown',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3792,908,927,'OP_EqHearChatCmd',494,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3793,908,927,'OP_EqDisplayTextCmd',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3794,908,927,'OP_EqCreateGhostCmd',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3795,908,927,'OP_EqCreateWidgetCmd',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3796,908,927,'OP_EqCreateSignWidgetCmd',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3797,908,927,'OP_EqDestroyGhostCmd',499,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3798,908,927,'OP_EqUpdateGhostCmd',500,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3799,908,927,'OP_EqSetControlGhostCmd',501,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3800,908,927,'OP_EqSetPOVGhostCmd',502,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3801,908,927,'OP_EqHearCombatCmd',503,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3802,908,927,'OP_EqHearSpellCastCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3803,908,927,'OP_EqHearSpellInterruptCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3804,908,927,'OP_EqHearSpellFizzleCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3805,908,927,'OP_EqHearConsiderCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3806,908,927,'OP_EqUpdateSubClassesCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3807,908,927,'OP_EqCreateListBoxCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3808,908,927,'OP_EqSetDebugPathPointsCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3809,908,927,'OP_EqCannedEmoteCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3810,908,927,'OP_EqStateCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3811,908,927,'OP_EqPlaySoundCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3812,908,927,'OP_EqPlaySound3DCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3813,908,927,'OP_EqPlayVoiceCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3814,908,927,'OP_EqHearDrowningCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3815,908,927,'OP_EqHearDeathCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3816,908,927,'OP_EqGroupMemberRemovedCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3817,908,927,'OP_EqHearChainEffectCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3818,908,927,'OP_EqReceiveOfferCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3819,908,927,'OP_EqInspectPCResultsCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3820,908,927,'OP_EqDrawablePathGraphCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3821,908,927,'OP_EqDialogOpenCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3822,908,927,'OP_EqDialogCloseCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3823,908,927,'OP_EqFactionUpdateCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3824,908,927,'OP_EqCollectionUpdateCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3825,908,927,'OP_EqCollectionFilterCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3826,908,927,'OP_EqCollectionItemCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3827,908,927,'OP_EqQuestJournalUpdateCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3828,908,927,'OP_EqQuestJournalReplyCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3829,908,927,'OP_EqQuestGroupCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3830,908,927,'OP_EqUpdateMerchantCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3831,908,927,'OP_EqUpdateStoreCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3832,908,927,'OP_EqUpdatePlayerTradeCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3833,908,927,'OP_EqHelpPathCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3834,908,927,'OP_EqHelpPathClearCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3835,908,927,'OP_EqUpdateBankCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3836,908,927,'OP_EqExamineInfoCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3837,908,927,'OP_EqCloseWindowCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3838,908,927,'OP_EqUpdateLootCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3839,908,927,'OP_EqJunctionListCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3840,908,927,'OP_EqShowDeathWindowCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3841,908,927,'OP_EqDisplaySpellFailCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3842,908,927,'OP_EqSpellCastStartCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3843,908,927,'OP_EqSpellCastEndCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3844,908,927,'OP_EqResurrectedCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3845,908,927,'OP_EqChoiceWinCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3846,908,927,'OP_EqSetDefaultVerbCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3847,908,927,'OP_EqInstructionWindowCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3848,908,927,'OP_EqInstructionWindowCloseCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3849,908,927,'OP_EqInstructionWindowGoalCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3850,908,927,'OP_EqInstructionWindowTaskCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3851,908,927,'OP_EqEnableGameEventCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3852,908,927,'OP_EqShowWindowCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3853,908,927,'OP_EqEnableWindowCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3854,908,927,'OP_EqFlashWindowCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3855,908,927,'OP_EqHearPlayFlavorCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3856,908,927,'OP_EqUpdateSignWidgetCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3857,908,927,'OP_EqDebugPVDCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3858,908,927,'OP_EqShowBookCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3859,908,927,'OP_EqQuestionnaireCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3860,908,927,'OP_EqGetProbsCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3861,908,927,'OP_EqHearHealCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3862,908,927,'OP_EqChatChannelUpdateCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3863,908,927,'OP_EqWhoChannelQueryReplyCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3864,908,927,'OP_EqAvailWorldChannelsCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3865,908,927,'OP_EqUpdateTargetCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3866,908,927,'OP_EqConsignmentItemsCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3867,908,927,'OP_EqStartBrokerCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3868,908,927,'OP_EqMapExplorationCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3869,908,927,'OP_EqStoreLogCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3870,908,927,'OP_EqSpellMoveToRangeAndRetryCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3871,908,927,'OP_EqUpdatePlayerMailCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3872,908,927,'OP_EqArenaResultsCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3873,908,927,'OP_EqGuildBankEventActionCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3874,908,927,'OP_EqGuildBankExamineInfoCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3875,908,927,'OP_EqHearSpellNoLandCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3876,908,927,'OP_Lottery',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3877,908,927,'OP_GuildRecruitingMemberInfo',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3878,908,927,'OP_GuildRecruiting',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3879,908,927,'OP_GuildRecruitingDetails',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3880,908,927,'OP_GuildRecruitingImage',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3881,908,927,'OP_PointOfInterest',614,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3882,908,927,'OP_TraitsList',616,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3883,908,927,'OP_RecipeList',625,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3884,908,927,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3885,908,927,'OP_AddClientToGroupMsg',1010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3886,908,927,'OP_AddGroupToGroupMsg',1010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3887,908,927,'OP_GuildKickMsg',1010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3888,908,927,'OP_ProcessScriptMsg',1010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3889,908,927,'OP_ProcessWorkspaceMsg',1010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3890,908,927,'OP_PurchaseConsignmentResponseMsg',1010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3891,908,927,'OP_QuickbarAddMsg',1010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3892,908,927,'OP_SkillSlotMapping',1010,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3893,908,927,'OP_Unknown',10014,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3894,908,927,'OP_WSWeatherUpdateMsg',10015,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3895,936,939,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3896,936,939,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3897,936,939,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3898,936,939,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3899,936,939,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3900,936,939,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3901,936,939,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3902,936,939,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3903,936,939,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3904,936,939,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3905,936,939,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3906,936,939,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3907,936,939,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3908,936,939,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3909,936,939,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3910,936,939,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3911,936,939,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3912,936,939,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3913,936,939,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3914,936,939,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3915,936,939,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3916,936,939,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3917,936,939,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3918,936,939,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3919,936,939,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3920,936,939,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3921,936,939,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3922,936,939,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3923,936,939,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3924,936,939,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3925,936,939,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3926,936,939,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3927,936,939,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3928,936,939,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3929,936,939,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3930,936,939,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3931,936,939,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3932,936,939,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3933,936,939,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3934,936,939,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3935,936,939,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3936,936,939,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3937,936,939,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3938,936,939,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3939,936,939,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3940,936,939,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3941,936,939,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3942,936,939,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3943,936,939,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3944,936,939,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3945,936,939,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3946,936,939,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3947,936,939,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3948,936,939,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3949,936,939,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3950,936,939,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3951,936,939,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3952,936,939,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3953,936,939,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3954,936,939,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3955,936,939,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3956,936,939,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3957,936,939,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3958,936,939,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3959,936,939,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3960,936,939,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3961,936,939,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3962,936,939,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3963,936,939,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3964,936,939,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3965,936,939,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3966,936,939,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3967,936,939,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3968,936,939,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3969,936,939,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3970,936,939,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3971,936,939,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3972,936,939,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3973,936,939,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3974,936,939,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3975,936,939,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3976,936,939,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3977,936,939,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3978,936,939,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3979,936,939,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3980,936,939,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3981,936,939,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3982,936,939,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3983,936,939,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3984,936,939,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3985,936,939,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3986,936,939,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3987,936,939,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3988,936,939,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3989,936,939,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3990,936,939,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3991,936,939,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3992,936,939,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3993,936,939,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3994,936,939,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3995,936,939,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3996,936,939,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3997,936,939,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3998,936,939,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (3999,936,939,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4000,936,939,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4001,936,939,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4002,936,939,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4003,936,939,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4004,936,939,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4005,936,939,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4006,936,939,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4007,936,939,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4008,936,939,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4009,936,939,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4010,936,939,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4011,936,939,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4012,936,939,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4013,936,939,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4014,936,939,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4015,936,939,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4016,936,939,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4017,936,939,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4018,936,939,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4019,936,939,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4020,936,939,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4021,936,939,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4022,936,939,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4023,936,939,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4024,936,939,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4025,936,939,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4026,936,939,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4027,936,939,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4028,936,939,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4029,936,939,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4030,936,939,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4031,936,939,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4032,936,939,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4033,936,939,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4034,936,939,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4035,936,939,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4036,936,939,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4037,936,939,'OP_UIResetMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4038,936,939,'OP_KeymapLoadMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4039,936,939,'OP_KeymapNoneMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4040,936,939,'OP_KeymapDataMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4041,936,939,'OP_KeymapSaveMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4042,936,939,'OP_DispatchSpellCmdMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4043,936,939,'OP_EntityVerbsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4044,936,939,'OP_EntityVerbsReplyMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4045,936,939,'OP_EntityVerbsVerbMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4046,936,939,'OP_ChatRelationshipUpdateMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4047,936,939,'OP_LootItemsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4048,936,939,'OP_StoppedLootingMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4049,936,939,'OP_SitMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4050,936,939,'OP_StandMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4051,936,939,'OP_SatMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4052,936,939,'OP_StoodMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4053,936,939,'OP_ClearForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4054,936,939,'OP_ReadyForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4055,936,939,'OP_ShowIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4056,936,939,'OP_HideIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4057,936,939,'OP_ExamineItemRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4058,936,939,'OP_ReadBookPageMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4059,936,939,'OP_DefaultGroupOptionsRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4060,936,939,'OP_DefaultGroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4061,936,939,'OP_GroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4062,936,939,'OP_DisplayGroupOptionsScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4063,936,939,'OP_DisplayInnVisitScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4064,936,939,'OP_DumpSchedulerMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4065,936,939,'OP_LSRequestPlayerDescMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4066,936,939,'OP_LSCheckAcctLockMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4067,936,939,'OP_WSAcctLockStatusMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4068,936,939,'OP_RequestHelpRepathMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4069,936,939,'OP_RequestTargetLocMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4070,936,939,'OP_UpdateMotdMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4071,936,939,'OP_PerformPlayerKnockbackMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4072,936,939,'OP_PerformCameraShakeMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4073,936,939,'OP_PopulateSkillMapsMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4074,936,939,'OP_CancelledFeignMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4075,936,939,'OP_SignalMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4076,936,939,'OP_ShowCreateFromRecipeUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4077,936,939,'OP_CancelCreateFromRecipeMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4078,936,939,'OP_BeginItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4079,936,939,'OP_StopItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4080,936,939,'OP_ShowItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4081,936,939,'OP_UpdateItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4082,936,939,'OP_DisplayTSEventReactionMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4083,936,939,'OP_ShowRecipeBookMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4084,936,939,'OP_KnowledgebaseRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4085,936,939,'OP_KnowledgebaseResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4086,936,939,'OP_CSTicketHeaderRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4087,936,939,'OP_CSTicketInfoMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4088,936,939,'OP_CSTicketCommentRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4089,936,939,'OP_CSTicketCommentResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4090,936,939,'OP_CSTicketCreateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4091,936,939,'OP_CSTicketAddCommentMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4092,936,939,'OP_CSTicketDeleteMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4093,936,939,'OP_CSTicketChangeNotificationMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4094,936,939,'OP_WorldDataUpdateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4095,936,939,'OP_KnownLanguagesMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4096,936,939,'OP_LsRequestClientCrashLogMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4097,936,939,'OP_LsClientBaselogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4098,936,939,'OP_LsClientCrashlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4099,936,939,'OP_LsClientAlertlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4100,936,939,'OP_LsClientVerifylogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4101,936,939,'OP_ClientTeleportToLocationMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4102,936,939,'OP_UpdateClientPredFlagsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4103,936,939,'OP_ChangeServerControlFlagMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4104,936,939,'OP_CSToolsRequestMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4105,936,939,'OP_CSToolsResponseMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4106,936,939,'OP_AddSocialStructureStandingMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4107,936,939,'OP_CreateBoatTransportsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4108,936,939,'OP_PositionBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4109,936,939,'OP_MigrateBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4110,936,939,'OP_MigrateBoatTransportReplyMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4111,936,939,'OP_DisplayDebugNLLPointsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4112,936,939,'OP_ExamineInfoRequestMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4113,936,939,'OP_QuickbarInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4114,936,939,'OP_QuickbarUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4115,936,939,'OP_MacroInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4116,936,939,'OP_MacroUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4117,936,939,'OP_QuestionnaireMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4118,936,939,'OP_LevelChangedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4119,936,939,'OP_SpellGainedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4120,936,939,'OP_EncounterBrokenMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4121,936,939,'OP_OnscreenMsgMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4122,936,939,'OP_DisplayWarningMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4123,936,939,'OP_ModifyGuildMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4124,936,939,'OP_GuildEventMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4125,936,939,'OP_GuildEventAddMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4126,936,939,'OP_GuildEventActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4127,936,939,'OP_GuildEventListMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4128,936,939,'OP_RequestGuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4129,936,939,'OP_GuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4130,936,939,'OP_RequestGuildInfoMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4131,936,939,'OP_GuildBankActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4132,936,939,'OP_GuildBankActionResponseMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4133,936,939,'OP_GuildBankItemDetailsRequestMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4134,936,939,'OP_GuildBankItemDetailsResponseMs',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4135,936,939,'OP_GuildBankUpdateMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4136,936,939,'OP_GuildBankEventListMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4137,936,939,'OP_RequestGuildBankEventDetailsMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4138,936,939,'OP_RewardPackMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4139,936,939,'OP_RenameGuildMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4140,936,939,'OP_ZoneToFriendRequestMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4141,936,939,'OP_ZoneToFriendReplyMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4142,936,939,'OP_ChatCreateChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4143,936,939,'OP_ChatJoinChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4144,936,939,'OP_ChatWhoChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4145,936,939,'OP_ChatLeaveChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4146,936,939,'OP_ChatTellChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4147,936,939,'OP_ChatTellUserMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4148,936,939,'OP_ChatToggleFriendMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4149,936,939,'OP_ChatToggleIgnoreMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4150,936,939,'OP_ChatSendFriendsMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4151,936,939,'OP_ChatSendIgnoresMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4152,936,939,'OP_QuestReward',302,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4153,936,939,'OP_ChatFiltersMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4154,936,939,'OP_MailGetHeadersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4155,936,939,'OP_MailGetMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4156,936,939,'OP_MailSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4157,936,939,'OP_MailDeleteMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4158,936,939,'OP_MailGetHeadersReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4159,936,939,'OP_MailGetMessageReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4160,936,939,'OP_MailSendMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4161,936,939,'OP_MailCommitSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4162,936,939,'OP_MailSendSystemMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4163,936,939,'OP_MailRemoveAttachFromMailMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4164,936,939,'OP_WaypointRequestMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4165,936,939,'OP_WaypointReplyMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4166,936,939,'OP_WaypointSelectMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4167,936,939,'OP_WaypointUpdateMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4168,936,939,'OP_CharNameChangedMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4169,936,939,'OP_ShowZoneTeleporterDestinations',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4170,936,939,'OP_SelectZoneTeleporterDestinatio',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4171,936,939,'OP_ReloadLocalizedTxtMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4172,936,939,'OP_RequestGuildMembershipMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4173,936,939,'OP_GuildMembershipResponseMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4174,936,939,'OP_LeaveGuildNotifyMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4175,936,939,'OP_JoinGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4176,936,939,'OP_AvatarUpdateMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4177,936,939,'OP_BioUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4178,936,939,'OP_InspectPlayerMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4179,936,939,'OP_WSServerLockMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4180,936,939,'OP_LSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4181,936,939,'OP_WSServerHideMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4182,936,939,'OP_CsCategoryRequestMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4183,936,939,'OP_CsCategoryResponseMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4184,936,939,'OP_KnowledgeWindowSlotMappingMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4185,936,939,'OP_LFGUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4186,936,939,'OP_AFKUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4187,936,939,'OP_AnonUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4188,936,939,'OP_UpdateActivePublicZonesMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4189,936,939,'OP_UnknownNpcMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4190,936,939,'OP_PromoFlagsDetailsMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4191,936,939,'OP_ConsignViewCreateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4192,936,939,'OP_ConsignViewGetPageMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4193,936,939,'OP_ConsignViewReleaseMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4194,936,939,'OP_ConsignRemoveItemsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4195,936,939,'OP_UpdateDebugRadiiMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4196,936,939,'OP_SnoopMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4197,936,939,'OP_ReportMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4198,936,939,'OP_UpdateRaidMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4199,936,939,'OP_ConsignViewSortMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4200,936,939,'OP_TitleUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4201,936,939,'OP_ClientFellMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4202,936,939,'OP_ClientInDeathRegionMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4203,936,939,'OP_CampClientMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4204,936,939,'OP_CSToolAccessResponseMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4205,936,939,'OP_TrackingUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4206,936,939,'OP_BeginTrackingMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4207,936,939,'OP_StopTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4208,936,939,'OP_GetAvatarAccessRequestForCSToo',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4209,936,939,'OP_AdvancementRequestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4210,936,939,'OP_UpdateAvgFrameTimeMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4211,936,939,'OP_MapFogDataInitMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4212,936,939,'OP_MapFogDataUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4213,936,939,'OP_CloseGroupInviteWindowMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4214,936,939,'OP_UpdateGroupMemberDataMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4215,936,939,'OP_WorldPingMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4216,936,939,'OP_MoveLogUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4217,936,939,'OP_OfferQuestMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4218,936,939,'OP_WorldShutdownUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4219,936,939,'OP_DisplayMailScreenMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4220,936,939,'OP_ClientIdleBeginMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4221,936,939,'OP_ClientIdleEndMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4222,936,939,'OP_PurchaseConsignmentLoreCheckRe',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4223,936,939,'OP_NotifyApprenticeStoppedMentori',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4224,936,939,'OP_CorruptedClientMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4225,936,939,'OP_WorldDataChangeMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4226,936,939,'OP_MailEventNotificationMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4227,936,939,'OP_RestartZoneMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4228,936,939,'OP_FlightPathsMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4229,936,939,'OP_CharacterLinkdeadMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4230,936,939,'OP_CharTransferStartRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4231,936,939,'OP_CharTransferStartReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4232,936,939,'OP_CharTransferRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4233,936,939,'OP_CharTransferReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4234,936,939,'OP_CharTransferRollbackRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4235,936,939,'OP_CharTransferCommitRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4236,936,939,'OP_CharTransferRollbackReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4237,936,939,'OP_CharTransferCommitReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4238,936,939,'OP_GetCharacterSerializedRequestM',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4239,936,939,'OP_GetCharacterSerializedReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4240,936,939,'OP_CreateCharFromCBBRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4241,936,939,'OP_CreateCharFromCBBReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4242,936,939,'OP_HousingDataChangedMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4243,936,939,'OP_HousingRestoreMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4244,936,939,'OP_AuctionItem',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4245,936,939,'OP_AuctionItemReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4246,936,939,'OP_AuctionCoin',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4247,936,939,'OP_AuctionCoinReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4248,936,939,'OP_AuctionCharacter',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4249,936,939,'OP_AuctionCharacterReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4250,936,939,'OP_AuctionCommitMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4251,936,939,'OP_AuctionAbortMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4252,936,939,'OP_CharTransferValidateRequestMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4253,936,939,'OP_CharTransferValidateReplyMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4254,936,939,'OP_RaceRestrictionMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4255,936,939,'OP_SetInstanceDisplayNameMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4256,936,939,'OP_GetAuctionAssetIDMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4257,936,939,'OP_GetAuctionAssetIDReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4258,936,939,'OP_ResendWorldChannelsMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4259,936,939,'OP_DisplayExchangeScreenMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4260,936,939,'OP_ArenaGameTypesMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4261,936,939,'OP_AuditAuctionEventMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4262,936,939,'OP_InviteRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4263,936,939,'OP_InviteResponseMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4264,936,939,'OP_InviteTargetResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4265,936,939,'OP_InspectPlayerRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4266,936,939,'OP_DispatchMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4267,936,939,'OP_DisplayEventMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4268,936,939,'OP_PrePossessionMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4269,936,939,'OP_PostPossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4270,936,939,'OP_AdventureList',462,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4271,936,939,'OP_CancelSpellCast',463,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4272,936,939,'OP_AttackAllowed',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4273,936,939,'OP_AttackNotAllowed',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4274,936,939,'OP_DressingRoom',482,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4275,936,939,'OP_SkillInfoRequest',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4276,936,939,'OP_SkillInfoResponse',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4277,936,939,'OP_MapRequest',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4278,936,939,'OP_EqUnknown',502,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4279,936,939,'OP_EqHearChatCmd',503,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4280,936,939,'OP_EqDisplayTextCmd',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4281,936,939,'OP_EqCreateGhostCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4282,936,939,'OP_EqCreateWidgetCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4283,936,939,'OP_EqCreateSignWidgetCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4284,936,939,'OP_EqDestroyGhostCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4285,936,939,'OP_EqUpdateGhostCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4286,936,939,'OP_EqSetControlGhostCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4287,936,939,'OP_EqSetPOVGhostCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4288,936,939,'OP_EqHearCombatCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4289,936,939,'OP_EqHearSpellCastCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4290,936,939,'OP_EqHearSpellInterruptCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4291,936,939,'OP_EqHearSpellFizzleCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4292,936,939,'OP_EqHearConsiderCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4293,936,939,'OP_EqUpdateSubClassesCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4294,936,939,'OP_EqCreateListBoxCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4295,936,939,'OP_EqSetDebugPathPointsCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4296,936,939,'OP_EqCannedEmoteCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4297,936,939,'OP_EqStateCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4298,936,939,'OP_EqPlaySoundCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4299,936,939,'OP_EqPlaySound3DCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4300,936,939,'OP_EqPlayVoiceCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4301,936,939,'OP_EqHearDrowningCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4302,936,939,'OP_EqHearDeathCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4303,936,939,'OP_EqGroupMemberRemovedCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4304,936,939,'OP_EqHearChainEffectCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4305,936,939,'OP_EqReceiveOfferCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4306,936,939,'OP_EqInspectPCResultsCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4307,936,939,'OP_EqDrawablePathGraphCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4308,936,939,'OP_EqDialogOpenCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4309,936,939,'OP_EqDialogCloseCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4310,936,939,'OP_EqFactionUpdateCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4311,936,939,'OP_EqCollectionUpdateCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4312,936,939,'OP_EqCollectionFilterCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4313,936,939,'OP_EqCollectionItemCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4314,936,939,'OP_EqQuestJournalUpdateCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4315,936,939,'OP_EqQuestJournalReplyCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4316,936,939,'OP_EqQuestGroupCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4317,936,939,'OP_EqUpdateMerchantCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4318,936,939,'OP_EqUpdateStoreCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4319,936,939,'OP_EqUpdatePlayerTradeCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4320,936,939,'OP_EqHelpPathCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4321,936,939,'OP_EqHelpPathClearCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4322,936,939,'OP_EqUpdateBankCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4323,936,939,'OP_EqExamineInfoCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4324,936,939,'OP_EqCloseWindowCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4325,936,939,'OP_EqUpdateLootCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4326,936,939,'OP_EqJunctionListCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4327,936,939,'OP_EqShowDeathWindowCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4328,936,939,'OP_EqDisplaySpellFailCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4329,936,939,'OP_EqSpellCastStartCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4330,936,939,'OP_EqSpellCastEndCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4331,936,939,'OP_EqResurrectedCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4332,936,939,'OP_EqChoiceWinCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4333,936,939,'OP_EqSetDefaultVerbCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4334,936,939,'OP_EqInstructionWindowCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4335,936,939,'OP_EqInstructionWindowCloseCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4336,936,939,'OP_EqInstructionWindowGoalCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4337,936,939,'OP_EqInstructionWindowTaskCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4338,936,939,'OP_EqEnableGameEventCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4339,936,939,'OP_EqShowWindowCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4340,936,939,'OP_EqEnableWindowCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4341,936,939,'OP_EqFlashWindowCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4342,936,939,'OP_EqHearPlayFlavorCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4343,936,939,'OP_EqUpdateSignWidgetCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4344,936,939,'OP_EqDebugPVDCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4345,936,939,'OP_EqShowBookCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4346,936,939,'OP_EqQuestionnaireCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4347,936,939,'OP_EqGetProbsCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4348,936,939,'OP_EqHearHealCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4349,936,939,'OP_EqChatChannelUpdateCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4350,936,939,'OP_EqWhoChannelQueryReplyCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4351,936,939,'OP_EqAvailWorldChannelsCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4352,936,939,'OP_EqUpdateTargetCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4353,936,939,'OP_EqConsignmentItemsCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4354,936,939,'OP_EqStartBrokerCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4355,936,939,'OP_EqMapExplorationCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4356,936,939,'OP_EqStoreLogCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4357,936,939,'OP_EqSpellMoveToRangeAndRetryCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4358,936,939,'OP_EqUpdatePlayerMailCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4359,936,939,'OP_EqArenaResultsCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4360,936,939,'OP_EqGuildBankEventActionCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4361,936,939,'OP_EqGuildBankExamineInfoCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4362,936,939,'OP_EqHearSpellNoLandCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4363,936,939,'OP_Lottery',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4364,936,939,'OP_GuildRecruitingMemberInfo',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4365,936,939,'OP_GuildRecruiting',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4366,936,939,'OP_GuildRecruitingDetails',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4367,936,939,'OP_GuildRecruitingImage',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4368,936,939,'OP_PointOfInterest',623,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4369,936,939,'OP_TraitsList',625,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4370,936,939,'OP_RecipeList',634,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4371,936,939,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4372,936,939,'OP_AddClientToGroupMsg',1019,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4373,936,939,'OP_AddGroupToGroupMsg',1019,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4374,936,939,'OP_GuildKickMsg',1019,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4375,936,939,'OP_ProcessScriptMsg',1019,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4376,936,939,'OP_ProcessWorkspaceMsg',1019,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4377,936,939,'OP_PurchaseConsignmentResponseMsg',1019,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4378,936,939,'OP_QuickbarAddMsg',1019,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4379,936,939,'OP_SkillSlotMapping',1019,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4380,936,939,'OP_Unknown',10023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4381,936,939,'OP_WSWeatherUpdateMsg',10024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4382,942,954,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4383,942,954,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4384,942,954,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4385,942,954,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4386,942,954,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4387,942,954,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4388,942,954,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4389,942,954,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4390,942,954,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4391,942,954,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4392,942,954,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4393,942,954,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4394,942,954,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4395,942,954,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4396,942,954,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4397,942,954,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4398,942,954,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4399,942,954,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4400,942,954,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4401,942,954,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4402,942,954,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4403,942,954,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4404,942,954,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4405,942,954,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4406,942,954,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4407,942,954,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4408,942,954,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4409,942,954,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4410,942,954,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4411,942,954,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4412,942,954,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4413,942,954,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4414,942,954,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4415,942,954,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4416,942,954,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4417,942,954,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4418,942,954,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4419,942,954,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4420,942,954,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4421,942,954,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4422,942,954,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4423,942,954,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4424,942,954,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4425,942,954,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4426,942,954,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4427,942,954,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4428,942,954,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4429,942,954,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4430,942,954,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4431,942,954,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4432,942,954,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4433,942,954,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4434,942,954,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4435,942,954,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4436,942,954,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4437,942,954,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4438,942,954,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4439,942,954,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4440,942,954,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4441,942,954,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4442,942,954,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4443,942,954,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4444,942,954,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4445,942,954,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4446,942,954,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4447,942,954,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4448,942,954,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4449,942,954,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4450,942,954,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4451,942,954,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4452,942,954,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4453,942,954,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4454,942,954,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4455,942,954,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4456,942,954,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4457,942,954,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4458,942,954,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4459,942,954,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4460,942,954,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4461,942,954,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4462,942,954,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4463,942,954,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4464,942,954,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4465,942,954,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4466,942,954,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4467,942,954,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4468,942,954,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4469,942,954,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4470,942,954,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4471,942,954,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4472,942,954,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4473,942,954,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4474,942,954,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4475,942,954,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4476,942,954,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4477,942,954,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4478,942,954,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4479,942,954,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4480,942,954,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4481,942,954,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4482,942,954,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4483,942,954,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4484,942,954,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4485,942,954,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4486,942,954,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4487,942,954,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4488,942,954,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4489,942,954,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4490,942,954,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4491,942,954,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4492,942,954,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4493,942,954,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4494,942,954,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4495,942,954,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4496,942,954,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4497,942,954,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4498,942,954,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4499,942,954,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4500,942,954,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4501,942,954,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4502,942,954,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4503,942,954,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4504,942,954,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4505,942,954,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4506,942,954,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4507,942,954,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4508,942,954,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4509,942,954,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4510,942,954,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4511,942,954,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4512,942,954,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4513,942,954,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4514,942,954,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4515,942,954,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4516,942,954,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4517,942,954,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4518,942,954,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4519,942,954,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4520,942,954,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4521,942,954,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4522,942,954,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4523,942,954,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4524,942,954,'OP_UIResetMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4525,942,954,'OP_KeymapLoadMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4526,942,954,'OP_KeymapNoneMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4527,942,954,'OP_KeymapDataMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4528,942,954,'OP_KeymapSaveMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4529,942,954,'OP_DispatchSpellCmdMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4530,942,954,'OP_EntityVerbsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4531,942,954,'OP_EntityVerbsReplyMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4532,942,954,'OP_EntityVerbsVerbMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4533,942,954,'OP_ChatRelationshipUpdateMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4534,942,954,'OP_LootItemsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4535,942,954,'OP_StoppedLootingMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4536,942,954,'OP_SitMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4537,942,954,'OP_StandMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4538,942,954,'OP_SatMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4539,942,954,'OP_StoodMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4540,942,954,'OP_ClearForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4541,942,954,'OP_ReadyForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4542,942,954,'OP_ShowIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4543,942,954,'OP_HideIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4544,942,954,'OP_ExamineItemRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4545,942,954,'OP_ReadBookPageMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4546,942,954,'OP_DefaultGroupOptionsRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4547,942,954,'OP_DefaultGroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4548,942,954,'OP_GroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4549,942,954,'OP_DisplayGroupOptionsScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4550,942,954,'OP_DisplayInnVisitScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4551,942,954,'OP_DumpSchedulerMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4552,942,954,'OP_LSRequestPlayerDescMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4553,942,954,'OP_LSCheckAcctLockMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4554,942,954,'OP_WSAcctLockStatusMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4555,942,954,'OP_RequestHelpRepathMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4556,942,954,'OP_RequestTargetLocMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4557,942,954,'OP_UpdateMotdMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4558,942,954,'OP_PerformPlayerKnockbackMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4559,942,954,'OP_PerformCameraShakeMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4560,942,954,'OP_PopulateSkillMapsMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4561,942,954,'OP_CancelledFeignMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4562,942,954,'OP_SignalMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4563,942,954,'OP_ShowCreateFromRecipeUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4564,942,954,'OP_CancelCreateFromRecipeMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4565,942,954,'OP_BeginItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4566,942,954,'OP_StopItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4567,942,954,'OP_ShowItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4568,942,954,'OP_UpdateItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4569,942,954,'OP_DisplayTSEventReactionMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4570,942,954,'OP_ShowRecipeBookMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4571,942,954,'OP_KnowledgebaseRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4572,942,954,'OP_KnowledgebaseResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4573,942,954,'OP_CSTicketHeaderRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4574,942,954,'OP_CSTicketInfoMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4575,942,954,'OP_CSTicketCommentRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4576,942,954,'OP_CSTicketCommentResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4577,942,954,'OP_CSTicketCreateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4578,942,954,'OP_CSTicketAddCommentMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4579,942,954,'OP_CSTicketDeleteMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4580,942,954,'OP_CSTicketChangeNotificationMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4581,942,954,'OP_WorldDataUpdateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4582,942,954,'OP_KnownLanguagesMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4583,942,954,'OP_LsRequestClientCrashLogMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4584,942,954,'OP_LsClientBaselogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4585,942,954,'OP_LsClientCrashlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4586,942,954,'OP_LsClientAlertlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4587,942,954,'OP_LsClientVerifylogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4588,942,954,'OP_ClientTeleportToLocationMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4589,942,954,'OP_UpdateClientPredFlagsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4590,942,954,'OP_ChangeServerControlFlagMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4591,942,954,'OP_CSToolsRequestMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4592,942,954,'OP_CSToolsResponseMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4593,942,954,'OP_AddSocialStructureStandingMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4594,942,954,'OP_CreateBoatTransportsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4595,942,954,'OP_PositionBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4596,942,954,'OP_MigrateBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4597,942,954,'OP_MigrateBoatTransportReplyMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4598,942,954,'OP_DisplayDebugNLLPointsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4599,942,954,'OP_ExamineInfoRequestMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4600,942,954,'OP_QuickbarInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4601,942,954,'OP_QuickbarUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4602,942,954,'OP_MacroInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4603,942,954,'OP_MacroUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4604,942,954,'OP_QuestionnaireMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4605,942,954,'OP_LevelChangedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4606,942,954,'OP_SpellGainedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4607,942,954,'OP_EncounterBrokenMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4608,942,954,'OP_OnscreenMsgMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4609,942,954,'OP_DisplayWarningMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4610,942,954,'OP_ModifyGuildMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4611,942,954,'OP_GuildEventMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4612,942,954,'OP_GuildEventAddMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4613,942,954,'OP_GuildEventActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4614,942,954,'OP_GuildEventListMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4615,942,954,'OP_RequestGuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4616,942,954,'OP_GuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4617,942,954,'OP_RequestGuildInfoMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4618,942,954,'OP_GuildBankActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4619,942,954,'OP_GuildBankActionResponseMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4620,942,954,'OP_GuildBankItemDetailsRequestMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4621,942,954,'OP_GuildBankItemDetailsResponseMs',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4622,942,954,'OP_GuildBankUpdateMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4623,942,954,'OP_GuildBankEventListMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4624,942,954,'OP_RequestGuildBankEventDetailsMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4625,942,954,'OP_RewardPackMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4626,942,954,'OP_RenameGuildMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4627,942,954,'OP_ZoneToFriendRequestMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4628,942,954,'OP_ZoneToFriendReplyMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4629,942,954,'OP_ChatCreateChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4630,942,954,'OP_ChatJoinChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4631,942,954,'OP_ChatWhoChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4632,942,954,'OP_ChatLeaveChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4633,942,954,'OP_ChatTellChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4634,942,954,'OP_ChatTellUserMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4635,942,954,'OP_ChatToggleFriendMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4636,942,954,'OP_ChatToggleIgnoreMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4637,942,954,'OP_ChatSendFriendsMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4638,942,954,'OP_ChatSendIgnoresMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4639,942,954,'OP_QuestReward',302,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4640,942,954,'OP_ChatFiltersMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4641,942,954,'OP_MailGetHeadersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4642,942,954,'OP_MailGetMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4643,942,954,'OP_MailSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4644,942,954,'OP_MailDeleteMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4645,942,954,'OP_MailGetHeadersReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4646,942,954,'OP_MailGetMessageReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4647,942,954,'OP_MailSendMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4648,942,954,'OP_MailCommitSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4649,942,954,'OP_MailSendSystemMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4650,942,954,'OP_MailRemoveAttachFromMailMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4651,942,954,'OP_WaypointRequestMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4652,942,954,'OP_WaypointReplyMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4653,942,954,'OP_WaypointSelectMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4654,942,954,'OP_WaypointUpdateMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4655,942,954,'OP_CharNameChangedMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4656,942,954,'OP_ShowZoneTeleporterDestinations',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4657,942,954,'OP_SelectZoneTeleporterDestinatio',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4658,942,954,'OP_ReloadLocalizedTxtMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4659,942,954,'OP_RequestGuildMembershipMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4660,942,954,'OP_GuildMembershipResponseMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4661,942,954,'OP_LeaveGuildNotifyMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4662,942,954,'OP_JoinGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4663,942,954,'OP_AvatarUpdateMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4664,942,954,'OP_BioUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4665,942,954,'OP_InspectPlayerMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4666,942,954,'OP_WSServerLockMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4667,942,954,'OP_LSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4668,942,954,'OP_WSServerHideMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4669,942,954,'OP_CsCategoryRequestMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4670,942,954,'OP_CsCategoryResponseMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4671,942,954,'OP_KnowledgeWindowSlotMappingMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4672,942,954,'OP_LFGUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4673,942,954,'OP_AFKUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4674,942,954,'OP_AnonUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4675,942,954,'OP_UpdateActivePublicZonesMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4676,942,954,'OP_UnknownNpcMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4677,942,954,'OP_PromoFlagsDetailsMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4678,942,954,'OP_ConsignViewCreateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4679,942,954,'OP_ConsignViewGetPageMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4680,942,954,'OP_ConsignViewReleaseMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4681,942,954,'OP_ConsignRemoveItemsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4682,942,954,'OP_UpdateDebugRadiiMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4683,942,954,'OP_SnoopMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4684,942,954,'OP_ReportMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4685,942,954,'OP_UpdateRaidMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4686,942,954,'OP_ConsignViewSortMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4687,942,954,'OP_TitleUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4688,942,954,'OP_ClientFellMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4689,942,954,'OP_ClientInDeathRegionMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4690,942,954,'OP_CampClientMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4691,942,954,'OP_CSToolAccessResponseMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4692,942,954,'OP_TrackingUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4693,942,954,'OP_BeginTrackingMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4694,942,954,'OP_StopTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4695,942,954,'OP_GetAvatarAccessRequestForCSToo',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4696,942,954,'OP_AdvancementRequestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4697,942,954,'OP_UpdateAvgFrameTimeMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4698,942,954,'OP_MapFogDataInitMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4699,942,954,'OP_MapFogDataUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4700,942,954,'OP_CloseGroupInviteWindowMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4701,942,954,'OP_UpdateGroupMemberDataMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4702,942,954,'OP_WorldPingMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4703,942,954,'OP_MoveLogUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4704,942,954,'OP_OfferQuestMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4705,942,954,'OP_WorldShutdownUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4706,942,954,'OP_DisplayMailScreenMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4707,942,954,'OP_ClientIdleBeginMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4708,942,954,'OP_ClientIdleEndMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4709,942,954,'OP_PurchaseConsignmentLoreCheckRe',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4710,942,954,'OP_NotifyApprenticeStoppedMentori',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4711,942,954,'OP_CorruptedClientMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4712,942,954,'OP_WorldDataChangeMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4713,942,954,'OP_MailEventNotificationMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4714,942,954,'OP_RestartZoneMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4715,942,954,'OP_FlightPathsMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4716,942,954,'OP_CharacterLinkdeadMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4717,942,954,'OP_CharTransferStartRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4718,942,954,'OP_CharTransferStartReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4719,942,954,'OP_CharTransferRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4720,942,954,'OP_CharTransferReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4721,942,954,'OP_CharTransferRollbackRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4722,942,954,'OP_CharTransferCommitRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4723,942,954,'OP_CharTransferRollbackReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4724,942,954,'OP_CharTransferCommitReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4725,942,954,'OP_GetCharacterSerializedRequestM',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4726,942,954,'OP_GetCharacterSerializedReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4727,942,954,'OP_CreateCharFromCBBRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4728,942,954,'OP_CreateCharFromCBBReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4729,942,954,'OP_HousingDataChangedMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4730,942,954,'OP_HousingRestoreMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4731,942,954,'OP_AuctionItem',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4732,942,954,'OP_AuctionItemReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4733,942,954,'OP_AuctionCoin',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4734,942,954,'OP_AuctionCoinReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4735,942,954,'OP_AuctionCharacter',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4736,942,954,'OP_AuctionCharacterReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4737,942,954,'OP_AuctionCommitMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4738,942,954,'OP_AuctionAbortMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4739,942,954,'OP_CharTransferValidateRequestMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4740,942,954,'OP_CharTransferValidateReplyMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4741,942,954,'OP_RaceRestrictionMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4742,942,954,'OP_SetInstanceDisplayNameMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4743,942,954,'OP_GetAuctionAssetIDMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4744,942,954,'OP_GetAuctionAssetIDReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4745,942,954,'OP_ResendWorldChannelsMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4746,942,954,'OP_DisplayExchangeScreenMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4747,942,954,'OP_ArenaGameTypesMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4748,942,954,'OP_AuditAuctionEventMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4749,942,954,'OP_InviteRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4750,942,954,'OP_InviteResponseMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4751,942,954,'OP_InviteTargetResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4752,942,954,'OP_InspectPlayerRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4753,942,954,'OP_DispatchMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4754,942,954,'OP_DisplayEventMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4755,942,954,'OP_PrePossessionMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4756,942,954,'OP_PostPossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4757,942,954,'OP_AdventureList',462,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4758,942,954,'OP_CancelSpellCast',463,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4759,942,954,'OP_AttackAllowed',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4760,942,954,'OP_AttackNotAllowed',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4761,942,954,'OP_DressingRoom',482,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4762,942,954,'OP_SkillInfoRequest',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4763,942,954,'OP_SkillInfoResponse',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4764,942,954,'OP_MapRequest',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4765,942,954,'OP_EqUnknown',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4766,942,954,'OP_EqHearChatCmd',505,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4767,942,954,'OP_EqDisplayTextCmd',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4768,942,954,'OP_EqCreateGhostCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4769,942,954,'OP_EqCreateWidgetCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4770,942,954,'OP_EqCreateSignWidgetCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4771,942,954,'OP_EqDestroyGhostCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4772,942,954,'OP_EqUpdateGhostCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4773,942,954,'OP_EqSetControlGhostCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4774,942,954,'OP_EqSetPOVGhostCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4775,942,954,'OP_EqHearCombatCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4776,942,954,'OP_EqHearSpellCastCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4777,942,954,'OP_EqHearSpellInterruptCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4778,942,954,'OP_EqHearSpellFizzleCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4779,942,954,'OP_EqHearConsiderCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4780,942,954,'OP_EqUpdateSubClassesCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4781,942,954,'OP_EqCreateListBoxCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4782,942,954,'OP_EqSetDebugPathPointsCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4783,942,954,'OP_EqCannedEmoteCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4784,942,954,'OP_EqStateCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4785,942,954,'OP_EqPlaySoundCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4786,942,954,'OP_EqPlaySound3DCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4787,942,954,'OP_EqPlayVoiceCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4788,942,954,'OP_EqHearDrowningCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4789,942,954,'OP_EqHearDeathCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4790,942,954,'OP_EqGroupMemberRemovedCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4791,942,954,'OP_EqHearChainEffectCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4792,942,954,'OP_EqReceiveOfferCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4793,942,954,'OP_EqInspectPCResultsCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4794,942,954,'OP_EqDrawablePathGraphCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4795,942,954,'OP_EqDialogOpenCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4796,942,954,'OP_EqDialogCloseCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4797,942,954,'OP_EqFactionUpdateCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4798,942,954,'OP_EqCollectionUpdateCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4799,942,954,'OP_EqCollectionFilterCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4800,942,954,'OP_EqCollectionItemCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4801,942,954,'OP_EqQuestJournalUpdateCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4802,942,954,'OP_EqQuestJournalReplyCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4803,942,954,'OP_EqQuestGroupCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4804,942,954,'OP_EqUpdateMerchantCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4805,942,954,'OP_EqUpdateStoreCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4806,942,954,'OP_EqUpdatePlayerTradeCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4807,942,954,'OP_EqHelpPathCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4808,942,954,'OP_EqHelpPathClearCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4809,942,954,'OP_EqUpdateBankCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4810,942,954,'OP_EqExamineInfoCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4811,942,954,'OP_EqCloseWindowCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4812,942,954,'OP_EqUpdateLootCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4813,942,954,'OP_EqJunctionListCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4814,942,954,'OP_EqShowDeathWindowCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4815,942,954,'OP_EqDisplaySpellFailCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4816,942,954,'OP_EqSpellCastStartCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4817,942,954,'OP_EqSpellCastEndCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4818,942,954,'OP_EqResurrectedCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4819,942,954,'OP_EqChoiceWinCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4820,942,954,'OP_EqSetDefaultVerbCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4821,942,954,'OP_EqInstructionWindowCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4822,942,954,'OP_EqInstructionWindowCloseCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4823,942,954,'OP_EqInstructionWindowGoalCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4824,942,954,'OP_EqInstructionWindowTaskCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4825,942,954,'OP_EqEnableGameEventCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4826,942,954,'OP_EqShowWindowCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4827,942,954,'OP_EqEnableWindowCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4828,942,954,'OP_EqFlashWindowCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4829,942,954,'OP_EqHearPlayFlavorCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4830,942,954,'OP_EqUpdateSignWidgetCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4831,942,954,'OP_EqDebugPVDCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4832,942,954,'OP_EqShowBookCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4833,942,954,'OP_EqQuestionnaireCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4834,942,954,'OP_EqGetProbsCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4835,942,954,'OP_EqHearHealCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4836,942,954,'OP_EqChatChannelUpdateCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4837,942,954,'OP_EqWhoChannelQueryReplyCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4838,942,954,'OP_EqAvailWorldChannelsCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4839,942,954,'OP_EqUpdateTargetCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4840,942,954,'OP_EqConsignmentItemsCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4841,942,954,'OP_EqStartBrokerCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4842,942,954,'OP_EqMapExplorationCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4843,942,954,'OP_EqStoreLogCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4844,942,954,'OP_EqSpellMoveToRangeAndRetryCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4845,942,954,'OP_EqUpdatePlayerMailCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4846,942,954,'OP_EqArenaResultsCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4847,942,954,'OP_EqGuildBankEventActionCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4848,942,954,'OP_EqGuildBankExamineInfoCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4849,942,954,'OP_EqHearSpellNoLandCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4850,942,954,'OP_Lottery',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4851,942,954,'OP_GuildRecruitingMemberInfo',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4852,942,954,'OP_GuildRecruiting',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4853,942,954,'OP_GuildRecruitingDetails',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4854,942,954,'OP_GuildRecruitingImage',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4855,942,954,'OP_PointOfInterest',625,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4856,942,954,'OP_TraitsList',627,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4857,942,954,'OP_RecipeList',636,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4858,942,954,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4859,942,954,'OP_AddClientToGroupMsg',1021,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4860,942,954,'OP_AddGroupToGroupMsg',1021,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4861,942,954,'OP_GuildKickMsg',1021,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4862,942,954,'OP_ProcessScriptMsg',1021,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4863,942,954,'OP_ProcessWorkspaceMsg',1021,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4864,942,954,'OP_PurchaseConsignmentResponseMsg',1021,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4865,942,954,'OP_QuickbarAddMsg',1021,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4866,942,954,'OP_SkillSlotMapping',1021,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4867,942,954,'OP_Unknown',10025,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4868,942,954,'OP_WSWeatherUpdateMsg',10026,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4869,955,958,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4870,955,958,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4871,955,958,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4872,955,958,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4873,955,958,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4874,955,958,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4875,955,958,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4876,955,958,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4877,955,958,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4878,955,958,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4879,955,958,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4880,955,958,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4881,955,958,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4882,955,958,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4883,955,958,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4884,955,958,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4885,955,958,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4886,955,958,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4887,955,958,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4888,955,958,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4889,955,958,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4890,955,958,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4891,955,958,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4892,955,958,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4893,955,958,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4894,955,958,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4895,955,958,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4896,955,958,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4897,955,958,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4898,955,958,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4899,955,958,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4900,955,958,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4901,955,958,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4902,955,958,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4903,955,958,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4904,955,958,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4905,955,958,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4906,955,958,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4907,955,958,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4908,955,958,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4909,955,958,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4910,955,958,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4911,955,958,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4912,955,958,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4913,955,958,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4914,955,958,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4915,955,958,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4916,955,958,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4917,955,958,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4918,955,958,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4919,955,958,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4920,955,958,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4921,955,958,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4922,955,958,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4923,955,958,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4924,955,958,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4925,955,958,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4926,955,958,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4927,955,958,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4928,955,958,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4929,955,958,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4930,955,958,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4931,955,958,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4932,955,958,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4933,955,958,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4934,955,958,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4935,955,958,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4936,955,958,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4937,955,958,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4938,955,958,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4939,955,958,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4940,955,958,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4941,955,958,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4942,955,958,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4943,955,958,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4944,955,958,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4945,955,958,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4946,955,958,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4947,955,958,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4948,955,958,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4949,955,958,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4950,955,958,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4951,955,958,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4952,955,958,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4953,955,958,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4954,955,958,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4955,955,958,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4956,955,958,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4957,955,958,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4958,955,958,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4959,955,958,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4960,955,958,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4961,955,958,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4962,955,958,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4963,955,958,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4964,955,958,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4965,955,958,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4966,955,958,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4967,955,958,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4968,955,958,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4969,955,958,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4970,955,958,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4971,955,958,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4972,955,958,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4973,955,958,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4974,955,958,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4975,955,958,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4976,955,958,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4977,955,958,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4978,955,958,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4979,955,958,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4980,955,958,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4981,955,958,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4982,955,958,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4983,955,958,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4984,955,958,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4985,955,958,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4986,955,958,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4987,955,958,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4988,955,958,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4989,955,958,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4990,955,958,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4991,955,958,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4992,955,958,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4993,955,958,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4994,955,958,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4995,955,958,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4996,955,958,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4997,955,958,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4998,955,958,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (4999,955,958,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5000,955,958,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5001,955,958,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5002,955,958,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5003,955,958,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5004,955,958,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5005,955,958,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5006,955,958,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5007,955,958,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5008,955,958,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5009,955,958,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5010,955,958,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5011,955,958,'OP_UIResetMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5012,955,958,'OP_KeymapLoadMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5013,955,958,'OP_KeymapNoneMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5014,955,958,'OP_KeymapDataMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5015,955,958,'OP_KeymapSaveMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5016,955,958,'OP_DispatchSpellCmdMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5017,955,958,'OP_EntityVerbsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5018,955,958,'OP_EntityVerbsReplyMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5019,955,958,'OP_EntityVerbsVerbMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5020,955,958,'OP_ChatRelationshipUpdateMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5021,955,958,'OP_LootItemsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5022,955,958,'OP_StoppedLootingMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5023,955,958,'OP_SitMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5024,955,958,'OP_StandMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5025,955,958,'OP_SatMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5026,955,958,'OP_StoodMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5027,955,958,'OP_ClearForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5028,955,958,'OP_ReadyForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5029,955,958,'OP_ShowIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5030,955,958,'OP_HideIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5031,955,958,'OP_ExamineItemRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5032,955,958,'OP_ReadBookPageMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5033,955,958,'OP_DefaultGroupOptionsRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5034,955,958,'OP_DefaultGroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5035,955,958,'OP_GroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5036,955,958,'OP_DisplayGroupOptionsScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5037,955,958,'OP_DisplayInnVisitScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5038,955,958,'OP_DumpSchedulerMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5039,955,958,'OP_LSRequestPlayerDescMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5040,955,958,'OP_LSCheckAcctLockMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5041,955,958,'OP_WSAcctLockStatusMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5042,955,958,'OP_RequestHelpRepathMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5043,955,958,'OP_RequestTargetLocMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5044,955,958,'OP_UpdateMotdMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5045,955,958,'OP_PerformPlayerKnockbackMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5046,955,958,'OP_PerformCameraShakeMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5047,955,958,'OP_PopulateSkillMapsMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5048,955,958,'OP_CancelledFeignMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5049,955,958,'OP_SignalMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5050,955,958,'OP_ShowCreateFromRecipeUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5051,955,958,'OP_CancelCreateFromRecipeMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5052,955,958,'OP_BeginItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5053,955,958,'OP_StopItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5054,955,958,'OP_ShowItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5055,955,958,'OP_UpdateItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5056,955,958,'OP_DisplayTSEventReactionMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5057,955,958,'OP_ShowRecipeBookMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5058,955,958,'OP_KnowledgebaseRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5059,955,958,'OP_KnowledgebaseResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5060,955,958,'OP_CSTicketHeaderRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5061,955,958,'OP_CSTicketInfoMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5062,955,958,'OP_CSTicketCommentRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5063,955,958,'OP_CSTicketCommentResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5064,955,958,'OP_CSTicketCreateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5065,955,958,'OP_CSTicketAddCommentMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5066,955,958,'OP_CSTicketDeleteMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5067,955,958,'OP_CSTicketChangeNotificationMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5068,955,958,'OP_WorldDataUpdateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5069,955,958,'OP_KnownLanguagesMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5070,955,958,'OP_LsRequestClientCrashLogMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5071,955,958,'OP_LsClientBaselogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5072,955,958,'OP_LsClientCrashlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5073,955,958,'OP_LsClientAlertlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5074,955,958,'OP_LsClientVerifylogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5075,955,958,'OP_ClientTeleportToLocationMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5076,955,958,'OP_UpdateClientPredFlagsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5077,955,958,'OP_ChangeServerControlFlagMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5078,955,958,'OP_CSToolsRequestMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5079,955,958,'OP_CSToolsResponseMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5080,955,958,'OP_AddSocialStructureStandingMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5081,955,958,'OP_CreateBoatTransportsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5082,955,958,'OP_PositionBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5083,955,958,'OP_MigrateBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5084,955,958,'OP_MigrateBoatTransportReplyMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5085,955,958,'OP_DisplayDebugNLLPointsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5086,955,958,'OP_ExamineInfoRequestMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5087,955,958,'OP_QuickbarInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5088,955,958,'OP_QuickbarUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5089,955,958,'OP_MacroInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5090,955,958,'OP_MacroUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5091,955,958,'OP_QuestionnaireMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5092,955,958,'OP_LevelChangedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5093,955,958,'OP_SpellGainedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5094,955,958,'OP_EncounterBrokenMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5095,955,958,'OP_OnscreenMsgMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5096,955,958,'OP_DisplayWarningMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5097,955,958,'OP_ModifyGuildMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5098,955,958,'OP_GuildEventMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5099,955,958,'OP_GuildEventAddMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5100,955,958,'OP_GuildEventActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5101,955,958,'OP_GuildEventListMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5102,955,958,'OP_RequestGuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5103,955,958,'OP_GuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5104,955,958,'OP_RequestGuildInfoMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5105,955,958,'OP_GuildBankActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5106,955,958,'OP_GuildBankActionResponseMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5107,955,958,'OP_GuildBankItemDetailsRequestMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5108,955,958,'OP_GuildBankItemDetailsResponseMs',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5109,955,958,'OP_GuildBankUpdateMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5110,955,958,'OP_GuildBankEventListMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5111,955,958,'OP_RequestGuildBankEventDetailsMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5112,955,958,'OP_RewardPackMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5113,955,958,'OP_RenameGuildMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5114,955,958,'OP_ZoneToFriendRequestMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5115,955,958,'OP_ZoneToFriendReplyMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5116,955,958,'OP_ChatCreateChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5117,955,958,'OP_ChatJoinChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5118,955,958,'OP_ChatWhoChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5119,955,958,'OP_ChatLeaveChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5120,955,958,'OP_ChatTellChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5121,955,958,'OP_ChatTellUserMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5122,955,958,'OP_ChatToggleFriendMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5123,955,958,'OP_ChatToggleIgnoreMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5124,955,958,'OP_ChatSendFriendsMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5125,955,958,'OP_ChatSendIgnoresMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5126,955,958,'OP_QuestReward',302,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5127,955,958,'OP_ChatFiltersMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5128,955,958,'OP_MailGetHeadersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5129,955,958,'OP_MailGetMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5130,955,958,'OP_MailSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5131,955,958,'OP_MailDeleteMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5132,955,958,'OP_MailGetHeadersReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5133,955,958,'OP_MailGetMessageReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5134,955,958,'OP_MailSendMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5135,955,958,'OP_MailCommitSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5136,955,958,'OP_MailSendSystemMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5137,955,958,'OP_MailRemoveAttachFromMailMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5138,955,958,'OP_WaypointRequestMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5139,955,958,'OP_WaypointReplyMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5140,955,958,'OP_WaypointSelectMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5141,955,958,'OP_WaypointUpdateMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5142,955,958,'OP_CharNameChangedMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5143,955,958,'OP_ShowZoneTeleporterDestinations',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5144,955,958,'OP_SelectZoneTeleporterDestinatio',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5145,955,958,'OP_ReloadLocalizedTxtMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5146,955,958,'OP_RequestGuildMembershipMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5147,955,958,'OP_GuildMembershipResponseMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5148,955,958,'OP_LeaveGuildNotifyMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5149,955,958,'OP_JoinGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5150,955,958,'OP_AvatarUpdateMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5151,955,958,'OP_BioUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5152,955,958,'OP_InspectPlayerMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5153,955,958,'OP_WSServerLockMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5154,955,958,'OP_LSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5155,955,958,'OP_WSServerHideMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5156,955,958,'OP_CsCategoryRequestMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5157,955,958,'OP_CsCategoryResponseMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5158,955,958,'OP_KnowledgeWindowSlotMappingMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5159,955,958,'OP_LFGUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5160,955,958,'OP_AFKUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5161,955,958,'OP_AnonUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5162,955,958,'OP_UpdateActivePublicZonesMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5163,955,958,'OP_UnknownNpcMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5164,955,958,'OP_PromoFlagsDetailsMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5165,955,958,'OP_ConsignViewCreateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5166,955,958,'OP_ConsignViewGetPageMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5167,955,958,'OP_ConsignViewReleaseMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5168,955,958,'OP_ConsignRemoveItemsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5169,955,958,'OP_UpdateDebugRadiiMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5170,955,958,'OP_SnoopMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5171,955,958,'OP_ReportMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5172,955,958,'OP_UpdateRaidMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5173,955,958,'OP_ConsignViewSortMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5174,955,958,'OP_TitleUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5175,955,958,'OP_ClientFellMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5176,955,958,'OP_ClientInDeathRegionMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5177,955,958,'OP_CampClientMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5178,955,958,'OP_CSToolAccessResponseMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5179,955,958,'OP_TrackingUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5180,955,958,'OP_BeginTrackingMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5181,955,958,'OP_StopTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5182,955,958,'OP_GetAvatarAccessRequestForCSToo',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5183,955,958,'OP_AdvancementRequestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5184,955,958,'OP_UpdateAvgFrameTimeMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5185,955,958,'OP_MapFogDataInitMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5186,955,958,'OP_MapFogDataUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5187,955,958,'OP_CloseGroupInviteWindowMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5188,955,958,'OP_UpdateGroupMemberDataMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5189,955,958,'OP_WorldPingMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5190,955,958,'OP_MoveLogUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5191,955,958,'OP_OfferQuestMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5192,955,958,'OP_WorldShutdownUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5193,955,958,'OP_DisplayMailScreenMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5194,955,958,'OP_ClientIdleBeginMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5195,955,958,'OP_ClientIdleEndMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5196,955,958,'OP_PurchaseConsignmentLoreCheckRe',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5197,955,958,'OP_NotifyApprenticeStoppedMentori',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5198,955,958,'OP_CorruptedClientMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5199,955,958,'OP_WorldDataChangeMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5200,955,958,'OP_MailEventNotificationMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5201,955,958,'OP_RestartZoneMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5202,955,958,'OP_FlightPathsMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5203,955,958,'OP_CharacterLinkdeadMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5204,955,958,'OP_CharTransferStartRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5205,955,958,'OP_CharTransferStartReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5206,955,958,'OP_CharTransferRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5207,955,958,'OP_CharTransferReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5208,955,958,'OP_CharTransferRollbackRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5209,955,958,'OP_CharTransferCommitRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5210,955,958,'OP_CharTransferRollbackReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5211,955,958,'OP_CharTransferCommitReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5212,955,958,'OP_GetCharacterSerializedRequestM',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5213,955,958,'OP_GetCharacterSerializedReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5214,955,958,'OP_CreateCharFromCBBRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5215,955,958,'OP_CreateCharFromCBBReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5216,955,958,'OP_HousingDataChangedMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5217,955,958,'OP_HousingRestoreMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5218,955,958,'OP_AuctionItem',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5219,955,958,'OP_AuctionItemReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5220,955,958,'OP_AuctionCoin',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5221,955,958,'OP_AuctionCoinReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5222,955,958,'OP_AuctionCharacter',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5223,955,958,'OP_AuctionCharacterReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5224,955,958,'OP_AuctionCommitMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5225,955,958,'OP_AuctionAbortMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5226,955,958,'OP_CharTransferValidateRequestMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5227,955,958,'OP_CharTransferValidateReplyMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5228,955,958,'OP_RaceRestrictionMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5229,955,958,'OP_SetInstanceDisplayNameMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5230,955,958,'OP_GetAuctionAssetIDMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5231,955,958,'OP_GetAuctionAssetIDReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5232,955,958,'OP_ResendWorldChannelsMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5233,955,958,'OP_DisplayExchangeScreenMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5234,955,958,'OP_ArenaGameTypesMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5235,955,958,'OP_AuditAuctionEventMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5236,955,958,'OP_InviteRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5237,955,958,'OP_InviteResponseMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5238,955,958,'OP_InviteTargetResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5239,955,958,'OP_InspectPlayerRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5240,955,958,'OP_DispatchMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5241,955,958,'OP_DisplayEventMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5242,955,958,'OP_PrePossessionMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5243,955,958,'OP_PostPossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5244,955,958,'OP_AdventureList',462,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5245,955,958,'OP_CancelSpellCast',463,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5246,955,958,'OP_AttackAllowed',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5247,955,958,'OP_AttackNotAllowed',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5248,955,958,'OP_DressingRoom',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5249,955,958,'OP_SkillInfoRequest',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5250,955,958,'OP_SkillInfoResponse',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5251,955,958,'OP_MapRequest',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5252,955,958,'OP_EqUnknown',506,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5253,955,958,'OP_EqHearChatCmd',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5254,955,958,'OP_EqDisplayTextCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5255,955,958,'OP_EqCreateGhostCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5256,955,958,'OP_EqCreateWidgetCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5257,955,958,'OP_EqCreateSignWidgetCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5258,955,958,'OP_EqDestroyGhostCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5259,955,958,'OP_EqUpdateGhostCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5260,955,958,'OP_EqSetControlGhostCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5261,955,958,'OP_EqSetPOVGhostCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5262,955,958,'OP_EqHearCombatCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5263,955,958,'OP_EqHearSpellCastCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5264,955,958,'OP_EqHearSpellInterruptCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5265,955,958,'OP_EqHearSpellFizzleCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5266,955,958,'OP_EqHearConsiderCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5267,955,958,'OP_EqUpdateSubClassesCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5268,955,958,'OP_EqCreateListBoxCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5269,955,958,'OP_EqSetDebugPathPointsCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5270,955,958,'OP_EqCannedEmoteCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5271,955,958,'OP_EqStateCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5272,955,958,'OP_EqPlaySoundCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5273,955,958,'OP_EqPlaySound3DCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5274,955,958,'OP_EqPlayVoiceCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5275,955,958,'OP_EqHearDrowningCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5276,955,958,'OP_EqHearDeathCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5277,955,958,'OP_EqGroupMemberRemovedCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5278,955,958,'OP_EqHearChainEffectCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5279,955,958,'OP_EqReceiveOfferCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5280,955,958,'OP_EqInspectPCResultsCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5281,955,958,'OP_EqDrawablePathGraphCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5282,955,958,'OP_EqDialogOpenCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5283,955,958,'OP_EqDialogCloseCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5284,955,958,'OP_EqFactionUpdateCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5285,955,958,'OP_EqCollectionUpdateCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5286,955,958,'OP_EqCollectionFilterCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5287,955,958,'OP_EqCollectionItemCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5288,955,958,'OP_EqQuestJournalUpdateCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5289,955,958,'OP_EqQuestJournalReplyCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5290,955,958,'OP_EqQuestGroupCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5291,955,958,'OP_EqUpdateMerchantCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5292,955,958,'OP_EqUpdateStoreCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5293,955,958,'OP_EqUpdatePlayerTradeCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5294,955,958,'OP_EqHelpPathCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5295,955,958,'OP_EqHelpPathClearCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5296,955,958,'OP_EqUpdateBankCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5297,955,958,'OP_EqExamineInfoCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5298,955,958,'OP_EqCloseWindowCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5299,955,958,'OP_EqUpdateLootCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5300,955,958,'OP_EqJunctionListCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5301,955,958,'OP_EqShowDeathWindowCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5302,955,958,'OP_EqDisplaySpellFailCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5303,955,958,'OP_EqSpellCastStartCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5304,955,958,'OP_EqSpellCastEndCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5305,955,958,'OP_EqResurrectedCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5306,955,958,'OP_EqChoiceWinCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5307,955,958,'OP_EqSetDefaultVerbCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5308,955,958,'OP_EqInstructionWindowCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5309,955,958,'OP_EqInstructionWindowCloseCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5310,955,958,'OP_EqInstructionWindowGoalCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5311,955,958,'OP_EqInstructionWindowTaskCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5312,955,958,'OP_EqEnableGameEventCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5313,955,958,'OP_EqShowWindowCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5314,955,958,'OP_EqEnableWindowCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5315,955,958,'OP_EqFlashWindowCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5316,955,958,'OP_EqHearPlayFlavorCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5317,955,958,'OP_EqUpdateSignWidgetCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5318,955,958,'OP_EqDebugPVDCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5319,955,958,'OP_EqShowBookCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5320,955,958,'OP_EqQuestionnaireCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5321,955,958,'OP_EqGetProbsCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5322,955,958,'OP_EqHearHealCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5323,955,958,'OP_EqChatChannelUpdateCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5324,955,958,'OP_EqWhoChannelQueryReplyCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5325,955,958,'OP_EqAvailWorldChannelsCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5326,955,958,'OP_EqUpdateTargetCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5327,955,958,'OP_EqConsignmentItemsCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5328,955,958,'OP_EqStartBrokerCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5329,955,958,'OP_EqMapExplorationCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5330,955,958,'OP_EqStoreLogCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5331,955,958,'OP_EqSpellMoveToRangeAndRetryCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5332,955,958,'OP_EqUpdatePlayerMailCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5333,955,958,'OP_EqArenaResultsCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5334,955,958,'OP_EqGuildBankEventActionCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5335,955,958,'OP_EqGuildBankExamineInfoCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5336,955,958,'OP_EqHearSpellNoLandCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5337,955,958,'OP_Lottery',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5338,955,958,'OP_GuildRecruitingMemberInfo',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5339,955,958,'OP_GuildRecruiting',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5340,955,958,'OP_GuildRecruitingDetails',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5341,955,958,'OP_GuildRecruitingImage',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5342,955,958,'OP_PointOfInterest',627,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5343,955,958,'OP_TraitsList',629,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5344,955,958,'OP_RecipeList',638,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5345,955,958,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5346,955,958,'OP_AddClientToGroupMsg',1023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5347,955,958,'OP_AddGroupToGroupMsg',1023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5348,955,958,'OP_GuildKickMsg',1023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5349,955,958,'OP_ProcessScriptMsg',1023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5350,955,958,'OP_ProcessWorkspaceMsg',1023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5351,955,958,'OP_PurchaseConsignmentResponseMsg',1023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5352,955,958,'OP_QuickbarAddMsg',1023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5353,955,958,'OP_SkillSlotMapping',1023,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5354,955,958,'OP_Unknown',10027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5355,955,958,'OP_WSWeatherUpdateMsg',10028,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5356,959,959,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5357,959,959,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5358,959,959,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5359,959,959,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5360,959,959,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5361,959,959,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5362,959,959,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5363,959,959,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5364,959,959,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5365,959,959,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5366,959,959,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5367,959,959,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5368,959,959,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5369,959,959,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5370,959,959,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5371,959,959,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5372,959,959,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5373,959,959,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5374,959,959,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5375,959,959,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5376,959,959,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5377,959,959,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5378,959,959,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5379,959,959,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5380,959,959,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5381,959,959,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5382,959,959,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5383,959,959,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5384,959,959,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5385,959,959,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5386,959,959,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5387,959,959,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5388,959,959,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5389,959,959,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5390,959,959,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5391,959,959,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5392,959,959,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5393,959,959,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5394,959,959,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5395,959,959,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5396,959,959,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5397,959,959,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5398,959,959,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5399,959,959,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5400,959,959,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5401,959,959,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5402,959,959,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5403,959,959,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5404,959,959,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5405,959,959,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5406,959,959,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5407,959,959,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5408,959,959,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5409,959,959,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5410,959,959,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5411,959,959,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5412,959,959,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5413,959,959,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5414,959,959,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5415,959,959,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5416,959,959,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5417,959,959,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5418,959,959,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5419,959,959,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5420,959,959,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5421,959,959,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5422,959,959,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5423,959,959,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5424,959,959,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5425,959,959,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5426,959,959,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5427,959,959,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5428,959,959,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5429,959,959,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5430,959,959,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5431,959,959,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5432,959,959,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5433,959,959,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5434,959,959,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5435,959,959,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5436,959,959,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5437,959,959,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5438,959,959,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5439,959,959,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5440,959,959,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5441,959,959,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5442,959,959,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5443,959,959,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5444,959,959,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5445,959,959,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5446,959,959,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5447,959,959,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5448,959,959,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5449,959,959,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5450,959,959,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5451,959,959,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5452,959,959,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5453,959,959,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5454,959,959,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5455,959,959,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5456,959,959,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5457,959,959,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5458,959,959,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5459,959,959,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5460,959,959,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5461,959,959,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5462,959,959,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5463,959,959,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5464,959,959,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5465,959,959,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5466,959,959,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5467,959,959,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5468,959,959,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5469,959,959,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5470,959,959,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5471,959,959,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5472,959,959,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5473,959,959,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5474,959,959,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5475,959,959,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5476,959,959,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5477,959,959,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5478,959,959,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5479,959,959,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5480,959,959,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5481,959,959,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5482,959,959,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5483,959,959,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5484,959,959,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5485,959,959,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5486,959,959,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5487,959,959,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5488,959,959,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5489,959,959,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5490,959,959,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5491,959,959,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5492,959,959,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5493,959,959,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5494,959,959,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5495,959,959,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5496,959,959,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5497,959,959,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5498,959,959,'OP_UIResetMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5499,959,959,'OP_KeymapLoadMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5500,959,959,'OP_KeymapNoneMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5501,959,959,'OP_KeymapDataMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5502,959,959,'OP_KeymapSaveMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5503,959,959,'OP_DispatchSpellCmdMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5504,959,959,'OP_EntityVerbsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5505,959,959,'OP_EntityVerbsReplyMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5506,959,959,'OP_EntityVerbsVerbMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5507,959,959,'OP_ChatRelationshipUpdateMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5508,959,959,'OP_LootItemsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5509,959,959,'OP_StoppedLootingMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5510,959,959,'OP_SitMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5511,959,959,'OP_StandMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5512,959,959,'OP_SatMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5513,959,959,'OP_StoodMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5514,959,959,'OP_ClearForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5515,959,959,'OP_ReadyForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5516,959,959,'OP_ShowIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5517,959,959,'OP_HideIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5518,959,959,'OP_ExamineItemRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5519,959,959,'OP_ReadBookPageMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5520,959,959,'OP_DefaultGroupOptionsRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5521,959,959,'OP_DefaultGroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5522,959,959,'OP_GroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5523,959,959,'OP_DisplayGroupOptionsScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5524,959,959,'OP_DisplayInnVisitScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5525,959,959,'OP_DumpSchedulerMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5526,959,959,'OP_LSRequestPlayerDescMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5527,959,959,'OP_LSCheckAcctLockMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5528,959,959,'OP_WSAcctLockStatusMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5529,959,959,'OP_RequestHelpRepathMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5530,959,959,'OP_RequestTargetLocMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5531,959,959,'OP_UpdateMotdMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5532,959,959,'OP_PerformPlayerKnockbackMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5533,959,959,'OP_PerformCameraShakeMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5534,959,959,'OP_PopulateSkillMapsMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5535,959,959,'OP_CancelledFeignMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5536,959,959,'OP_SignalMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5537,959,959,'OP_ShowCreateFromRecipeUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5538,959,959,'OP_CancelCreateFromRecipeMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5539,959,959,'OP_BeginItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5540,959,959,'OP_StopItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5541,959,959,'OP_ShowItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5542,959,959,'OP_UpdateItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5543,959,959,'OP_DisplayTSEventReactionMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5544,959,959,'OP_ShowRecipeBookMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5545,959,959,'OP_KnowledgebaseRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5546,959,959,'OP_KnowledgebaseResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5547,959,959,'OP_CSTicketHeaderRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5548,959,959,'OP_CSTicketInfoMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5549,959,959,'OP_CSTicketCommentRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5550,959,959,'OP_CSTicketCommentResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5551,959,959,'OP_CSTicketCreateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5552,959,959,'OP_CSTicketAddCommentMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5553,959,959,'OP_CSTicketDeleteMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5554,959,959,'OP_CSTicketChangeNotificationMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5555,959,959,'OP_WorldDataUpdateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5556,959,959,'OP_KnownLanguagesMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5557,959,959,'OP_LsRequestClientCrashLogMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5558,959,959,'OP_LsClientBaselogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5559,959,959,'OP_LsClientCrashlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5560,959,959,'OP_LsClientAlertlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5561,959,959,'OP_LsClientVerifylogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5562,959,959,'OP_ClientTeleportToLocationMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5563,959,959,'OP_UpdateClientPredFlagsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5564,959,959,'OP_ChangeServerControlFlagMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5565,959,959,'OP_CSToolsRequestMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5566,959,959,'OP_CSToolsResponseMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5567,959,959,'OP_AddSocialStructureStandingMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5568,959,959,'OP_CreateBoatTransportsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5569,959,959,'OP_PositionBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5570,959,959,'OP_MigrateBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5571,959,959,'OP_MigrateBoatTransportReplyMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5572,959,959,'OP_DisplayDebugNLLPointsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5573,959,959,'OP_ExamineInfoRequestMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5574,959,959,'OP_QuickbarInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5575,959,959,'OP_QuickbarUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5576,959,959,'OP_MacroInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5577,959,959,'OP_MacroUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5578,959,959,'OP_QuestionnaireMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5579,959,959,'OP_LevelChangedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5580,959,959,'OP_SpellGainedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5581,959,959,'OP_EncounterBrokenMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5582,959,959,'OP_OnscreenMsgMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5583,959,959,'OP_DisplayWarningMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5584,959,959,'OP_ModifyGuildMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5585,959,959,'OP_GuildEventMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5586,959,959,'OP_GuildEventAddMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5587,959,959,'OP_GuildEventActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5588,959,959,'OP_GuildEventListMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5589,959,959,'OP_RequestGuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5590,959,959,'OP_GuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5591,959,959,'OP_RequestGuildInfoMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5592,959,959,'OP_GuildBankActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5593,959,959,'OP_GuildBankActionResponseMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5594,959,959,'OP_GuildBankItemDetailsRequestMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5595,959,959,'OP_GuildBankItemDetailsResponseMs',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5596,959,959,'OP_GuildBankUpdateMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5597,959,959,'OP_GuildBankEventListMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5598,959,959,'OP_RequestGuildBankEventDetailsMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5599,959,959,'OP_RewardPackMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5600,959,959,'OP_RenameGuildMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5601,959,959,'OP_ZoneToFriendRequestMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5602,959,959,'OP_ZoneToFriendReplyMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5603,959,959,'OP_ChatCreateChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5604,959,959,'OP_ChatJoinChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5605,959,959,'OP_ChatWhoChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5606,959,959,'OP_ChatLeaveChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5607,959,959,'OP_ChatTellChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5608,959,959,'OP_ChatTellUserMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5609,959,959,'OP_ChatToggleFriendMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5610,959,959,'OP_ChatToggleIgnoreMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5611,959,959,'OP_ChatSendFriendsMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5612,959,959,'OP_ChatSendIgnoresMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5613,959,959,'OP_QuestReward',302,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5614,959,959,'OP_ChatFiltersMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5615,959,959,'OP_MailGetHeadersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5616,959,959,'OP_MailGetMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5617,959,959,'OP_MailSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5618,959,959,'OP_MailDeleteMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5619,959,959,'OP_MailGetHeadersReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5620,959,959,'OP_MailGetMessageReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5621,959,959,'OP_MailSendMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5622,959,959,'OP_MailCommitSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5623,959,959,'OP_MailSendSystemMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5624,959,959,'OP_MailRemoveAttachFromMailMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5625,959,959,'OP_WaypointRequestMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5626,959,959,'OP_WaypointReplyMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5627,959,959,'OP_WaypointSelectMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5628,959,959,'OP_WaypointUpdateMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5629,959,959,'OP_CharNameChangedMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5630,959,959,'OP_ShowZoneTeleporterDestinations',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5631,959,959,'OP_SelectZoneTeleporterDestinatio',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5632,959,959,'OP_ReloadLocalizedTxtMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5633,959,959,'OP_RequestGuildMembershipMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5634,959,959,'OP_GuildMembershipResponseMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5635,959,959,'OP_LeaveGuildNotifyMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5636,959,959,'OP_JoinGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5637,959,959,'OP_AvatarUpdateMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5638,959,959,'OP_BioUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5639,959,959,'OP_InspectPlayerMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5640,959,959,'OP_WSServerLockMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5641,959,959,'OP_LSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5642,959,959,'OP_WSServerHideMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5643,959,959,'OP_CsCategoryRequestMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5644,959,959,'OP_CsCategoryResponseMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5645,959,959,'OP_KnowledgeWindowSlotMappingMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5646,959,959,'OP_LFGUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5647,959,959,'OP_AFKUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5648,959,959,'OP_AnonUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5649,959,959,'OP_UpdateActivePublicZonesMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5650,959,959,'OP_UnknownNpcMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5651,959,959,'OP_PromoFlagsDetailsMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5652,959,959,'OP_ConsignViewCreateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5653,959,959,'OP_ConsignViewGetPageMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5654,959,959,'OP_ConsignViewReleaseMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5655,959,959,'OP_ConsignRemoveItemsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5656,959,959,'OP_UpdateDebugRadiiMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5657,959,959,'OP_SnoopMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5658,959,959,'OP_ReportMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5659,959,959,'OP_UpdateRaidMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5660,959,959,'OP_ConsignViewSortMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5661,959,959,'OP_TitleUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5662,959,959,'OP_ClientFellMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5663,959,959,'OP_ClientInDeathRegionMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5664,959,959,'OP_CampClientMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5665,959,959,'OP_CSToolAccessResponseMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5666,959,959,'OP_TrackingUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5667,959,959,'OP_BeginTrackingMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5668,959,959,'OP_StopTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5669,959,959,'OP_GetAvatarAccessRequestForCSToo',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5670,959,959,'OP_AdvancementRequestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5671,959,959,'OP_UpdateAvgFrameTimeMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5672,959,959,'OP_MapFogDataInitMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5673,959,959,'OP_MapFogDataUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5674,959,959,'OP_CloseGroupInviteWindowMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5675,959,959,'OP_UpdateGroupMemberDataMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5676,959,959,'OP_WorldPingMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5677,959,959,'OP_MoveLogUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5678,959,959,'OP_OfferQuestMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5679,959,959,'OP_WorldShutdownUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5680,959,959,'OP_DisplayMailScreenMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5681,959,959,'OP_ClientIdleBeginMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5682,959,959,'OP_ClientIdleEndMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5683,959,959,'OP_PurchaseConsignmentLoreCheckRe',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5684,959,959,'OP_NotifyApprenticeStoppedMentori',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5685,959,959,'OP_CorruptedClientMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5686,959,959,'OP_WorldDataChangeMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5687,959,959,'OP_MailEventNotificationMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5688,959,959,'OP_RestartZoneMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5689,959,959,'OP_FlightPathsMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5690,959,959,'OP_CharacterLinkdeadMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5691,959,959,'OP_CharTransferStartRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5692,959,959,'OP_CharTransferStartReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5693,959,959,'OP_CharTransferRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5694,959,959,'OP_CharTransferReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5695,959,959,'OP_CharTransferRollbackRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5696,959,959,'OP_CharTransferCommitRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5697,959,959,'OP_CharTransferRollbackReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5698,959,959,'OP_CharTransferCommitReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5699,959,959,'OP_GetCharacterSerializedRequestM',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5700,959,959,'OP_GetCharacterSerializedReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5701,959,959,'OP_CreateCharFromCBBRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5702,959,959,'OP_CreateCharFromCBBReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5703,959,959,'OP_HousingDataChangedMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5704,959,959,'OP_HousingRestoreMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5705,959,959,'OP_AuctionItem',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5706,959,959,'OP_AuctionItemReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5707,959,959,'OP_AuctionCoin',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5708,959,959,'OP_AuctionCoinReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5709,959,959,'OP_AuctionCharacter',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5710,959,959,'OP_AuctionCharacterReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5711,959,959,'OP_AuctionCommitMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5712,959,959,'OP_AuctionAbortMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5713,959,959,'OP_CharTransferValidateRequestMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5714,959,959,'OP_CharTransferValidateReplyMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5715,959,959,'OP_RaceRestrictionMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5716,959,959,'OP_SetInstanceDisplayNameMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5717,959,959,'OP_GetAuctionAssetIDMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5718,959,959,'OP_GetAuctionAssetIDReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5719,959,959,'OP_ResendWorldChannelsMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5720,959,959,'OP_DisplayExchangeScreenMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5721,959,959,'OP_ArenaGameTypesMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5722,959,959,'OP_AuditAuctionEventMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5723,959,959,'OP_InviteRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5724,959,959,'OP_InviteResponseMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5725,959,959,'OP_InviteTargetResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5726,959,959,'OP_InspectPlayerRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5727,959,959,'OP_DispatchMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5728,959,959,'OP_DisplayEventMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5729,959,959,'OP_PrePossessionMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5730,959,959,'OP_PostPossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5731,959,959,'OP_AdventureList',462,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5732,959,959,'OP_CancelSpellCast',463,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5733,959,959,'OP_AttackAllowed',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5734,959,959,'OP_AttackNotAllowed',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5735,959,959,'OP_DressingRoom',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5736,959,959,'OP_SkillInfoRequest',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5737,959,959,'OP_SkillInfoResponse',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5738,959,959,'OP_MapRequest',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5739,959,959,'OP_EqUnknown',507,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5740,959,959,'OP_EqHearChatCmd',508,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5741,959,959,'OP_EqDisplayTextCmd',509,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5742,959,959,'OP_EqCreateGhostCmd',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5743,959,959,'OP_EqCreateWidgetCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5744,959,959,'OP_EqCreateSignWidgetCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5745,959,959,'OP_EqDestroyGhostCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5746,959,959,'OP_EqUpdateGhostCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5747,959,959,'OP_EqSetControlGhostCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5748,959,959,'OP_EqSetPOVGhostCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5749,959,959,'OP_EqHearCombatCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5750,959,959,'OP_EqHearSpellCastCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5751,959,959,'OP_EqHearSpellInterruptCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5752,959,959,'OP_EqHearSpellFizzleCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5753,959,959,'OP_EqHearConsiderCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5754,959,959,'OP_EqUpdateSubClassesCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5755,959,959,'OP_EqCreateListBoxCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5756,959,959,'OP_EqSetDebugPathPointsCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5757,959,959,'OP_EqCannedEmoteCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5758,959,959,'OP_EqStateCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5759,959,959,'OP_EqPlaySoundCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5760,959,959,'OP_EqPlaySound3DCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5761,959,959,'OP_EqPlayVoiceCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5762,959,959,'OP_EqHearDrowningCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5763,959,959,'OP_EqHearDeathCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5764,959,959,'OP_EqGroupMemberRemovedCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5765,959,959,'OP_EqHearChainEffectCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5766,959,959,'OP_EqReceiveOfferCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5767,959,959,'OP_EqInspectPCResultsCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5768,959,959,'OP_EqDrawablePathGraphCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5769,959,959,'OP_EqDialogOpenCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5770,959,959,'OP_EqDialogCloseCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5771,959,959,'OP_EqFactionUpdateCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5772,959,959,'OP_EqCollectionUpdateCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5773,959,959,'OP_EqCollectionFilterCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5774,959,959,'OP_EqCollectionItemCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5775,959,959,'OP_EqQuestJournalUpdateCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5776,959,959,'OP_EqQuestJournalReplyCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5777,959,959,'OP_EqQuestGroupCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5778,959,959,'OP_EqUpdateMerchantCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5779,959,959,'OP_EqUpdateStoreCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5780,959,959,'OP_EqUpdatePlayerTradeCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5781,959,959,'OP_EqHelpPathCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5782,959,959,'OP_EqHelpPathClearCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5783,959,959,'OP_EqUpdateBankCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5784,959,959,'OP_EqExamineInfoCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5785,959,959,'OP_EqCloseWindowCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5786,959,959,'OP_EqUpdateLootCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5787,959,959,'OP_EqJunctionListCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5788,959,959,'OP_EqShowDeathWindowCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5789,959,959,'OP_EqDisplaySpellFailCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5790,959,959,'OP_EqSpellCastStartCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5791,959,959,'OP_EqSpellCastEndCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5792,959,959,'OP_EqResurrectedCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5793,959,959,'OP_EqChoiceWinCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5794,959,959,'OP_EqSetDefaultVerbCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5795,959,959,'OP_EqInstructionWindowCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5796,959,959,'OP_EqInstructionWindowCloseCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5797,959,959,'OP_EqInstructionWindowGoalCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5798,959,959,'OP_EqInstructionWindowTaskCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5799,959,959,'OP_EqEnableGameEventCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5800,959,959,'OP_EqShowWindowCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5801,959,959,'OP_EqEnableWindowCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5802,959,959,'OP_EqFlashWindowCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5803,959,959,'OP_EqHearPlayFlavorCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5804,959,959,'OP_EqUpdateSignWidgetCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5805,959,959,'OP_EqDebugPVDCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5806,959,959,'OP_EqShowBookCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5807,959,959,'OP_EqQuestionnaireCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5808,959,959,'OP_EqGetProbsCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5809,959,959,'OP_EqHearHealCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5810,959,959,'OP_EqChatChannelUpdateCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5811,959,959,'OP_EqWhoChannelQueryReplyCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5812,959,959,'OP_EqAvailWorldChannelsCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5813,959,959,'OP_EqUpdateTargetCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5814,959,959,'OP_EqConsignmentItemsCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5815,959,959,'OP_EqStartBrokerCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5816,959,959,'OP_EqMapExplorationCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5817,959,959,'OP_EqStoreLogCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5818,959,959,'OP_EqSpellMoveToRangeAndRetryCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5819,959,959,'OP_EqUpdatePlayerMailCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5820,959,959,'OP_EqArenaResultsCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5821,959,959,'OP_EqGuildBankEventActionCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5822,959,959,'OP_EqGuildBankExamineInfoCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5823,959,959,'OP_EqHearSpellNoLandCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5824,959,959,'OP_Lottery',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5825,959,959,'OP_GuildRecruitingMemberInfo',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5826,959,959,'OP_GuildRecruiting',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5827,959,959,'OP_GuildRecruitingDetails',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5828,959,959,'OP_GuildRecruitingImage',607,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5829,959,959,'OP_PointOfInterest',628,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5830,959,959,'OP_TraitsList',630,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5831,959,959,'OP_RecipeList',639,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5832,959,959,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5833,959,959,'OP_AddClientToGroupMsg',1024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5834,959,959,'OP_AddGroupToGroupMsg',1024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5835,959,959,'OP_GuildKickMsg',1024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5836,959,959,'OP_ProcessScriptMsg',1024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5837,959,959,'OP_ProcessWorkspaceMsg',1024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5838,959,959,'OP_PurchaseConsignmentResponseMsg',1024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5839,959,959,'OP_QuickbarAddMsg',1024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5840,959,959,'OP_SkillSlotMapping',1024,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5841,959,959,'OP_Unknown',10028,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5842,959,959,'OP_WSWeatherUpdateMsg',10029,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5843,972,972,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5844,972,972,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5845,972,972,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5846,972,972,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5847,972,972,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5848,972,972,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5849,972,972,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5850,972,972,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5851,972,972,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5852,972,972,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5853,972,972,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5854,972,972,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5855,972,972,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5856,972,972,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5857,972,972,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5858,972,972,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5859,972,972,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5860,972,972,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5861,972,972,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5862,972,972,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5863,972,972,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5864,972,972,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5865,972,972,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5866,972,972,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5867,972,972,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5868,972,972,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5869,972,972,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5870,972,972,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5871,972,972,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5872,972,972,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5873,972,972,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5874,972,972,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5875,972,972,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5876,972,972,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5877,972,972,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5878,972,972,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5879,972,972,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5880,972,972,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5881,972,972,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5882,972,972,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5883,972,972,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5884,972,972,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5885,972,972,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5886,972,972,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5887,972,972,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5888,972,972,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5889,972,972,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5890,972,972,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5891,972,972,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5892,972,972,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5893,972,972,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5894,972,972,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5895,972,972,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5896,972,972,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5897,972,972,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5898,972,972,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5899,972,972,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5900,972,972,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5901,972,972,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5902,972,972,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5903,972,972,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5904,972,972,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5905,972,972,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5906,972,972,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5907,972,972,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5908,972,972,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5909,972,972,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5910,972,972,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5911,972,972,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5912,972,972,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5913,972,972,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5914,972,972,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5915,972,972,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5916,972,972,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5917,972,972,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5918,972,972,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5919,972,972,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5920,972,972,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5921,972,972,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5922,972,972,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5923,972,972,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5924,972,972,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5925,972,972,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5926,972,972,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5927,972,972,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5928,972,972,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5929,972,972,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5930,972,972,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5931,972,972,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5932,972,972,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5933,972,972,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5934,972,972,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5935,972,972,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5936,972,972,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5937,972,972,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5938,972,972,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5939,972,972,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5940,972,972,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5941,972,972,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5942,972,972,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5943,972,972,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5944,972,972,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5945,972,972,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5946,972,972,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5947,972,972,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5948,972,972,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5949,972,972,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5950,972,972,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5951,972,972,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5952,972,972,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5953,972,972,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5954,972,972,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5955,972,972,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5956,972,972,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5957,972,972,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5958,972,972,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5959,972,972,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5960,972,972,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5961,972,972,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5962,972,972,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5963,972,972,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5964,972,972,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5965,972,972,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5966,972,972,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5967,972,972,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5968,972,972,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5969,972,972,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5970,972,972,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5971,972,972,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5972,972,972,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5973,972,972,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5974,972,972,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5975,972,972,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5976,972,972,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5977,972,972,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5978,972,972,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5979,972,972,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5980,972,972,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5981,972,972,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5982,972,972,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5983,972,972,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5984,972,972,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5985,972,972,'OP_UIResetMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5986,972,972,'OP_KeymapLoadMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5987,972,972,'OP_KeymapNoneMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5988,972,972,'OP_KeymapDataMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5989,972,972,'OP_KeymapSaveMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5990,972,972,'OP_DispatchSpellCmdMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5991,972,972,'OP_EntityVerbsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5992,972,972,'OP_EntityVerbsReplyMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5993,972,972,'OP_EntityVerbsVerbMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5994,972,972,'OP_ChatRelationshipUpdateMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5995,972,972,'OP_LootItemsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5996,972,972,'OP_StoppedLootingMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5997,972,972,'OP_SitMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5998,972,972,'OP_StandMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (5999,972,972,'OP_SatMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6000,972,972,'OP_StoodMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6001,972,972,'OP_ClearForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6002,972,972,'OP_ReadyForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6003,972,972,'OP_ShowIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6004,972,972,'OP_HideIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6005,972,972,'OP_ExamineItemRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6006,972,972,'OP_ReadBookPageMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6007,972,972,'OP_DefaultGroupOptionsRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6008,972,972,'OP_DefaultGroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6009,972,972,'OP_GroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6010,972,972,'OP_DisplayGroupOptionsScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6011,972,972,'OP_DisplayInnVisitScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6012,972,972,'OP_DumpSchedulerMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6013,972,972,'OP_LSRequestPlayerDescMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6014,972,972,'OP_LSCheckAcctLockMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6015,972,972,'OP_WSAcctLockStatusMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6016,972,972,'OP_RequestHelpRepathMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6017,972,972,'OP_RequestTargetLocMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6018,972,972,'OP_UpdateMotdMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6019,972,972,'OP_PerformPlayerKnockbackMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6020,972,972,'OP_PerformCameraShakeMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6021,972,972,'OP_PopulateSkillMapsMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6022,972,972,'OP_CancelledFeignMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6023,972,972,'OP_SignalMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6024,972,972,'OP_ShowCreateFromRecipeUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6025,972,972,'OP_CancelCreateFromRecipeMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6026,972,972,'OP_BeginItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6027,972,972,'OP_StopItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6028,972,972,'OP_ShowItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6029,972,972,'OP_UpdateItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6030,972,972,'OP_DisplayTSEventReactionMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6031,972,972,'OP_ShowRecipeBookMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6032,972,972,'OP_KnowledgebaseRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6033,972,972,'OP_KnowledgebaseResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6034,972,972,'OP_CSTicketHeaderRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6035,972,972,'OP_CSTicketInfoMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6036,972,972,'OP_CSTicketCommentRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6037,972,972,'OP_CSTicketCommentResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6038,972,972,'OP_CSTicketCreateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6039,972,972,'OP_CSTicketAddCommentMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6040,972,972,'OP_CSTicketDeleteMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6041,972,972,'OP_CSTicketChangeNotificationMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6042,972,972,'OP_WorldDataUpdateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6043,972,972,'OP_KnownLanguagesMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6044,972,972,'OP_LsRequestClientCrashLogMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6045,972,972,'OP_LsClientBaselogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6046,972,972,'OP_LsClientCrashlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6047,972,972,'OP_LsClientAlertlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6048,972,972,'OP_LsClientVerifylogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6049,972,972,'OP_ClientTeleportToLocationMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6050,972,972,'OP_UpdateClientPredFlagsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6051,972,972,'OP_ChangeServerControlFlagMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6052,972,972,'OP_CSToolsRequestMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6053,972,972,'OP_CSToolsResponseMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6054,972,972,'OP_AddSocialStructureStandingMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6055,972,972,'OP_CreateBoatTransportsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6056,972,972,'OP_PositionBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6057,972,972,'OP_MigrateBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6058,972,972,'OP_MigrateBoatTransportReplyMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6059,972,972,'OP_DisplayDebugNLLPointsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6060,972,972,'OP_ExamineInfoRequestMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6061,972,972,'OP_QuickbarInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6062,972,972,'OP_QuickbarUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6063,972,972,'OP_MacroInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6064,972,972,'OP_MacroUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6065,972,972,'OP_QuestionnaireMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6066,972,972,'OP_LevelChangedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6067,972,972,'OP_SpellGainedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6068,972,972,'OP_EncounterBrokenMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6069,972,972,'OP_OnscreenMsgMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6070,972,972,'OP_DisplayWarningMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6071,972,972,'OP_ModifyGuildMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6072,972,972,'OP_GuildEventMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6073,972,972,'OP_GuildEventAddMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6074,972,972,'OP_GuildEventActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6075,972,972,'OP_GuildEventListMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6076,972,972,'OP_RequestGuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6077,972,972,'OP_GuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6078,972,972,'OP_RequestGuildInfoMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6079,972,972,'OP_GuildBankActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6080,972,972,'OP_GuildBankActionResponseMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6081,972,972,'OP_GuildBankItemDetailsRequestMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6082,972,972,'OP_GuildBankItemDetailsResponseMs',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6083,972,972,'OP_GuildBankUpdateMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6084,972,972,'OP_GuildBankEventListMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6085,972,972,'OP_RequestGuildBankEventDetailsMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6086,972,972,'OP_RewardPackMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6087,972,972,'OP_RenameGuildMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6088,972,972,'OP_ZoneToFriendRequestMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6089,972,972,'OP_ZoneToFriendReplyMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6090,972,972,'OP_ChatCreateChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6091,972,972,'OP_ChatJoinChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6092,972,972,'OP_ChatWhoChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6093,972,972,'OP_ChatLeaveChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6094,972,972,'OP_ChatTellChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6095,972,972,'OP_ChatTellUserMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6096,972,972,'OP_ChatToggleFriendMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6097,972,972,'OP_ChatToggleIgnoreMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6098,972,972,'OP_ChatSendFriendsMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6099,972,972,'OP_ChatSendIgnoresMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6100,972,972,'OP_QuestReward',302,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6101,972,972,'OP_ChatFiltersMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6102,972,972,'OP_MailGetHeadersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6103,972,972,'OP_MailGetMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6104,972,972,'OP_MailSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6105,972,972,'OP_MailDeleteMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6106,972,972,'OP_MailGetHeadersReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6107,972,972,'OP_MailGetMessageReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6108,972,972,'OP_MailSendMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6109,972,972,'OP_MailCommitSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6110,972,972,'OP_MailSendSystemMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6111,972,972,'OP_MailRemoveAttachFromMailMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6112,972,972,'OP_WaypointRequestMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6113,972,972,'OP_WaypointReplyMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6114,972,972,'OP_WaypointSelectMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6115,972,972,'OP_WaypointUpdateMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6116,972,972,'OP_CharNameChangedMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6117,972,972,'OP_ShowZoneTeleporterDestinations',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6118,972,972,'OP_SelectZoneTeleporterDestinatio',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6119,972,972,'OP_ReloadLocalizedTxtMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6120,972,972,'OP_RequestGuildMembershipMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6121,972,972,'OP_GuildMembershipResponseMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6122,972,972,'OP_LeaveGuildNotifyMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6123,972,972,'OP_JoinGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6124,972,972,'OP_AvatarUpdateMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6125,972,972,'OP_BioUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6126,972,972,'OP_InspectPlayerMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6127,972,972,'OP_WSServerLockMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6128,972,972,'OP_LSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6129,972,972,'OP_WSServerHideMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6130,972,972,'OP_CsCategoryRequestMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6131,972,972,'OP_CsCategoryResponseMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6132,972,972,'OP_KnowledgeWindowSlotMappingMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6133,972,972,'OP_LFGUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6134,972,972,'OP_AFKUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6135,972,972,'OP_AnonUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6136,972,972,'OP_UpdateActivePublicZonesMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6137,972,972,'OP_UnknownNpcMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6138,972,972,'OP_PromoFlagsDetailsMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6139,972,972,'OP_ConsignViewCreateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6140,972,972,'OP_ConsignViewGetPageMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6141,972,972,'OP_ConsignViewReleaseMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6142,972,972,'OP_ConsignRemoveItemsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6143,972,972,'OP_UpdateDebugRadiiMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6144,972,972,'OP_SnoopMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6145,972,972,'OP_ReportMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6146,972,972,'OP_UpdateRaidMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6147,972,972,'OP_ConsignViewSortMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6148,972,972,'OP_TitleUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6149,972,972,'OP_ClientFellMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6150,972,972,'OP_ClientInDeathRegionMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6151,972,972,'OP_CampClientMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6152,972,972,'OP_CSToolAccessResponseMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6153,972,972,'OP_TrackingUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6154,972,972,'OP_BeginTrackingMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6155,972,972,'OP_StopTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6156,972,972,'OP_GetAvatarAccessRequestForCSToo',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6157,972,972,'OP_AdvancementRequestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6158,972,972,'OP_UpdateAvgFrameTimeMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6159,972,972,'OP_MapFogDataInitMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6160,972,972,'OP_MapFogDataUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6161,972,972,'OP_CloseGroupInviteWindowMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6162,972,972,'OP_UpdateGroupMemberDataMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6163,972,972,'OP_WorldPingMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6164,972,972,'OP_MoveLogUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6165,972,972,'OP_OfferQuestMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6166,972,972,'OP_WorldShutdownUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6167,972,972,'OP_DisplayMailScreenMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6168,972,972,'OP_ClientIdleBeginMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6169,972,972,'OP_ClientIdleEndMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6170,972,972,'OP_PurchaseConsignmentLoreCheckRe',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6171,972,972,'OP_NotifyApprenticeStoppedMentori',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6172,972,972,'OP_CorruptedClientMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6173,972,972,'OP_WorldDataChangeMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6174,972,972,'OP_MailEventNotificationMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6175,972,972,'OP_RestartZoneMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6176,972,972,'OP_FlightPathsMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6177,972,972,'OP_CharacterLinkdeadMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6178,972,972,'OP_CharTransferStartRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6179,972,972,'OP_CharTransferStartReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6180,972,972,'OP_CharTransferRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6181,972,972,'OP_CharTransferReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6182,972,972,'OP_CharTransferRollbackRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6183,972,972,'OP_CharTransferCommitRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6184,972,972,'OP_CharTransferRollbackReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6185,972,972,'OP_CharTransferCommitReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6186,972,972,'OP_GetCharacterSerializedRequestM',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6187,972,972,'OP_GetCharacterSerializedReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6188,972,972,'OP_CreateCharFromCBBRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6189,972,972,'OP_CreateCharFromCBBReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6190,972,972,'OP_HousingDataChangedMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6191,972,972,'OP_HousingRestoreMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6192,972,972,'OP_AuctionItem',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6193,972,972,'OP_AuctionItemReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6194,972,972,'OP_AuctionCoin',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6195,972,972,'OP_AuctionCoinReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6196,972,972,'OP_AuctionCharacter',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6197,972,972,'OP_AuctionCharacterReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6198,972,972,'OP_AuctionCommitMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6199,972,972,'OP_AuctionAbortMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6200,972,972,'OP_CharTransferValidateRequestMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6201,972,972,'OP_CharTransferValidateReplyMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6202,972,972,'OP_RaceRestrictionMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6203,972,972,'OP_SetInstanceDisplayNameMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6204,972,972,'OP_GetAuctionAssetIDMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6205,972,972,'OP_GetAuctionAssetIDReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6206,972,972,'OP_ResendWorldChannelsMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6207,972,972,'OP_DisplayExchangeScreenMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6208,972,972,'OP_ArenaGameTypesMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6209,972,972,'OP_AuditAuctionEventMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6210,972,972,'OP_InviteRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6211,972,972,'OP_InviteResponseMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6212,972,972,'OP_InviteTargetResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6213,972,972,'OP_InspectPlayerRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6214,972,972,'OP_DispatchMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6215,972,972,'OP_DisplayEventMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6216,972,972,'OP_PrePossessionMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6217,972,972,'OP_PostPossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6218,972,972,'OP_AdventureList',462,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6219,972,972,'OP_CancelSpellCast',463,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6220,972,972,'OP_AttackAllowed',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6221,972,972,'OP_AttackNotAllowed',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6222,972,972,'OP_DressingRoom',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6223,972,972,'OP_SkillInfoRequest',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6224,972,972,'OP_SkillInfoResponse',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6225,972,972,'OP_MapRequest',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6226,972,972,'OP_EqUnknown',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6227,972,972,'OP_EqHearChatCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6228,972,972,'OP_EqDisplayTextCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6229,972,972,'OP_EqCreateGhostCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6230,972,972,'OP_EqCreateWidgetCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6231,972,972,'OP_EqCreateSignWidgetCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6232,972,972,'OP_EqDestroyGhostCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6233,972,972,'OP_EqUpdateGhostCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6234,972,972,'OP_EqSetControlGhostCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6235,972,972,'OP_EqSetPOVGhostCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6236,972,972,'OP_EqHearCombatCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6237,972,972,'OP_EqHearSpellCastCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6238,972,972,'OP_EqHearSpellInterruptCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6239,972,972,'OP_EqHearSpellFizzleCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6240,972,972,'OP_EqHearConsiderCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6241,972,972,'OP_EqUpdateSubClassesCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6242,972,972,'OP_EqCreateListBoxCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6243,972,972,'OP_EqSetDebugPathPointsCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6244,972,972,'OP_EqCannedEmoteCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6245,972,972,'OP_EqStateCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6246,972,972,'OP_EqPlaySoundCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6247,972,972,'OP_EqPlaySound3DCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6248,972,972,'OP_EqPlayVoiceCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6249,972,972,'OP_EqHearDrowningCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6250,972,972,'OP_EqHearDeathCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6251,972,972,'OP_EqGroupMemberRemovedCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6252,972,972,'OP_EqHearChainEffectCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6253,972,972,'OP_EqReceiveOfferCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6254,972,972,'OP_EqInspectPCResultsCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6255,972,972,'OP_EqDrawablePathGraphCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6256,972,972,'OP_EqDialogOpenCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6257,972,972,'OP_EqDialogCloseCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6258,972,972,'OP_EqFactionUpdateCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6259,972,972,'OP_EqCollectionUpdateCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6260,972,972,'OP_EqCollectionFilterCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6261,972,972,'OP_EqCollectionItemCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6262,972,972,'OP_EqQuestJournalUpdateCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6263,972,972,'OP_EqQuestJournalReplyCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6264,972,972,'OP_EqQuestGroupCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6265,972,972,'OP_EqUpdateMerchantCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6266,972,972,'OP_EqUpdateStoreCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6267,972,972,'OP_EqUpdatePlayerTradeCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6268,972,972,'OP_EqHelpPathCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6269,972,972,'OP_EqHelpPathClearCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6270,972,972,'OP_EqUpdateBankCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6271,972,972,'OP_EqExamineInfoCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6272,972,972,'OP_EqCloseWindowCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6273,972,972,'OP_EqUpdateLootCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6274,972,972,'OP_EqJunctionListCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6275,972,972,'OP_EqShowDeathWindowCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6276,972,972,'OP_EqDisplaySpellFailCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6277,972,972,'OP_EqSpellCastStartCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6278,972,972,'OP_EqSpellCastEndCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6279,972,972,'OP_EqResurrectedCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6280,972,972,'OP_EqChoiceWinCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6281,972,972,'OP_EqSetDefaultVerbCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6282,972,972,'OP_EqInstructionWindowCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6283,972,972,'OP_EqInstructionWindowCloseCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6284,972,972,'OP_EqInstructionWindowGoalCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6285,972,972,'OP_EqInstructionWindowTaskCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6286,972,972,'OP_EqEnableGameEventCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6287,972,972,'OP_EqShowWindowCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6288,972,972,'OP_EqEnableWindowCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6289,972,972,'OP_EqFlashWindowCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6290,972,972,'OP_EqHearPlayFlavorCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6291,972,972,'OP_EqUpdateSignWidgetCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6292,972,972,'OP_EqDebugPVDCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6293,972,972,'OP_EqShowBookCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6294,972,972,'OP_EqQuestionnaireCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6295,972,972,'OP_EqGetProbsCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6296,972,972,'OP_EqHearHealCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6297,972,972,'OP_EqChatChannelUpdateCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6298,972,972,'OP_EqWhoChannelQueryReplyCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6299,972,972,'OP_EqAvailWorldChannelsCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6300,972,972,'OP_EqUpdateTargetCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6301,972,972,'OP_EqConsignmentItemsCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6302,972,972,'OP_EqStartBrokerCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6303,972,972,'OP_EqMapExplorationCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6304,972,972,'OP_EqStoreLogCmd',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6305,972,972,'OP_EqSpellMoveToRangeAndRetryCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6306,972,972,'OP_EqUpdatePlayerMailCmd',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6307,972,972,'OP_EqArenaResultsCmd',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6308,972,972,'OP_EqGuildBankEventActionCmd',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6309,972,972,'OP_EqGuildBankExamineInfoCmd',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6310,972,972,'OP_EqHearSpellNoLandCmd',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6311,972,972,'OP_Lottery',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6312,972,972,'OP_GuildRecruitingMemberInfo',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6313,972,972,'OP_GuildRecruiting',612,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6314,972,972,'OP_GuildRecruitingDetails',613,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6315,972,972,'OP_GuildRecruitingImage',614,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6316,972,972,'OP_PointOfInterest',635,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6317,972,972,'OP_TraitsList',637,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6318,972,972,'OP_RecipeList',646,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6319,972,972,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6320,972,972,'OP_AddClientToGroupMsg',1031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6321,972,972,'OP_AddGroupToGroupMsg',1031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6322,972,972,'OP_GuildKickMsg',1031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6323,972,972,'OP_ProcessScriptMsg',1031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6324,972,972,'OP_ProcessWorkspaceMsg',1031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6325,972,972,'OP_PurchaseConsignmentResponseMsg',1031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6326,972,972,'OP_QuickbarAddMsg',1031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6327,972,972,'OP_SkillSlotMapping',1031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6328,972,972,'OP_Unknown',10035,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6329,972,972,'OP_WSWeatherUpdateMsg',10036,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6330,973,973,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6331,973,973,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6332,973,973,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6333,973,973,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6334,973,973,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6335,973,973,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6336,973,973,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6337,973,973,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6338,973,973,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6339,973,973,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6340,973,973,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6341,973,973,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6342,973,973,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6343,973,973,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6344,973,973,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6345,973,973,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6346,973,973,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6347,973,973,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6348,973,973,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6349,973,973,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6350,973,973,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6351,973,973,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6352,973,973,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6353,973,973,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6354,973,973,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6355,973,973,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6356,973,973,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6357,973,973,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6358,973,973,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6359,973,973,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6360,973,973,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6361,973,973,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6362,973,973,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6363,973,973,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6364,973,973,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6365,973,973,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6366,973,973,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6367,973,973,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6368,973,973,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6369,973,973,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6370,973,973,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6371,973,973,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6372,973,973,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6373,973,973,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6374,973,973,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6375,973,973,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6376,973,973,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6377,973,973,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6378,973,973,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6379,973,973,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6380,973,973,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6381,973,973,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6382,973,973,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6383,973,973,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6384,973,973,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6385,973,973,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6386,973,973,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6387,973,973,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6388,973,973,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6389,973,973,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6390,973,973,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6391,973,973,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6392,973,973,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6393,973,973,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6394,973,973,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6395,973,973,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6396,973,973,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6397,973,973,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6398,973,973,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6399,973,973,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6400,973,973,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6401,973,973,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6402,973,973,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6403,973,973,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6404,973,973,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6405,973,973,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6406,973,973,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6407,973,973,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6408,973,973,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6409,973,973,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6410,973,973,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6411,973,973,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6412,973,973,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6413,973,973,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6414,973,973,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6415,973,973,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6416,973,973,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6417,973,973,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6418,973,973,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6419,973,973,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6420,973,973,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6421,973,973,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6422,973,973,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6423,973,973,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6424,973,973,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6425,973,973,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6426,973,973,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6427,973,973,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6428,973,973,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6429,973,973,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6430,973,973,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6431,973,973,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6432,973,973,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6433,973,973,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6434,973,973,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6435,973,973,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6436,973,973,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6437,973,973,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6438,973,973,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6439,973,973,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6440,973,973,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6441,973,973,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6442,973,973,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6443,973,973,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6444,973,973,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6445,973,973,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6446,973,973,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6447,973,973,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6448,973,973,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6449,973,973,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6450,973,973,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6451,973,973,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6452,973,973,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6453,973,973,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6454,973,973,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6455,973,973,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6456,973,973,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6457,973,973,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6458,973,973,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6459,973,973,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6460,973,973,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6461,973,973,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6462,973,973,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6463,973,973,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6464,973,973,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6465,973,973,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6466,973,973,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6467,973,973,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6468,973,973,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6469,973,973,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6470,973,973,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6471,973,973,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6472,973,973,'OP_UIResetMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6473,973,973,'OP_KeymapLoadMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6474,973,973,'OP_KeymapNoneMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6475,973,973,'OP_KeymapDataMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6476,973,973,'OP_KeymapSaveMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6477,973,973,'OP_DispatchSpellCmdMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6478,973,973,'OP_EntityVerbsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6479,973,973,'OP_EntityVerbsReplyMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6480,973,973,'OP_EntityVerbsVerbMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6481,973,973,'OP_ChatRelationshipUpdateMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6482,973,973,'OP_LootItemsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6483,973,973,'OP_StoppedLootingMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6484,973,973,'OP_SitMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6485,973,973,'OP_StandMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6486,973,973,'OP_SatMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6487,973,973,'OP_StoodMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6488,973,973,'OP_ClearForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6489,973,973,'OP_ReadyForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6490,973,973,'OP_ShowIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6491,973,973,'OP_HideIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6492,973,973,'OP_ExamineItemRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6493,973,973,'OP_ReadBookPageMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6494,973,973,'OP_DefaultGroupOptionsRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6495,973,973,'OP_DefaultGroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6496,973,973,'OP_GroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6497,973,973,'OP_DisplayGroupOptionsScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6498,973,973,'OP_DisplayInnVisitScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6499,973,973,'OP_DumpSchedulerMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6500,973,973,'OP_LSRequestPlayerDescMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6501,973,973,'OP_LSCheckAcctLockMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6502,973,973,'OP_WSAcctLockStatusMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6503,973,973,'OP_RequestHelpRepathMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6504,973,973,'OP_RequestTargetLocMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6505,973,973,'OP_UpdateMotdMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6506,973,973,'OP_PerformPlayerKnockbackMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6507,973,973,'OP_PerformCameraShakeMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6508,973,973,'OP_PopulateSkillMapsMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6509,973,973,'OP_CancelledFeignMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6510,973,973,'OP_SignalMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6511,973,973,'OP_ShowCreateFromRecipeUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6512,973,973,'OP_CancelCreateFromRecipeMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6513,973,973,'OP_BeginItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6514,973,973,'OP_StopItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6515,973,973,'OP_ShowItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6516,973,973,'OP_UpdateItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6517,973,973,'OP_DisplayTSEventReactionMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6518,973,973,'OP_ShowRecipeBookMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6519,973,973,'OP_KnowledgebaseRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6520,973,973,'OP_KnowledgebaseResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6521,973,973,'OP_CSTicketHeaderRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6522,973,973,'OP_CSTicketInfoMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6523,973,973,'OP_CSTicketCommentRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6524,973,973,'OP_CSTicketCommentResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6525,973,973,'OP_CSTicketCreateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6526,973,973,'OP_CSTicketAddCommentMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6527,973,973,'OP_CSTicketDeleteMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6528,973,973,'OP_CSTicketChangeNotificationMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6529,973,973,'OP_WorldDataUpdateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6530,973,973,'OP_KnownLanguagesMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6531,973,973,'OP_LsRequestClientCrashLogMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6532,973,973,'OP_LsClientBaselogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6533,973,973,'OP_LsClientCrashlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6534,973,973,'OP_LsClientAlertlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6535,973,973,'OP_LsClientVerifylogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6536,973,973,'OP_ClientTeleportToLocationMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6537,973,973,'OP_UpdateClientPredFlagsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6538,973,973,'OP_ChangeServerControlFlagMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6539,973,973,'OP_CSToolsRequestMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6540,973,973,'OP_CSToolsResponseMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6541,973,973,'OP_AddSocialStructureStandingMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6542,973,973,'OP_CreateBoatTransportsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6543,973,973,'OP_PositionBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6544,973,973,'OP_MigrateBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6545,973,973,'OP_MigrateBoatTransportReplyMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6546,973,973,'OP_DisplayDebugNLLPointsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6547,973,973,'OP_ExamineInfoRequestMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6548,973,973,'OP_QuickbarInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6549,973,973,'OP_QuickbarUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6550,973,973,'OP_MacroInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6551,973,973,'OP_MacroUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6552,973,973,'OP_QuestionnaireMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6553,973,973,'OP_LevelChangedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6554,973,973,'OP_SpellGainedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6555,973,973,'OP_EncounterBrokenMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6556,973,973,'OP_OnscreenMsgMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6557,973,973,'OP_DisplayWarningMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6558,973,973,'OP_ModifyGuildMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6559,973,973,'OP_GuildEventMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6560,973,973,'OP_GuildEventAddMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6561,973,973,'OP_GuildEventActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6562,973,973,'OP_GuildEventListMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6563,973,973,'OP_RequestGuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6564,973,973,'OP_GuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6565,973,973,'OP_RequestGuildInfoMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6566,973,973,'OP_GuildBankActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6567,973,973,'OP_GuildBankActionResponseMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6568,973,973,'OP_GuildBankItemDetailsRequestMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6569,973,973,'OP_GuildBankItemDetailsResponseMs',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6570,973,973,'OP_GuildBankUpdateMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6571,973,973,'OP_GuildBankEventListMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6572,973,973,'OP_RequestGuildBankEventDetailsMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6573,973,973,'OP_RewardPackMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6574,973,973,'OP_RenameGuildMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6575,973,973,'OP_ZoneToFriendRequestMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6576,973,973,'OP_ZoneToFriendReplyMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6577,973,973,'OP_ChatCreateChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6578,973,973,'OP_ChatJoinChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6579,973,973,'OP_ChatWhoChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6580,973,973,'OP_ChatLeaveChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6581,973,973,'OP_ChatTellChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6582,973,973,'OP_ChatTellUserMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6583,973,973,'OP_ChatToggleFriendMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6584,973,973,'OP_ChatToggleIgnoreMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6585,973,973,'OP_ChatSendFriendsMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6586,973,973,'OP_ChatSendIgnoresMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6587,973,973,'OP_QuestReward',302,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6588,973,973,'OP_ChatFiltersMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6589,973,973,'OP_MailGetHeadersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6590,973,973,'OP_MailGetMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6591,973,973,'OP_MailSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6592,973,973,'OP_MailDeleteMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6593,973,973,'OP_MailGetHeadersReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6594,973,973,'OP_MailGetMessageReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6595,973,973,'OP_MailSendMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6596,973,973,'OP_MailCommitSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6597,973,973,'OP_MailSendSystemMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6598,973,973,'OP_MailRemoveAttachFromMailMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6599,973,973,'OP_WaypointRequestMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6600,973,973,'OP_WaypointReplyMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6601,973,973,'OP_WaypointSelectMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6602,973,973,'OP_WaypointUpdateMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6603,973,973,'OP_CharNameChangedMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6604,973,973,'OP_ShowZoneTeleporterDestinations',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6605,973,973,'OP_SelectZoneTeleporterDestinatio',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6606,973,973,'OP_ReloadLocalizedTxtMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6607,973,973,'OP_RequestGuildMembershipMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6608,973,973,'OP_GuildMembershipResponseMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6609,973,973,'OP_LeaveGuildNotifyMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6610,973,973,'OP_JoinGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6611,973,973,'OP_AvatarUpdateMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6612,973,973,'OP_BioUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6613,973,973,'OP_InspectPlayerMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6614,973,973,'OP_WSServerLockMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6615,973,973,'OP_LSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6616,973,973,'OP_WSServerHideMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6617,973,973,'OP_CsCategoryRequestMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6618,973,973,'OP_CsCategoryResponseMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6619,973,973,'OP_KnowledgeWindowSlotMappingMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6620,973,973,'OP_LFGUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6621,973,973,'OP_AFKUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6622,973,973,'OP_AnonUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6623,973,973,'OP_UpdateActivePublicZonesMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6624,973,973,'OP_UnknownNpcMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6625,973,973,'OP_PromoFlagsDetailsMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6626,973,973,'OP_ConsignViewCreateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6627,973,973,'OP_ConsignViewGetPageMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6628,973,973,'OP_ConsignViewReleaseMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6629,973,973,'OP_ConsignRemoveItemsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6630,973,973,'OP_UpdateDebugRadiiMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6631,973,973,'OP_SnoopMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6632,973,973,'OP_ReportMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6633,973,973,'OP_UpdateRaidMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6634,973,973,'OP_ConsignViewSortMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6635,973,973,'OP_TitleUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6636,973,973,'OP_ClientFellMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6637,973,973,'OP_ClientInDeathRegionMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6638,973,973,'OP_CampClientMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6639,973,973,'OP_CSToolAccessResponseMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6640,973,973,'OP_TrackingUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6641,973,973,'OP_BeginTrackingMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6642,973,973,'OP_StopTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6643,973,973,'OP_GetAvatarAccessRequestForCSToo',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6644,973,973,'OP_AdvancementRequestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6645,973,973,'OP_UpdateAvgFrameTimeMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6646,973,973,'OP_MapFogDataInitMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6647,973,973,'OP_MapFogDataUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6648,973,973,'OP_CloseGroupInviteWindowMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6649,973,973,'OP_UpdateGroupMemberDataMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6650,973,973,'OP_WorldPingMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6651,973,973,'OP_MoveLogUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6652,973,973,'OP_OfferQuestMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6653,973,973,'OP_WorldShutdownUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6654,973,973,'OP_DisplayMailScreenMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6655,973,973,'OP_ClientIdleBeginMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6656,973,973,'OP_ClientIdleEndMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6657,973,973,'OP_PurchaseConsignmentLoreCheckRe',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6658,973,973,'OP_NotifyApprenticeStoppedMentori',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6659,973,973,'OP_CorruptedClientMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6660,973,973,'OP_WorldDataChangeMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6661,973,973,'OP_MailEventNotificationMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6662,973,973,'OP_RestartZoneMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6663,973,973,'OP_FlightPathsMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6664,973,973,'OP_CharacterLinkdeadMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6665,973,973,'OP_CharTransferStartRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6666,973,973,'OP_CharTransferStartReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6667,973,973,'OP_CharTransferRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6668,973,973,'OP_CharTransferReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6669,973,973,'OP_CharTransferRollbackRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6670,973,973,'OP_CharTransferCommitRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6671,973,973,'OP_CharTransferRollbackReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6672,973,973,'OP_CharTransferCommitReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6673,973,973,'OP_GetCharacterSerializedRequestM',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6674,973,973,'OP_GetCharacterSerializedReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6675,973,973,'OP_CreateCharFromCBBRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6676,973,973,'OP_CreateCharFromCBBReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6677,973,973,'OP_HousingDataChangedMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6678,973,973,'OP_HousingRestoreMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6679,973,973,'OP_AuctionItem',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6680,973,973,'OP_AuctionItemReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6681,973,973,'OP_AuctionCoin',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6682,973,973,'OP_AuctionCoinReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6683,973,973,'OP_AuctionCharacter',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6684,973,973,'OP_AuctionCharacterReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6685,973,973,'OP_AuctionCommitMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6686,973,973,'OP_AuctionAbortMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6687,973,973,'OP_CharTransferValidateRequestMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6688,973,973,'OP_CharTransferValidateReplyMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6689,973,973,'OP_RaceRestrictionMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6690,973,973,'OP_SetInstanceDisplayNameMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6691,973,973,'OP_GetAuctionAssetIDMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6692,973,973,'OP_GetAuctionAssetIDReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6693,973,973,'OP_ResendWorldChannelsMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6694,973,973,'OP_DisplayExchangeScreenMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6695,973,973,'OP_ArenaGameTypesMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6696,973,973,'OP_AuditAuctionEventMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6697,973,973,'OP_InviteRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6698,973,973,'OP_InviteResponseMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6699,973,973,'OP_InviteTargetResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6700,973,973,'OP_InspectPlayerRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6701,973,973,'OP_DispatchMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6702,973,973,'OP_DisplayEventMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6703,973,973,'OP_PrePossessionMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6704,973,973,'OP_PostPossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6705,973,973,'OP_AdventureList',462,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6706,973,973,'OP_CancelSpellCast',463,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6707,973,973,'OP_AttackAllowed',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6708,973,973,'OP_AttackNotAllowed',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6709,973,973,'OP_DressingRoom',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6710,973,973,'OP_SkillInfoRequest',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6711,973,973,'OP_SkillInfoResponse',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6712,973,973,'OP_MapRequest',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6713,973,973,'OP_EqUnknown',510,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6714,973,973,'OP_EqHearChatCmd',511,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6715,973,973,'OP_EqDisplayTextCmd',512,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6716,973,973,'OP_EqCreateGhostCmd',513,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6717,973,973,'OP_EqCreateWidgetCmd',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6718,973,973,'OP_EqCreateSignWidgetCmd',515,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6719,973,973,'OP_EqDestroyGhostCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6720,973,973,'OP_EqUpdateGhostCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6721,973,973,'OP_EqSetControlGhostCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6722,973,973,'OP_EqSetPOVGhostCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6723,973,973,'OP_EqHearCombatCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6724,973,973,'OP_EqHearSpellCastCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6725,973,973,'OP_EqHearSpellInterruptCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6726,973,973,'OP_EqHearSpellFizzleCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6727,973,973,'OP_EqHearConsiderCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6728,973,973,'OP_EqUpdateSubClassesCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6729,973,973,'OP_EqCreateListBoxCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6730,973,973,'OP_EqSetDebugPathPointsCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6731,973,973,'OP_EqCannedEmoteCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6732,973,973,'OP_EqStateCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6733,973,973,'OP_EqPlaySoundCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6734,973,973,'OP_EqPlaySound3DCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6735,973,973,'OP_EqPlayVoiceCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6736,973,973,'OP_EqHearDrowningCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6737,973,973,'OP_EqHearDeathCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6738,973,973,'OP_EqGroupMemberRemovedCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6739,973,973,'OP_EqHearChainEffectCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6740,973,973,'OP_EqReceiveOfferCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6741,973,973,'OP_EqInspectPCResultsCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6742,973,973,'OP_EqDrawablePathGraphCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6743,973,973,'OP_EqDialogOpenCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6744,973,973,'OP_EqDialogCloseCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6745,973,973,'OP_EqFactionUpdateCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6746,973,973,'OP_EqCollectionUpdateCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6747,973,973,'OP_EqCollectionFilterCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6748,973,973,'OP_EqCollectionItemCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6749,973,973,'OP_EqQuestJournalUpdateCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6750,973,973,'OP_EqQuestJournalReplyCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6751,973,973,'OP_EqQuestGroupCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6752,973,973,'OP_EqUpdateMerchantCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6753,973,973,'OP_EqUpdateStoreCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6754,973,973,'OP_EqUpdatePlayerTradeCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6755,973,973,'OP_EqHelpPathCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6756,973,973,'OP_EqHelpPathClearCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6757,973,973,'OP_EqUpdateBankCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6758,973,973,'OP_EqExamineInfoCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6759,973,973,'OP_EqCloseWindowCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6760,973,973,'OP_EqUpdateLootCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6761,973,973,'OP_EqJunctionListCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6762,973,973,'OP_EqShowDeathWindowCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6763,973,973,'OP_EqDisplaySpellFailCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6764,973,973,'OP_EqSpellCastStartCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6765,973,973,'OP_EqSpellCastEndCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6766,973,973,'OP_EqResurrectedCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6767,973,973,'OP_EqChoiceWinCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6768,973,973,'OP_EqSetDefaultVerbCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6769,973,973,'OP_EqInstructionWindowCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6770,973,973,'OP_EqInstructionWindowCloseCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6771,973,973,'OP_EqInstructionWindowGoalCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6772,973,973,'OP_EqInstructionWindowTaskCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6773,973,973,'OP_EqEnableGameEventCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6774,973,973,'OP_EqShowWindowCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6775,973,973,'OP_EqEnableWindowCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6776,973,973,'OP_EqFlashWindowCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6777,973,973,'OP_EqHearPlayFlavorCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6778,973,973,'OP_EqUpdateSignWidgetCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6779,973,973,'OP_EqDebugPVDCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6780,973,973,'OP_EqShowBookCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6781,973,973,'OP_EqQuestionnaireCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6782,973,973,'OP_EqGetProbsCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6783,973,973,'OP_EqHearHealCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6784,973,973,'OP_EqChatChannelUpdateCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6785,973,973,'OP_EqWhoChannelQueryReplyCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6786,973,973,'OP_EqAvailWorldChannelsCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6787,973,973,'OP_EqUpdateTargetCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6788,973,973,'OP_EqConsignmentItemsCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6789,973,973,'OP_EqStartBrokerCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6790,973,973,'OP_EqMapExplorationCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6791,973,973,'OP_EqStoreLogCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6792,973,973,'OP_EqSpellMoveToRangeAndRetryCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6793,973,973,'OP_EqUpdatePlayerMailCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6794,973,973,'OP_EqArenaResultsCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6795,973,973,'OP_EqGuildBankEventActionCmd',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6796,973,973,'OP_EqGuildBankExamineInfoCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6797,973,973,'OP_EqHearSpellNoLandCmd',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6798,973,973,'OP_Lottery',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6799,973,973,'OP_GuildRecruitingMemberInfo',607,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6800,973,973,'OP_GuildRecruiting',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6801,973,973,'OP_GuildRecruitingDetails',609,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6802,973,973,'OP_GuildRecruitingImage',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6803,973,973,'OP_PointOfInterest',631,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6804,973,973,'OP_TraitsList',633,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6805,973,973,'OP_RecipeList',642,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6806,973,973,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6807,973,973,'OP_AddClientToGroupMsg',1027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6808,973,973,'OP_AddGroupToGroupMsg',1027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6809,973,973,'OP_GuildKickMsg',1027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6810,973,973,'OP_ProcessScriptMsg',1027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6811,973,973,'OP_ProcessWorkspaceMsg',1027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6812,973,973,'OP_PurchaseConsignmentResponseMsg',1027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6813,973,973,'OP_QuickbarAddMsg',1027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6814,973,973,'OP_SkillSlotMapping',1027,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6815,973,973,'OP_Unknown',10031,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6816,973,973,'OP_WSWeatherUpdateMsg',10032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6817,987,987,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6818,987,987,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6819,987,987,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6820,987,987,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6821,987,987,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6822,987,987,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6823,987,987,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6824,987,987,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6825,987,987,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6826,987,987,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6827,987,987,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6828,987,987,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6829,987,987,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6830,987,987,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6831,987,987,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6832,987,987,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6833,987,987,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6834,987,987,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6835,987,987,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6836,987,987,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6837,987,987,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6838,987,987,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6839,987,987,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6840,987,987,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6841,987,987,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6842,987,987,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6843,987,987,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6844,987,987,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6845,987,987,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6846,987,987,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6847,987,987,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6848,987,987,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6849,987,987,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6850,987,987,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6851,987,987,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6852,987,987,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6853,987,987,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6854,987,987,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6855,987,987,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6856,987,987,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6857,987,987,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6858,987,987,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6859,987,987,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6860,987,987,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6861,987,987,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6862,987,987,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6863,987,987,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6864,987,987,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6865,987,987,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6866,987,987,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6867,987,987,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6868,987,987,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6869,987,987,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6870,987,987,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6871,987,987,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6872,987,987,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6873,987,987,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6874,987,987,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6875,987,987,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6876,987,987,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6877,987,987,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6878,987,987,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6879,987,987,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6880,987,987,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6881,987,987,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6882,987,987,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6883,987,987,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6884,987,987,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6885,987,987,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6886,987,987,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6887,987,987,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6888,987,987,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6889,987,987,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6890,987,987,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6891,987,987,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6892,987,987,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6893,987,987,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6894,987,987,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6895,987,987,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6896,987,987,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6897,987,987,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6898,987,987,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6899,987,987,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6900,987,987,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6901,987,987,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6902,987,987,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6903,987,987,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6904,987,987,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6905,987,987,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6906,987,987,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6907,987,987,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6908,987,987,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6909,987,987,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6910,987,987,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6911,987,987,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6912,987,987,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6913,987,987,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6914,987,987,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6915,987,987,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6916,987,987,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6917,987,987,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6918,987,987,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6919,987,987,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6920,987,987,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6921,987,987,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6922,987,987,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6923,987,987,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6924,987,987,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6925,987,987,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6926,987,987,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6927,987,987,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6928,987,987,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6929,987,987,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6930,987,987,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6931,987,987,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6932,987,987,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6933,987,987,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6934,987,987,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6935,987,987,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6936,987,987,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6937,987,987,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6938,987,987,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6939,987,987,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6940,987,987,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6941,987,987,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6942,987,987,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6943,987,987,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6944,987,987,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6945,987,987,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6946,987,987,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6947,987,987,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6948,987,987,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6949,987,987,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6950,987,987,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6951,987,987,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6952,987,987,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6953,987,987,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6954,987,987,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6955,987,987,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6956,987,987,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6957,987,987,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6958,987,987,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6959,987,987,'OP_UIResetMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6960,987,987,'OP_KeymapLoadMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6961,987,987,'OP_KeymapNoneMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6962,987,987,'OP_KeymapDataMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6963,987,987,'OP_KeymapSaveMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6964,987,987,'OP_DispatchSpellCmdMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6965,987,987,'OP_EntityVerbsRequestMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6966,987,987,'OP_EntityVerbsReplyMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6967,987,987,'OP_EntityVerbsVerbMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6968,987,987,'OP_ChatRelationshipUpdateMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6969,987,987,'OP_LootItemsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6970,987,987,'OP_StoppedLootingMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6971,987,987,'OP_SitMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6972,987,987,'OP_StandMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6973,987,987,'OP_SatMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6974,987,987,'OP_StoodMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6975,987,987,'OP_ClearForTakeOffMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6976,987,987,'OP_ReadyForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6977,987,987,'OP_ShowIllusionsMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6978,987,987,'OP_HideIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6979,987,987,'OP_ExamineItemRequestMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6980,987,987,'OP_ReadBookPageMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6981,987,987,'OP_DefaultGroupOptionsRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6982,987,987,'OP_DefaultGroupOptionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6983,987,987,'OP_GroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6984,987,987,'OP_DisplayGroupOptionsScreenMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6985,987,987,'OP_DisplayInnVisitScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6986,987,987,'OP_DumpSchedulerMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6987,987,987,'OP_LSRequestPlayerDescMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6988,987,987,'OP_LSCheckAcctLockMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6989,987,987,'OP_WSAcctLockStatusMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6990,987,987,'OP_RequestHelpRepathMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6991,987,987,'OP_RequestTargetLocMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6992,987,987,'OP_UpdateMotdMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6993,987,987,'OP_PerformPlayerKnockbackMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6994,987,987,'OP_PerformCameraShakeMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6995,987,987,'OP_PopulateSkillMapsMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6996,987,987,'OP_CancelledFeignMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6997,987,987,'OP_SignalMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6998,987,987,'OP_ShowCreateFromRecipeUIMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (6999,987,987,'OP_CancelCreateFromRecipeMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7000,987,987,'OP_BeginItemCreationMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7001,987,987,'OP_StopItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7002,987,987,'OP_ShowItemCreationProcessUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7003,987,987,'OP_UpdateItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7004,987,987,'OP_DisplayTSEventReactionMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7005,987,987,'OP_ShowRecipeBookMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7006,987,987,'OP_KnowledgebaseRequestMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7007,987,987,'OP_KnowledgebaseResponseMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7008,987,987,'OP_CSTicketHeaderRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7009,987,987,'OP_CSTicketInfoMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7010,987,987,'OP_CSTicketCommentRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7011,987,987,'OP_CSTicketCommentResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7012,987,987,'OP_CSTicketCreateMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7013,987,987,'OP_CSTicketAddCommentMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7014,987,987,'OP_CSTicketDeleteMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7015,987,987,'OP_CSTicketChangeNotificationMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7016,987,987,'OP_WorldDataUpdateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7017,987,987,'OP_KnownLanguagesMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7018,987,987,'OP_LsRequestClientCrashLogMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7019,987,987,'OP_LsClientBaselogReplyMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7020,987,987,'OP_LsClientCrashlogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7021,987,987,'OP_LsClientAlertlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7022,987,987,'OP_LsClientVerifylogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7023,987,987,'OP_ClientTeleportToLocationMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7024,987,987,'OP_UpdateClientPredFlagsMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7025,987,987,'OP_ChangeServerControlFlagMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7026,987,987,'OP_CSToolsRequestMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7027,987,987,'OP_CSToolsResponseMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7028,987,987,'OP_AddSocialStructureStandingMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7029,987,987,'OP_CreateBoatTransportsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7030,987,987,'OP_PositionBoatTransportMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7031,987,987,'OP_MigrateBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7032,987,987,'OP_MigrateBoatTransportReplyMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7033,987,987,'OP_DisplayDebugNLLPointsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7034,987,987,'OP_ExamineInfoRequestMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7035,987,987,'OP_QuickbarInitMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7036,987,987,'OP_QuickbarUpdateMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7037,987,987,'OP_MacroInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7038,987,987,'OP_MacroUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7039,987,987,'OP_QuestionnaireMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7040,987,987,'OP_LevelChangedMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7041,987,987,'OP_SpellGainedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7042,987,987,'OP_EncounterBrokenMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7043,987,987,'OP_OnscreenMsgMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7044,987,987,'OP_DisplayWarningMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7045,987,987,'OP_ModifyGuildMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7046,987,987,'OP_GuildEventMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7047,987,987,'OP_GuildEventAddMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7048,987,987,'OP_GuildEventActionMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7049,987,987,'OP_GuildEventListMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7050,987,987,'OP_RequestGuildEventDetailsMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7051,987,987,'OP_GuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7052,987,987,'OP_RequestGuildInfoMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7053,987,987,'OP_GuildBankActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7054,987,987,'OP_GuildBankActionResponseMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7055,987,987,'OP_GuildBankItemDetailsRequestMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7056,987,987,'OP_GuildBankItemDetailsResponseMs',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7057,987,987,'OP_GuildBankUpdateMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7058,987,987,'OP_GuildBankEventListMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7059,987,987,'OP_RequestGuildBankEventDetailsMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7060,987,987,'OP_RewardPackMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7061,987,987,'OP_RenameGuildMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7062,987,987,'OP_ZoneToFriendRequestMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7063,987,987,'OP_ZoneToFriendReplyMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7064,987,987,'OP_ChatCreateChannelMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7065,987,987,'OP_ChatJoinChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7066,987,987,'OP_ChatWhoChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7067,987,987,'OP_ChatLeaveChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7068,987,987,'OP_ChatTellChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7069,987,987,'OP_ChatTellUserMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7070,987,987,'OP_ChatToggleFriendMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7071,987,987,'OP_ChatToggleIgnoreMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7072,987,987,'OP_ChatSendFriendsMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7073,987,987,'OP_ChatSendIgnoresMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7074,987,987,'OP_QuestReward',302,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7075,987,987,'OP_ChatFiltersMsg',317,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7076,987,987,'OP_MailGetHeadersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7077,987,987,'OP_MailGetMessageMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7078,987,987,'OP_MailSendMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7079,987,987,'OP_MailDeleteMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7080,987,987,'OP_MailGetHeadersReplyMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7081,987,987,'OP_MailGetMessageReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7082,987,987,'OP_MailSendMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7083,987,987,'OP_MailCommitSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7084,987,987,'OP_MailSendSystemMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7085,987,987,'OP_MailRemoveAttachFromMailMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7086,987,987,'OP_WaypointRequestMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7087,987,987,'OP_WaypointReplyMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7088,987,987,'OP_WaypointSelectMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7089,987,987,'OP_WaypointUpdateMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7090,987,987,'OP_CharNameChangedMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7091,987,987,'OP_ShowZoneTeleporterDestinations',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7092,987,987,'OP_SelectZoneTeleporterDestinatio',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7093,987,987,'OP_ReloadLocalizedTxtMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7094,987,987,'OP_RequestGuildMembershipMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7095,987,987,'OP_GuildMembershipResponseMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7096,987,987,'OP_LeaveGuildNotifyMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7097,987,987,'OP_JoinGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7098,987,987,'OP_AvatarUpdateMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7099,987,987,'OP_BioUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7100,987,987,'OP_InspectPlayerMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7101,987,987,'OP_WSServerLockMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7102,987,987,'OP_LSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7103,987,987,'OP_WSServerHideMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7104,987,987,'OP_CsCategoryRequestMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7105,987,987,'OP_CsCategoryResponseMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7106,987,987,'OP_KnowledgeWindowSlotMappingMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7107,987,987,'OP_LFGUpdateMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7108,987,987,'OP_AFKUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7109,987,987,'OP_AnonUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7110,987,987,'OP_UpdateActivePublicZonesMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7111,987,987,'OP_UnknownNpcMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7112,987,987,'OP_PromoFlagsDetailsMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7113,987,987,'OP_ConsignViewCreateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7114,987,987,'OP_ConsignViewGetPageMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7115,987,987,'OP_ConsignViewReleaseMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7116,987,987,'OP_ConsignRemoveItemsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7117,987,987,'OP_UpdateDebugRadiiMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7118,987,987,'OP_SnoopMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7119,987,987,'OP_ReportMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7120,987,987,'OP_UpdateRaidMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7121,987,987,'OP_ConsignViewSortMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7122,987,987,'OP_TitleUpdateMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7123,987,987,'OP_ClientFellMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7124,987,987,'OP_ClientInDeathRegionMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7125,987,987,'OP_CampClientMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7126,987,987,'OP_CSToolAccessResponseMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7127,987,987,'OP_TrackingUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7128,987,987,'OP_BeginTrackingMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7129,987,987,'OP_StopTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7130,987,987,'OP_GetAvatarAccessRequestForCSToo',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7131,987,987,'OP_AdvancementRequestMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7132,987,987,'OP_UpdateAvgFrameTimeMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7133,987,987,'OP_MapFogDataInitMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7134,987,987,'OP_MapFogDataUpdateMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7135,987,987,'OP_CloseGroupInviteWindowMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7136,987,987,'OP_UpdateGroupMemberDataMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7137,987,987,'OP_WorldPingMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7138,987,987,'OP_MoveLogUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7139,987,987,'OP_OfferQuestMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7140,987,987,'OP_WorldShutdownUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7141,987,987,'OP_DisplayMailScreenMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7142,987,987,'OP_ClientIdleBeginMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7143,987,987,'OP_ClientIdleEndMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7144,987,987,'OP_PurchaseConsignmentLoreCheckRe',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7145,987,987,'OP_NotifyApprenticeStoppedMentori',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7146,987,987,'OP_CorruptedClientMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7147,987,987,'OP_WorldDataChangeMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7148,987,987,'OP_MailEventNotificationMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7149,987,987,'OP_RestartZoneMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7150,987,987,'OP_FlightPathsMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7151,987,987,'OP_CharacterLinkdeadMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7152,987,987,'OP_CharTransferStartRequestMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7153,987,987,'OP_CharTransferStartReplyMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7154,987,987,'OP_CharTransferRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7155,987,987,'OP_CharTransferReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7156,987,987,'OP_CharTransferRollbackRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7157,987,987,'OP_CharTransferCommitRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7158,987,987,'OP_CharTransferRollbackReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7159,987,987,'OP_CharTransferCommitReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7160,987,987,'OP_GetCharacterSerializedRequestM',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7161,987,987,'OP_GetCharacterSerializedReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7162,987,987,'OP_CreateCharFromCBBRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7163,987,987,'OP_CreateCharFromCBBReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7164,987,987,'OP_HousingDataChangedMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7165,987,987,'OP_HousingRestoreMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7166,987,987,'OP_AuctionItem',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7167,987,987,'OP_AuctionItemReply',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7168,987,987,'OP_AuctionCoin',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7169,987,987,'OP_AuctionCoinReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7170,987,987,'OP_AuctionCharacter',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7171,987,987,'OP_AuctionCharacterReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7172,987,987,'OP_AuctionCommitMsg',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7173,987,987,'OP_AuctionAbortMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7174,987,987,'OP_CharTransferValidateRequestMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7175,987,987,'OP_CharTransferValidateReplyMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7176,987,987,'OP_RaceRestrictionMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7177,987,987,'OP_SetInstanceDisplayNameMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7178,987,987,'OP_GetAuctionAssetIDMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7179,987,987,'OP_GetAuctionAssetIDReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7180,987,987,'OP_ResendWorldChannelsMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7181,987,987,'OP_DisplayExchangeScreenMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7182,987,987,'OP_ArenaGameTypesMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7183,987,987,'OP_AuditAuctionEventMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7184,987,987,'OP_InviteRequestMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7185,987,987,'OP_InviteResponseMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7186,987,987,'OP_InviteTargetResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7187,987,987,'OP_InspectPlayerRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7188,987,987,'OP_DispatchMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7189,987,987,'OP_DisplayEventMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7190,987,987,'OP_PrePossessionMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7191,987,987,'OP_PostPossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7192,987,987,'OP_AdventureList',462,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7193,987,987,'OP_CancelSpellCast',463,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7194,987,987,'OP_AttackAllowed',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7195,987,987,'OP_AttackNotAllowed',476,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7196,987,987,'OP_DressingRoom',483,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7197,987,987,'OP_SkillInfoRequest',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7198,987,987,'OP_SkillInfoResponse',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7199,987,987,'OP_MapRequest',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7200,987,987,'OP_EqUnknown',514,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7201,987,987,'OP_EqHearChatCmd',516,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7202,987,987,'OP_EqDisplayTextCmd',517,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7203,987,987,'OP_EqCreateGhostCmd',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7204,987,987,'OP_EqCreateWidgetCmd',519,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7205,987,987,'OP_EqCreateSignWidgetCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7206,987,987,'OP_EqDestroyGhostCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7207,987,987,'OP_EqUpdateGhostCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7208,987,987,'OP_EqSetControlGhostCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7209,987,987,'OP_EqSetPOVGhostCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7210,987,987,'OP_EqHearCombatCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7211,987,987,'OP_EqHearSpellCastCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7212,987,987,'OP_EqHearSpellInterruptCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7213,987,987,'OP_EqHearSpellFizzleCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7214,987,987,'OP_EqHearConsiderCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7215,987,987,'OP_EqUpdateSubClassesCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7216,987,987,'OP_EqCreateListBoxCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7217,987,987,'OP_EqSetDebugPathPointsCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7218,987,987,'OP_EqCannedEmoteCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7219,987,987,'OP_EqStateCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7220,987,987,'OP_EqPlaySoundCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7221,987,987,'OP_EqPlaySound3DCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7222,987,987,'OP_EqPlayVoiceCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7223,987,987,'OP_EqHearDrowningCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7224,987,987,'OP_EqHearDeathCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7225,987,987,'OP_EqGroupMemberRemovedCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7226,987,987,'OP_EqHearChainEffectCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7227,987,987,'OP_EqReceiveOfferCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7228,987,987,'OP_EqInspectPCResultsCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7229,987,987,'OP_EqDrawablePathGraphCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7230,987,987,'OP_EqDialogOpenCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7231,987,987,'OP_EqDialogCloseCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7232,987,987,'OP_EqFactionUpdateCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7233,987,987,'OP_EqCollectionUpdateCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7234,987,987,'OP_EqCollectionFilterCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7235,987,987,'OP_EqCollectionItemCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7236,987,987,'OP_EqQuestJournalUpdateCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7237,987,987,'OP_EqQuestJournalReplyCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7238,987,987,'OP_EqQuestGroupCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7239,987,987,'OP_EqUpdateMerchantCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7240,987,987,'OP_EqUpdateStoreCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7241,987,987,'OP_EqUpdatePlayerTradeCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7242,987,987,'OP_EqHelpPathCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7243,987,987,'OP_EqHelpPathClearCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7244,987,987,'OP_EqUpdateBankCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7245,987,987,'OP_EqExamineInfoCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7246,987,987,'OP_EqCloseWindowCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7247,987,987,'OP_EqUpdateLootCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7248,987,987,'OP_EqJunctionListCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7249,987,987,'OP_EqShowDeathWindowCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7250,987,987,'OP_EqDisplaySpellFailCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7251,987,987,'OP_EqSpellCastStartCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7252,987,987,'OP_EqSpellCastEndCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7253,987,987,'OP_EqResurrectedCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7254,987,987,'OP_EqChoiceWinCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7255,987,987,'OP_EqSetDefaultVerbCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7256,987,987,'OP_EqInstructionWindowCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7257,987,987,'OP_EqInstructionWindowCloseCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7258,987,987,'OP_EqInstructionWindowGoalCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7259,987,987,'OP_EqInstructionWindowTaskCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7260,987,987,'OP_EqEnableGameEventCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7261,987,987,'OP_EqShowWindowCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7262,987,987,'OP_EqEnableWindowCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7263,987,987,'OP_EqFlashWindowCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7264,987,987,'OP_EqHearPlayFlavorCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7265,987,987,'OP_EqUpdateSignWidgetCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7266,987,987,'OP_EqDebugPVDCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7267,987,987,'OP_EqShowBookCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7268,987,987,'OP_EqQuestionnaireCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7269,987,987,'OP_EqGetProbsCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7270,987,987,'OP_EqHearHealCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7271,987,987,'OP_EqChatChannelUpdateCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7272,987,987,'OP_EqWhoChannelQueryReplyCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7273,987,987,'OP_EqAvailWorldChannelsCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7274,987,987,'OP_EqUpdateTargetCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7275,987,987,'OP_EqConsignmentItemsCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7276,987,987,'OP_EqStartBrokerCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7277,987,987,'OP_EqMapExplorationCmd',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7278,987,987,'OP_EqStoreLogCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7279,987,987,'OP_EqSpellMoveToRangeAndRetryCmd',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7280,987,987,'OP_EqUpdatePlayerMailCmd',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7281,987,987,'OP_EqArenaResultsCmd',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7282,987,987,'OP_EqGuildBankEventActionCmd',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7283,987,987,'OP_EqGuildBankExamineInfoCmd',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7284,987,987,'OP_EqHearSpellNoLandCmd',607,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7285,987,987,'OP_Lottery',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7286,987,987,'OP_GuildRecruitingMemberInfo',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7287,987,987,'OP_GuildRecruiting',612,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7288,987,987,'OP_GuildRecruitingDetails',613,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7289,987,987,'OP_GuildRecruitingImage',614,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7290,987,987,'OP_PointOfInterest',636,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7291,987,987,'OP_TraitsList',638,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7292,987,987,'OP_RecipeList',646,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7293,987,987,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7294,987,987,'OP_AddClientToGroupMsg',1032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7295,987,987,'OP_AddGroupToGroupMsg',1032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7296,987,987,'OP_GuildKickMsg',1032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7297,987,987,'OP_ProcessScriptMsg',1032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7298,987,987,'OP_ProcessWorkspaceMsg',1032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7299,987,987,'OP_PurchaseConsignmentResponseMsg',1032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7300,987,987,'OP_QuickbarAddMsg',1032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7301,987,987,'OP_SkillSlotMapping',1032,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7302,987,987,'OP_Unknown',10036,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7303,987,987,'OP_WSWeatherUpdateMsg',10037,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7304,996,996,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7305,996,996,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7306,996,996,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7307,996,996,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7308,996,996,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7309,996,996,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7310,996,996,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7311,996,996,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7312,996,996,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7313,996,996,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7314,996,996,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7315,996,996,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7316,996,996,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7317,996,996,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7318,996,996,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7319,996,996,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7320,996,996,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7321,996,996,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7322,996,996,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7323,996,996,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7324,996,996,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7325,996,996,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7326,996,996,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7327,996,996,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7328,996,996,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7329,996,996,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7330,996,996,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7331,996,996,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7332,996,996,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7333,996,996,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7334,996,996,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7335,996,996,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7336,996,996,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7337,996,996,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7338,996,996,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7339,996,996,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7340,996,996,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7341,996,996,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7342,996,996,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7343,996,996,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7344,996,996,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7345,996,996,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7346,996,996,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7347,996,996,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7348,996,996,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7349,996,996,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7350,996,996,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7351,996,996,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7352,996,996,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7353,996,996,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7354,996,996,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7355,996,996,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7356,996,996,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7357,996,996,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7358,996,996,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7359,996,996,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7360,996,996,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7361,996,996,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7362,996,996,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7363,996,996,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7364,996,996,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7365,996,996,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7366,996,996,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7367,996,996,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7368,996,996,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7369,996,996,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7370,996,996,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7371,996,996,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7372,996,996,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7373,996,996,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7374,996,996,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7375,996,996,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7376,996,996,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7377,996,996,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7378,996,996,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7379,996,996,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7380,996,996,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7381,996,996,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7382,996,996,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7383,996,996,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7384,996,996,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7385,996,996,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7386,996,996,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7387,996,996,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7388,996,996,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7389,996,996,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7390,996,996,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7391,996,996,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7392,996,996,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7393,996,996,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7394,996,996,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7395,996,996,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7396,996,996,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7397,996,996,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7398,996,996,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7399,996,996,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7400,996,996,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7401,996,996,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7402,996,996,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7403,996,996,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7404,996,996,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7405,996,996,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7406,996,996,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7407,996,996,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7408,996,996,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7409,996,996,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7410,996,996,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7411,996,996,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7412,996,996,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7413,996,996,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7414,996,996,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7415,996,996,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7416,996,996,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7417,996,996,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7418,996,996,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7419,996,996,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7420,996,996,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7421,996,996,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7422,996,996,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7423,996,996,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7424,996,996,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7425,996,996,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7426,996,996,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7427,996,996,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7428,996,996,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7429,996,996,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7430,996,996,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7431,996,996,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7432,996,996,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7433,996,996,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7434,996,996,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7435,996,996,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7436,996,996,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7437,996,996,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7438,996,996,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7439,996,996,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7440,996,996,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7441,996,996,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7442,996,996,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7443,996,996,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7444,996,996,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7445,996,996,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7446,996,996,'OP_UIResetMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7447,996,996,'OP_KeymapLoadMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7448,996,996,'OP_KeymapNoneMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7449,996,996,'OP_KeymapDataMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7450,996,996,'OP_KeymapSaveMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7451,996,996,'OP_DispatchSpellCmdMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7452,996,996,'OP_EntityVerbsRequestMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7453,996,996,'OP_EntityVerbsReplyMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7454,996,996,'OP_EntityVerbsVerbMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7455,996,996,'OP_ChatRelationshipUpdateMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7456,996,996,'OP_LootItemsRequestMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7457,996,996,'OP_StoppedLootingMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7458,996,996,'OP_SitMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7459,996,996,'OP_StandMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7460,996,996,'OP_SatMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7461,996,996,'OP_StoodMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7462,996,996,'OP_ClearForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7463,996,996,'OP_ReadyForTakeOffMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7464,996,996,'OP_ShowIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7465,996,996,'OP_HideIllusionsMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7466,996,996,'OP_ExamineItemRequestMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7467,996,996,'OP_ReadBookPageMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7468,996,996,'OP_DefaultGroupOptionsRequestMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7469,996,996,'OP_DefaultGroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7470,996,996,'OP_GroupOptionsMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7471,996,996,'OP_DisplayGroupOptionsScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7472,996,996,'OP_DisplayInnVisitScreenMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7473,996,996,'OP_DumpSchedulerMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7474,996,996,'OP_LSRequestPlayerDescMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7475,996,996,'OP_LSCheckAcctLockMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7476,996,996,'OP_WSAcctLockStatusMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7477,996,996,'OP_RequestHelpRepathMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7478,996,996,'OP_RequestTargetLocMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7479,996,996,'OP_UpdateMotdMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7480,996,996,'OP_PerformPlayerKnockbackMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7481,996,996,'OP_PerformCameraShakeMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7482,996,996,'OP_PopulateSkillMapsMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7483,996,996,'OP_CancelledFeignMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7484,996,996,'OP_SignalMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7485,996,996,'OP_ShowCreateFromRecipeUIMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7486,996,996,'OP_CancelCreateFromRecipeMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7487,996,996,'OP_BeginItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7488,996,996,'OP_StopItemCreationMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7489,996,996,'OP_ShowItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7490,996,996,'OP_UpdateItemCreationProcessUIMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7491,996,996,'OP_DisplayTSEventReactionMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7492,996,996,'OP_ShowRecipeBookMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7493,996,996,'OP_KnowledgebaseRequestMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7494,996,996,'OP_KnowledgebaseResponseMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7495,996,996,'OP_CSTicketHeaderRequestMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7496,996,996,'OP_CSTicketInfoMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7497,996,996,'OP_CSTicketCommentRequestMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7498,996,996,'OP_CSTicketCommentResponseMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7499,996,996,'OP_CSTicketCreateMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7500,996,996,'OP_CSTicketAddCommentMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7501,996,996,'OP_CSTicketDeleteMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7502,996,996,'OP_CSTicketChangeNotificationMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7503,996,996,'OP_WorldDataUpdateMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7504,996,996,'OP_KnownLanguagesMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7505,996,996,'OP_LsRequestClientCrashLogMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7506,996,996,'OP_LsClientBaselogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7507,996,996,'OP_LsClientCrashlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7508,996,996,'OP_LsClientAlertlogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7509,996,996,'OP_LsClientVerifylogReplyMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7510,996,996,'OP_ClientTeleportToLocationMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7511,996,996,'OP_UpdateClientPredFlagsMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7512,996,996,'OP_ChangeServerControlFlagMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7513,996,996,'OP_CSToolsRequestMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7514,996,996,'OP_CSToolsResponseMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7515,996,996,'OP_AddSocialStructureStandingMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7516,996,996,'OP_CreateBoatTransportsMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7517,996,996,'OP_PositionBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7518,996,996,'OP_MigrateBoatTransportMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7519,996,996,'OP_MigrateBoatTransportReplyMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7520,996,996,'OP_DisplayDebugNLLPointsMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7521,996,996,'OP_ExamineInfoRequestMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7522,996,996,'OP_QuickbarInitMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7523,996,996,'OP_QuickbarUpdateMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7524,996,996,'OP_MacroInitMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7525,996,996,'OP_MacroUpdateMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7526,996,996,'OP_QuestionnaireMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7527,996,996,'OP_LevelChangedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7528,996,996,'OP_SpellGainedMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7529,996,996,'OP_EncounterBrokenMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7530,996,996,'OP_OnscreenMsgMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7531,996,996,'OP_DisplayWarningMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7532,996,996,'OP_ModifyGuildMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7533,996,996,'OP_GuildEventMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7534,996,996,'OP_GuildEventAddMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7535,996,996,'OP_GuildEventActionMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7536,996,996,'OP_GuildEventListMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7537,996,996,'OP_RequestGuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7538,996,996,'OP_GuildEventDetailsMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7539,996,996,'OP_RequestGuildInfoMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7540,996,996,'OP_GuildBankActionMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7541,996,996,'OP_GuildBankActionResponseMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7542,996,996,'OP_GuildBankItemDetailsRequestMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7543,996,996,'OP_GuildBankItemDetailsResponseMs',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7544,996,996,'OP_GuildBankUpdateMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7545,996,996,'OP_GuildBankEventListMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7546,996,996,'OP_RequestGuildBankEventDetailsMs',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7547,996,996,'OP_RewardPackMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7548,996,996,'OP_RenameGuildMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7549,996,996,'OP_ZoneToFriendRequestMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7550,996,996,'OP_ZoneToFriendReplyMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7551,996,996,'OP_ChatCreateChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7552,996,996,'OP_ChatJoinChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7553,996,996,'OP_ChatWhoChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7554,996,996,'OP_ChatLeaveChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7555,996,996,'OP_ChatTellChannelMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7556,996,996,'OP_ChatTellUserMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7557,996,996,'OP_ChatToggleFriendMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7558,996,996,'OP_ChatToggleIgnoreMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7559,996,996,'OP_ChatSendFriendsMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7560,996,996,'OP_ChatSendIgnoresMsg',276,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7561,996,996,'OP_QuestReward',303,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7562,996,996,'OP_ChatFiltersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7563,996,996,'OP_MailGetHeadersMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7564,996,996,'OP_MailGetMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7565,996,996,'OP_MailSendMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7566,996,996,'OP_MailDeleteMessageMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7567,996,996,'OP_MailGetHeadersReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7568,996,996,'OP_MailGetMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7569,996,996,'OP_MailSendMessageReplyMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7570,996,996,'OP_MailCommitSendMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7571,996,996,'OP_MailSendSystemMessageMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7572,996,996,'OP_MailRemoveAttachFromMailMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7573,996,996,'OP_WaypointRequestMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7574,996,996,'OP_WaypointReplyMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7575,996,996,'OP_WaypointSelectMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7576,996,996,'OP_WaypointUpdateMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7577,996,996,'OP_CharNameChangedMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7578,996,996,'OP_ShowZoneTeleporterDestinations',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7579,996,996,'OP_SelectZoneTeleporterDestinatio',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7580,996,996,'OP_ReloadLocalizedTxtMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7581,996,996,'OP_RequestGuildMembershipMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7582,996,996,'OP_GuildMembershipResponseMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7583,996,996,'OP_LeaveGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7584,996,996,'OP_JoinGuildNotifyMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7585,996,996,'OP_AvatarUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7586,996,996,'OP_BioUpdateMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7587,996,996,'OP_InspectPlayerMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7588,996,996,'OP_WSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7589,996,996,'OP_LSServerLockMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7590,996,996,'OP_WSServerHideMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7591,996,996,'OP_CsCategoryRequestMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7592,996,996,'OP_CsCategoryResponseMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7593,996,996,'OP_KnowledgeWindowSlotMappingMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7594,996,996,'OP_LFGUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7595,996,996,'OP_AFKUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7596,996,996,'OP_AnonUpdateMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7597,996,996,'OP_UpdateActivePublicZonesMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7598,996,996,'OP_UnknownNpcMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7599,996,996,'OP_PromoFlagsDetailsMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7600,996,996,'OP_ConsignViewCreateMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7601,996,996,'OP_ConsignViewGetPageMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7602,996,996,'OP_ConsignViewReleaseMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7603,996,996,'OP_ConsignRemoveItemsMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7604,996,996,'OP_UpdateDebugRadiiMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7605,996,996,'OP_SnoopMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7606,996,996,'OP_ReportMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7607,996,996,'OP_UpdateRaidMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7608,996,996,'OP_ConsignViewSortMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7609,996,996,'OP_TitleUpdateMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7610,996,996,'OP_ClientFellMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7611,996,996,'OP_ClientInDeathRegionMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7612,996,996,'OP_CampClientMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7613,996,996,'OP_CSToolAccessResponseMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7614,996,996,'OP_TrackingUpdateMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7615,996,996,'OP_BeginTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7616,996,996,'OP_StopTrackingMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7617,996,996,'OP_GetAvatarAccessRequestForCSToo',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7618,996,996,'OP_AdvancementRequestMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7619,996,996,'OP_UpdateAvgFrameTimeMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7620,996,996,'OP_MapFogDataInitMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7621,996,996,'OP_MapFogDataUpdateMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7622,996,996,'OP_CloseGroupInviteWindowMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7623,996,996,'OP_UpdateGroupMemberDataMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7624,996,996,'OP_WorldPingMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7625,996,996,'OP_MoveLogUpdateMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7626,996,996,'OP_OfferQuestMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7627,996,996,'OP_WorldShutdownUpdateMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7628,996,996,'OP_DisplayMailScreenMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7629,996,996,'OP_ClientIdleBeginMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7630,996,996,'OP_ClientIdleEndMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7631,996,996,'OP_PurchaseConsignmentLoreCheckRe',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7632,996,996,'OP_NotifyApprenticeStoppedMentori',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7633,996,996,'OP_CorruptedClientMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7634,996,996,'OP_WorldDataChangeMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7635,996,996,'OP_MailEventNotificationMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7636,996,996,'OP_RestartZoneMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7637,996,996,'OP_FlightPathsMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7638,996,996,'OP_CharacterLinkdeadMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7639,996,996,'OP_CharTransferStartRequestMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7640,996,996,'OP_CharTransferStartReplyMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7641,996,996,'OP_CharTransferRequestMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7642,996,996,'OP_CharTransferReplyMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7643,996,996,'OP_CharTransferRollbackRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7644,996,996,'OP_CharTransferCommitRequestMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7645,996,996,'OP_CharTransferRollbackReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7646,996,996,'OP_CharTransferCommitReplyMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7647,996,996,'OP_GetCharacterSerializedRequestM',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7648,996,996,'OP_GetCharacterSerializedReplyMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7649,996,996,'OP_CreateCharFromCBBRequestMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7650,996,996,'OP_CreateCharFromCBBReplyMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7651,996,996,'OP_HousingDataChangedMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7652,996,996,'OP_HousingRestoreMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7653,996,996,'OP_AuctionItem',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7654,996,996,'OP_AuctionItemReply',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7655,996,996,'OP_AuctionCoin',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7656,996,996,'OP_AuctionCoinReply',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7657,996,996,'OP_AuctionCharacter',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7658,996,996,'OP_AuctionCharacterReply',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7659,996,996,'OP_AuctionCommitMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7660,996,996,'OP_AuctionAbortMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7661,996,996,'OP_CharTransferValidateRequestMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7662,996,996,'OP_CharTransferValidateReplyMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7663,996,996,'OP_RaceRestrictionMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7664,996,996,'OP_SetInstanceDisplayNameMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7665,996,996,'OP_GetAuctionAssetIDMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7666,996,996,'OP_GetAuctionAssetIDReplyMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7667,996,996,'OP_ResendWorldChannelsMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7668,996,996,'OP_DisplayExchangeScreenMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7669,996,996,'OP_ArenaGameTypesMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7670,996,996,'OP_AuditAuctionEventMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7671,996,996,'OP_InviteRequestMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7672,996,996,'OP_InviteResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7673,996,996,'OP_InviteTargetResponseMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7674,996,996,'OP_InspectPlayerRequestMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7675,996,996,'OP_DispatchMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7676,996,996,'OP_DisplayEventMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7677,996,996,'OP_PrePossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7678,996,996,'OP_PostPossessionMsg',438,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7679,996,996,'OP_AdventureList',464,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7680,996,996,'OP_CancelSpellCast',465,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7681,996,996,'OP_AttackAllowed',477,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7682,996,996,'OP_AttackNotAllowed',478,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7683,996,996,'OP_DressingRoom',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7684,996,996,'OP_SkillInfoRequest',489,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7685,996,996,'OP_SkillInfoResponse',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7686,996,996,'OP_MapRequest',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7687,996,996,'OP_EqUnknown',518,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7688,996,996,'OP_EqHearChatCmd',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7689,996,996,'OP_EqDisplayTextCmd',521,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7690,996,996,'OP_EqCreateGhostCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7691,996,996,'OP_EqCreateWidgetCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7692,996,996,'OP_EqCreateSignWidgetCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7693,996,996,'OP_EqDestroyGhostCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7694,996,996,'OP_EqUpdateGhostCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7695,996,996,'OP_EqSetControlGhostCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7696,996,996,'OP_EqSetPOVGhostCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7697,996,996,'OP_EqHearCombatCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7698,996,996,'OP_EqHearSpellCastCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7699,996,996,'OP_EqHearSpellInterruptCmd',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7700,996,996,'OP_EqHearSpellFizzleCmd',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7701,996,996,'OP_EqHearConsiderCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7702,996,996,'OP_EqUpdateSubClassesCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7703,996,996,'OP_EqCreateListBoxCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7704,996,996,'OP_EqSetDebugPathPointsCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7705,996,996,'OP_EqCannedEmoteCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7706,996,996,'OP_EqStateCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7707,996,996,'OP_EqPlaySoundCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7708,996,996,'OP_EqPlaySound3DCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7709,996,996,'OP_EqPlayVoiceCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7710,996,996,'OP_EqHearDrowningCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7711,996,996,'OP_EqHearDeathCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7712,996,996,'OP_EqGroupMemberRemovedCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7713,996,996,'OP_EqHearChainEffectCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7714,996,996,'OP_EqReceiveOfferCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7715,996,996,'OP_EqInspectPCResultsCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7716,996,996,'OP_EqDrawablePathGraphCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7717,996,996,'OP_EqDialogOpenCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7718,996,996,'OP_EqDialogCloseCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7719,996,996,'OP_EqFactionUpdateCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7720,996,996,'OP_EqCollectionUpdateCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7721,996,996,'OP_EqCollectionFilterCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7722,996,996,'OP_EqCollectionItemCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7723,996,996,'OP_EqQuestJournalUpdateCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7724,996,996,'OP_EqQuestJournalReplyCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7725,996,996,'OP_EqQuestGroupCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7726,996,996,'OP_EqUpdateMerchantCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7727,996,996,'OP_EqUpdateStoreCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7728,996,996,'OP_EqUpdatePlayerTradeCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7729,996,996,'OP_EqHelpPathCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7730,996,996,'OP_EqHelpPathClearCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7731,996,996,'OP_EqUpdateBankCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7732,996,996,'OP_EqExamineInfoCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7733,996,996,'OP_EqCloseWindowCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7734,996,996,'OP_EqUpdateLootCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7735,996,996,'OP_EqJunctionListCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7736,996,996,'OP_EqShowDeathWindowCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7737,996,996,'OP_EqDisplaySpellFailCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7738,996,996,'OP_EqSpellCastStartCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7739,996,996,'OP_EqSpellCastEndCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7740,996,996,'OP_EqResurrectedCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7741,996,996,'OP_EqChoiceWinCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7742,996,996,'OP_EqSetDefaultVerbCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7743,996,996,'OP_EqInstructionWindowCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7744,996,996,'OP_EqInstructionWindowCloseCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7745,996,996,'OP_EqInstructionWindowGoalCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7746,996,996,'OP_EqInstructionWindowTaskCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7747,996,996,'OP_EqEnableGameEventCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7748,996,996,'OP_EqShowWindowCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7749,996,996,'OP_EqEnableWindowCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7750,996,996,'OP_EqFlashWindowCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7751,996,996,'OP_EqHearPlayFlavorCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7752,996,996,'OP_EqUpdateSignWidgetCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7753,996,996,'OP_EqDebugPVDCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7754,996,996,'OP_EqShowBookCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7755,996,996,'OP_EqQuestionnaireCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7756,996,996,'OP_EqGetProbsCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7757,996,996,'OP_EqHearHealCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7758,996,996,'OP_EqChatChannelUpdateCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7759,996,996,'OP_EqWhoChannelQueryReplyCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7760,996,996,'OP_EqAvailWorldChannelsCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7761,996,996,'OP_EqUpdateTargetCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7762,996,996,'OP_EqConsignmentItemsCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7763,996,996,'OP_EqStartBrokerCmd',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7764,996,996,'OP_EqMapExplorationCmd',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7765,996,996,'OP_EqStoreLogCmd',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7766,996,996,'OP_EqSpellMoveToRangeAndRetryCmd',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7767,996,996,'OP_EqUpdatePlayerMailCmd',607,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7768,996,996,'OP_EqArenaResultsCmd',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7769,996,996,'OP_EqGuildBankEventActionCmd',609,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7770,996,996,'OP_EqGuildBankExamineInfoCmd',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7771,996,996,'OP_EqHearSpellNoLandCmd',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7772,996,996,'OP_Lottery',615,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7773,996,996,'OP_GuildRecruitingMemberInfo',616,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7774,996,996,'OP_GuildRecruiting',617,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7775,996,996,'OP_GuildRecruitingDetails',618,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7776,996,996,'OP_GuildRecruitingImage',619,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7777,996,996,'OP_PointOfInterest',640,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7778,996,996,'OP_TraitsList',642,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7779,996,996,'OP_RecipeList',651,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7780,996,996,'OP_CharacterAchievements',653,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7781,996,996,'OP_AddClientToGroupMsg',1039,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7782,996,996,'OP_AddGroupToGroupMsg',1039,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7783,996,996,'OP_GuildKickMsg',1039,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7784,996,996,'OP_ProcessScriptMsg',1039,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7785,996,996,'OP_ProcessWorkspaceMsg',1039,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7786,996,996,'OP_PurchaseConsignmentResponseMsg',1039,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7787,996,996,'OP_QuickbarAddMsg',1039,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7788,996,996,'OP_SkillSlotMapping',1039,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7789,996,996,'OP_Unknown',10043,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7790,996,996,'OP_WSWeatherUpdateMsg',10044,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7791,1008,1011,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7792,1008,1011,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7793,1008,1011,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7794,1008,1011,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7795,1008,1011,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7796,1008,1011,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7797,1008,1011,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7798,1008,1011,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7799,1008,1011,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7800,1008,1011,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7801,1008,1011,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7802,1008,1011,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7803,1008,1011,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7804,1008,1011,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7805,1008,1011,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7806,1008,1011,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7807,1008,1011,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7808,1008,1011,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7809,1008,1011,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7810,1008,1011,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7811,1008,1011,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7812,1008,1011,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7813,1008,1011,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7814,1008,1011,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7815,1008,1011,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7816,1008,1011,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7817,1008,1011,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7818,1008,1011,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7819,1008,1011,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7820,1008,1011,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7821,1008,1011,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7822,1008,1011,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7823,1008,1011,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7824,1008,1011,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7825,1008,1011,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7826,1008,1011,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7827,1008,1011,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7828,1008,1011,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7829,1008,1011,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7830,1008,1011,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7831,1008,1011,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7832,1008,1011,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7833,1008,1011,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7834,1008,1011,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7835,1008,1011,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7836,1008,1011,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7837,1008,1011,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7838,1008,1011,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7839,1008,1011,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7840,1008,1011,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7841,1008,1011,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7842,1008,1011,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7843,1008,1011,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7844,1008,1011,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7845,1008,1011,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7846,1008,1011,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7847,1008,1011,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7848,1008,1011,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7849,1008,1011,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7850,1008,1011,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7851,1008,1011,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7852,1008,1011,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7853,1008,1011,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7854,1008,1011,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7855,1008,1011,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7856,1008,1011,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7857,1008,1011,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7858,1008,1011,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7859,1008,1011,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7860,1008,1011,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7861,1008,1011,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7862,1008,1011,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7863,1008,1011,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7864,1008,1011,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7865,1008,1011,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7866,1008,1011,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7867,1008,1011,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7868,1008,1011,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7869,1008,1011,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7870,1008,1011,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7871,1008,1011,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7872,1008,1011,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7873,1008,1011,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7874,1008,1011,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7875,1008,1011,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7876,1008,1011,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7877,1008,1011,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7878,1008,1011,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7879,1008,1011,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7880,1008,1011,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7881,1008,1011,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7882,1008,1011,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7883,1008,1011,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7884,1008,1011,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7885,1008,1011,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7886,1008,1011,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7887,1008,1011,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7888,1008,1011,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7889,1008,1011,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7890,1008,1011,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7891,1008,1011,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7892,1008,1011,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7893,1008,1011,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7894,1008,1011,'OP_GuildUpdateMsg',115,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7895,1008,1011,'OP_DeleteGuildMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7896,1008,1011,'OP_FellowshipExpMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7897,1008,1011,'OP_ConsignmentCloseStoreMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7898,1008,1011,'OP_ConsignItemRequestMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7899,1008,1011,'OP_ConsignItemResponseMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7900,1008,1011,'OP_PurchaseConsignmentRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7901,1008,1011,'OP_HouseDeletedRemotelyMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7902,1008,1011,'OP_UpdateHouseDataMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7903,1008,1011,'OP_UpdateHouseAccessDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7904,1008,1011,'OP_PlayerHouseBaseScreenMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7905,1008,1011,'OP_PlayerHousePurchaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7906,1008,1011,'OP_PlayerHouseAccessUpdateMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7907,1008,1011,'OP_PlayerHouseDisplayStatusMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7908,1008,1011,'OP_PlayerHouseCloseUIMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7909,1008,1011,'OP_BuyPlayerHouseMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7910,1008,1011,'OP_BuyPlayerHouseTintMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7911,1008,1011,'OP_CollectAllHouseItemsMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7912,1008,1011,'OP_RelinquishHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7913,1008,1011,'OP_EnterHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7914,1008,1011,'OP_ExitHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7915,1008,1011,'OP_HouseDefaultAccessSetMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7916,1008,1011,'OP_HouseAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7917,1008,1011,'OP_HouseAccessRemoveMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7918,1008,1011,'OP_PayHouseUpkeepMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7919,1008,1011,'OP_MoveableObjectPlacementCriteri',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7920,1008,1011,'OP_EnterMoveObjectModeMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7921,1008,1011,'OP_PositionMoveableObject',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7922,1008,1011,'OP_CancelMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7923,1008,1011,'OP_ShaderCustomizationMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7924,1008,1011,'OP_ReplaceableSubMeshesMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7925,1008,1011,'OP_HouseCustomizationScreenMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7926,1008,1011,'OP_CustomizationPurchaseRequestMs',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7927,1008,1011,'OP_CustomizationSetRequestMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7928,1008,1011,'OP_CustomizationReplyMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7929,1008,1011,'OP_TintWidgetsMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7930,1008,1011,'OP_ExamineConsignmentRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7931,1008,1011,'OP_ExamineConsignmentResponseMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7932,1008,1011,'OP_UISettingsResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7933,1008,1011,'OP_UIResetMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7934,1008,1011,'OP_KeymapLoadMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7935,1008,1011,'OP_KeymapNoneMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7936,1008,1011,'OP_KeymapDataMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7937,1008,1011,'OP_KeymapSaveMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7938,1008,1011,'OP_DispatchSpellCmdMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7939,1008,1011,'OP_EntityVerbsRequestMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7940,1008,1011,'OP_EntityVerbsReplyMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7941,1008,1011,'OP_EntityVerbsVerbMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7942,1008,1011,'OP_ChatRelationshipUpdateMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7943,1008,1011,'OP_LootItemsRequestMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7944,1008,1011,'OP_StoppedLootingMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7945,1008,1011,'OP_SitMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7946,1008,1011,'OP_StandMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7947,1008,1011,'OP_SatMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7948,1008,1011,'OP_StoodMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7949,1008,1011,'OP_ClearForTakeOffMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7950,1008,1011,'OP_ReadyForTakeOffMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7951,1008,1011,'OP_ShowIllusionsMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7952,1008,1011,'OP_HideIllusionsMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7953,1008,1011,'OP_ExamineItemRequestMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7954,1008,1011,'OP_ReadBookPageMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7955,1008,1011,'OP_DefaultGroupOptionsRequestMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7956,1008,1011,'OP_DefaultGroupOptionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7957,1008,1011,'OP_GroupOptionsMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7958,1008,1011,'OP_DisplayGroupOptionsScreenMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7959,1008,1011,'OP_DisplayInnVisitScreenMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7960,1008,1011,'OP_DumpSchedulerMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7961,1008,1011,'OP_LSRequestPlayerDescMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7962,1008,1011,'OP_LSCheckAcctLockMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7963,1008,1011,'OP_WSAcctLockStatusMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7964,1008,1011,'OP_RequestHelpRepathMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7965,1008,1011,'OP_RequestTargetLocMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7966,1008,1011,'OP_UpdateMotdMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7967,1008,1011,'OP_PerformPlayerKnockbackMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7968,1008,1011,'OP_PerformCameraShakeMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7969,1008,1011,'OP_PopulateSkillMapsMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7970,1008,1011,'OP_CancelledFeignMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7971,1008,1011,'OP_SignalMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7972,1008,1011,'OP_ShowCreateFromRecipeUIMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7973,1008,1011,'OP_CancelCreateFromRecipeMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7974,1008,1011,'OP_BeginItemCreationMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7975,1008,1011,'OP_StopItemCreationMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7976,1008,1011,'OP_ShowItemCreationProcessUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7977,1008,1011,'OP_UpdateItemCreationProcessUIMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7978,1008,1011,'OP_DisplayTSEventReactionMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7979,1008,1011,'OP_ShowRecipeBookMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7980,1008,1011,'OP_KnowledgebaseRequestMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7981,1008,1011,'OP_KnowledgebaseResponseMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7982,1008,1011,'OP_CSTicketHeaderRequestMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7983,1008,1011,'OP_CSTicketInfoMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7984,1008,1011,'OP_CSTicketCommentRequestMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7985,1008,1011,'OP_CSTicketCommentResponseMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7986,1008,1011,'OP_CSTicketCreateMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7987,1008,1011,'OP_CSTicketAddCommentMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7988,1008,1011,'OP_CSTicketDeleteMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7989,1008,1011,'OP_CSTicketChangeNotificationMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7990,1008,1011,'OP_WorldDataUpdateMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7991,1008,1011,'OP_KnownLanguagesMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7992,1008,1011,'OP_LsRequestClientCrashLogMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7993,1008,1011,'OP_LsClientBaselogReplyMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7994,1008,1011,'OP_LsClientCrashlogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7995,1008,1011,'OP_LsClientAlertlogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7996,1008,1011,'OP_LsClientVerifylogReplyMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7997,1008,1011,'OP_ClientTeleportToLocationMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7998,1008,1011,'OP_UpdateClientPredFlagsMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (7999,1008,1011,'OP_ChangeServerControlFlagMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8000,1008,1011,'OP_CSToolsRequestMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8001,1008,1011,'OP_CSToolsResponseMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8002,1008,1011,'OP_AddSocialStructureStandingMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8003,1008,1011,'OP_CreateBoatTransportsMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8004,1008,1011,'OP_PositionBoatTransportMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8005,1008,1011,'OP_MigrateBoatTransportMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8006,1008,1011,'OP_MigrateBoatTransportReplyMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8007,1008,1011,'OP_DisplayDebugNLLPointsMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8008,1008,1011,'OP_ExamineInfoRequestMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8009,1008,1011,'OP_QuickbarInitMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8010,1008,1011,'OP_QuickbarUpdateMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8011,1008,1011,'OP_MacroInitMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8012,1008,1011,'OP_MacroUpdateMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8013,1008,1011,'OP_QuestionnaireMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8014,1008,1011,'OP_LevelChangedMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8015,1008,1011,'OP_SpellGainedMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8016,1008,1011,'OP_EncounterBrokenMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8017,1008,1011,'OP_OnscreenMsgMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8018,1008,1011,'OP_DisplayWarningMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8019,1008,1011,'OP_ModifyGuildMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8020,1008,1011,'OP_GuildEventMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8021,1008,1011,'OP_GuildEventAddMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8022,1008,1011,'OP_GuildEventActionMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8023,1008,1011,'OP_GuildEventListMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8024,1008,1011,'OP_RequestGuildEventDetailsMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8025,1008,1011,'OP_GuildEventDetailsMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8026,1008,1011,'OP_RequestGuildInfoMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8027,1008,1011,'OP_GuildBankActionMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8028,1008,1011,'OP_GuildBankActionResponseMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8029,1008,1011,'OP_GuildBankItemDetailsRequestMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8030,1008,1011,'OP_GuildBankItemDetailsResponseMs',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8031,1008,1011,'OP_GuildBankUpdateMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8032,1008,1011,'OP_GuildBankEventListMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8033,1008,1011,'OP_RequestGuildBankEventDetailsMs',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8034,1008,1011,'OP_RewardPackMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8035,1008,1011,'OP_RenameGuildMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8036,1008,1011,'OP_ZoneToFriendRequestMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8037,1008,1011,'OP_ZoneToFriendReplyMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8038,1008,1011,'OP_ChatCreateChannelMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8039,1008,1011,'OP_ChatJoinChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8040,1008,1011,'OP_ChatWhoChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8041,1008,1011,'OP_ChatLeaveChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8042,1008,1011,'OP_ChatTellChannelMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8043,1008,1011,'OP_ChatTellUserMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8044,1008,1011,'OP_ChatToggleFriendMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8045,1008,1011,'OP_ChatToggleIgnoreMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8046,1008,1011,'OP_ChatSendFriendsMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8047,1008,1011,'OP_ChatSendIgnoresMsg',276,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8048,1008,1011,'OP_QuestReward',303,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8049,1008,1011,'OP_ChatFiltersMsg',318,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8050,1008,1011,'OP_MailGetHeadersMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8051,1008,1011,'OP_MailGetMessageMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8052,1008,1011,'OP_MailSendMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8053,1008,1011,'OP_MailDeleteMessageMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8054,1008,1011,'OP_MailGetHeadersReplyMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8055,1008,1011,'OP_MailGetMessageReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8056,1008,1011,'OP_MailSendMessageReplyMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8057,1008,1011,'OP_MailCommitSendMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8058,1008,1011,'OP_MailSendSystemMessageMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8059,1008,1011,'OP_MailRemoveAttachFromMailMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8060,1008,1011,'OP_WaypointRequestMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8061,1008,1011,'OP_WaypointReplyMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8062,1008,1011,'OP_WaypointSelectMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8063,1008,1011,'OP_WaypointUpdateMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8064,1008,1011,'OP_CharNameChangedMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8065,1008,1011,'OP_ShowZoneTeleporterDestinations',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8066,1008,1011,'OP_SelectZoneTeleporterDestinatio',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8067,1008,1011,'OP_ReloadLocalizedTxtMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8068,1008,1011,'OP_RequestGuildMembershipMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8069,1008,1011,'OP_GuildMembershipResponseMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8070,1008,1011,'OP_LeaveGuildNotifyMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8071,1008,1011,'OP_JoinGuildNotifyMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8072,1008,1011,'OP_AvatarUpdateMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8073,1008,1011,'OP_BioUpdateMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8074,1008,1011,'OP_InspectPlayerMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8075,1008,1011,'OP_WSServerLockMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8076,1008,1011,'OP_LSServerLockMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8077,1008,1011,'OP_WSServerHideMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8078,1008,1011,'OP_CsCategoryRequestMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8079,1008,1011,'OP_CsCategoryResponseMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8080,1008,1011,'OP_KnowledgeWindowSlotMappingMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8081,1008,1011,'OP_LFGUpdateMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8082,1008,1011,'OP_AFKUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8083,1008,1011,'OP_AnonUpdateMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8084,1008,1011,'OP_UpdateActivePublicZonesMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8085,1008,1011,'OP_UnknownNpcMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8086,1008,1011,'OP_PromoFlagsDetailsMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8087,1008,1011,'OP_ConsignViewCreateMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8088,1008,1011,'OP_ConsignViewGetPageMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8089,1008,1011,'OP_ConsignViewReleaseMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8090,1008,1011,'OP_ConsignRemoveItemsMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8091,1008,1011,'OP_UpdateDebugRadiiMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8092,1008,1011,'OP_SnoopMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8093,1008,1011,'OP_ReportMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8094,1008,1011,'OP_UpdateRaidMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8095,1008,1011,'OP_ConsignViewSortMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8096,1008,1011,'OP_TitleUpdateMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8097,1008,1011,'OP_ClientFellMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8098,1008,1011,'OP_ClientInDeathRegionMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8099,1008,1011,'OP_CampClientMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8100,1008,1011,'OP_CSToolAccessResponseMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8101,1008,1011,'OP_TrackingUpdateMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8102,1008,1011,'OP_BeginTrackingMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8103,1008,1011,'OP_StopTrackingMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8104,1008,1011,'OP_GetAvatarAccessRequestForCSToo',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8105,1008,1011,'OP_AdvancementRequestMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8106,1008,1011,'OP_UpdateAvgFrameTimeMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8107,1008,1011,'OP_MapFogDataInitMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8108,1008,1011,'OP_MapFogDataUpdateMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8109,1008,1011,'OP_CloseGroupInviteWindowMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8110,1008,1011,'OP_UpdateGroupMemberDataMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8111,1008,1011,'OP_WorldPingMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8112,1008,1011,'OP_MoveLogUpdateMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8113,1008,1011,'OP_OfferQuestMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8114,1008,1011,'OP_WorldShutdownUpdateMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8115,1008,1011,'OP_DisplayMailScreenMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8116,1008,1011,'OP_ClientIdleBeginMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8117,1008,1011,'OP_ClientIdleEndMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8118,1008,1011,'OP_PurchaseConsignmentLoreCheckRe',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8119,1008,1011,'OP_NotifyApprenticeStoppedMentori',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8120,1008,1011,'OP_CorruptedClientMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8121,1008,1011,'OP_WorldDataChangeMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8122,1008,1011,'OP_MailEventNotificationMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8123,1008,1011,'OP_RestartZoneMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8124,1008,1011,'OP_FlightPathsMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8125,1008,1011,'OP_CharacterLinkdeadMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8126,1008,1011,'OP_CharTransferStartRequestMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8127,1008,1011,'OP_CharTransferStartReplyMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8128,1008,1011,'OP_CharTransferRequestMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8129,1008,1011,'OP_CharTransferReplyMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8130,1008,1011,'OP_CharTransferRollbackRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8131,1008,1011,'OP_CharTransferCommitRequestMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8132,1008,1011,'OP_CharTransferRollbackReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8133,1008,1011,'OP_CharTransferCommitReplyMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8134,1008,1011,'OP_GetCharacterSerializedRequestM',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8135,1008,1011,'OP_GetCharacterSerializedReplyMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8136,1008,1011,'OP_CreateCharFromCBBRequestMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8137,1008,1011,'OP_CreateCharFromCBBReplyMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8138,1008,1011,'OP_HousingDataChangedMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8139,1008,1011,'OP_HousingRestoreMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8140,1008,1011,'OP_AuctionItem',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8141,1008,1011,'OP_AuctionItemReply',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8142,1008,1011,'OP_AuctionCoin',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8143,1008,1011,'OP_AuctionCoinReply',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8144,1008,1011,'OP_AuctionCharacter',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8145,1008,1011,'OP_AuctionCharacterReply',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8146,1008,1011,'OP_AuctionCommitMsg',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8147,1008,1011,'OP_AuctionAbortMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8148,1008,1011,'OP_CharTransferValidateRequestMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8149,1008,1011,'OP_CharTransferValidateReplyMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8150,1008,1011,'OP_RaceRestrictionMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8151,1008,1011,'OP_SetInstanceDisplayNameMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8152,1008,1011,'OP_GetAuctionAssetIDMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8153,1008,1011,'OP_GetAuctionAssetIDReplyMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8154,1008,1011,'OP_ResendWorldChannelsMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8155,1008,1011,'OP_DisplayExchangeScreenMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8156,1008,1011,'OP_ArenaGameTypesMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8157,1008,1011,'OP_AuditAuctionEventMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8158,1008,1011,'OP_InviteRequestMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8159,1008,1011,'OP_InviteResponseMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8160,1008,1011,'OP_InviteTargetResponseMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8161,1008,1011,'OP_InspectPlayerRequestMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8162,1008,1011,'OP_DispatchMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8163,1008,1011,'OP_DisplayEventMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8164,1008,1011,'OP_PrePossessionMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8165,1008,1011,'OP_PostPossessionMsg',438,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8166,1008,1011,'OP_AdventureList',464,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8167,1008,1011,'OP_CancelSpellCast',465,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8168,1008,1011,'OP_AttackAllowed',477,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8169,1008,1011,'OP_AttackNotAllowed',478,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8170,1008,1011,'OP_DressingRoom',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8171,1008,1011,'OP_SkillInfoRequest',489,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8172,1008,1011,'OP_SkillInfoResponse',490,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8173,1008,1011,'OP_MapRequest',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8174,1008,1011,'OP_EqUnknown',520,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8175,1008,1011,'OP_EqHearChatCmd',522,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8176,1008,1011,'OP_EqDisplayTextCmd',523,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8177,1008,1011,'OP_EqCreateGhostCmd',524,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8178,1008,1011,'OP_EqCreateWidgetCmd',525,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8179,1008,1011,'OP_EqCreateSignWidgetCmd',526,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8180,1008,1011,'OP_EqDestroyGhostCmd',527,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8181,1008,1011,'OP_EqUpdateGhostCmd',528,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8182,1008,1011,'OP_EqSetControlGhostCmd',529,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8183,1008,1011,'OP_EqSetPOVGhostCmd',530,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8184,1008,1011,'OP_EqHearCombatCmd',531,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8185,1008,1011,'OP_EqHearSpellCastCmd',532,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8186,1008,1011,'OP_EqHearSpellInterruptCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8187,1008,1011,'OP_EqHearSpellFizzleCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8188,1008,1011,'OP_EqHearConsiderCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8189,1008,1011,'OP_EqUpdateSubClassesCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8190,1008,1011,'OP_EqCreateListBoxCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8191,1008,1011,'OP_EqSetDebugPathPointsCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8192,1008,1011,'OP_EqCannedEmoteCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8193,1008,1011,'OP_EqStateCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8194,1008,1011,'OP_EqPlaySoundCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8195,1008,1011,'OP_EqPlaySound3DCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8196,1008,1011,'OP_EqPlayVoiceCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8197,1008,1011,'OP_EqHearDrowningCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8198,1008,1011,'OP_EqHearDeathCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8199,1008,1011,'OP_EqGroupMemberRemovedCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8200,1008,1011,'OP_EqHearChainEffectCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8201,1008,1011,'OP_EqReceiveOfferCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8202,1008,1011,'OP_EqInspectPCResultsCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8203,1008,1011,'OP_EqDrawablePathGraphCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8204,1008,1011,'OP_EqDialogOpenCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8205,1008,1011,'OP_EqDialogCloseCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8206,1008,1011,'OP_EqFactionUpdateCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8207,1008,1011,'OP_EqCollectionUpdateCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8208,1008,1011,'OP_EqCollectionFilterCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8209,1008,1011,'OP_EqCollectionItemCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8210,1008,1011,'OP_EqQuestJournalUpdateCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8211,1008,1011,'OP_EqQuestJournalReplyCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8212,1008,1011,'OP_EqQuestGroupCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8213,1008,1011,'OP_EqUpdateMerchantCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8214,1008,1011,'OP_EqUpdateStoreCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8215,1008,1011,'OP_EqUpdatePlayerTradeCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8216,1008,1011,'OP_EqHelpPathCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8217,1008,1011,'OP_EqHelpPathClearCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8218,1008,1011,'OP_EqUpdateBankCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8219,1008,1011,'OP_EqExamineInfoCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8220,1008,1011,'OP_EqCloseWindowCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8221,1008,1011,'OP_EqUpdateLootCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8222,1008,1011,'OP_EqJunctionListCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8223,1008,1011,'OP_EqShowDeathWindowCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8224,1008,1011,'OP_EqDisplaySpellFailCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8225,1008,1011,'OP_EqSpellCastStartCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8226,1008,1011,'OP_EqSpellCastEndCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8227,1008,1011,'OP_EqResurrectedCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8228,1008,1011,'OP_EqChoiceWinCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8229,1008,1011,'OP_EqSetDefaultVerbCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8230,1008,1011,'OP_EqInstructionWindowCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8231,1008,1011,'OP_EqInstructionWindowCloseCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8232,1008,1011,'OP_EqInstructionWindowGoalCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8233,1008,1011,'OP_EqInstructionWindowTaskCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8234,1008,1011,'OP_EqEnableGameEventCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8235,1008,1011,'OP_EqShowWindowCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8236,1008,1011,'OP_EqEnableWindowCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8237,1008,1011,'OP_EqFlashWindowCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8238,1008,1011,'OP_EqHearPlayFlavorCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8239,1008,1011,'OP_EqUpdateSignWidgetCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8240,1008,1011,'OP_EqDebugPVDCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8241,1008,1011,'OP_EqShowBookCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8242,1008,1011,'OP_EqQuestionnaireCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8243,1008,1011,'OP_EqGetProbsCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8244,1008,1011,'OP_EqHearHealCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8245,1008,1011,'OP_EqChatChannelUpdateCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8246,1008,1011,'OP_EqWhoChannelQueryReplyCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8247,1008,1011,'OP_EqAvailWorldChannelsCmd',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8248,1008,1011,'OP_EqUpdateTargetCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8249,1008,1011,'OP_EqConsignmentItemsCmd',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8250,1008,1011,'OP_EqStartBrokerCmd',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8251,1008,1011,'OP_EqMapExplorationCmd',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8252,1008,1011,'OP_EqStoreLogCmd',607,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8253,1008,1011,'OP_EqSpellMoveToRangeAndRetryCmd',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8254,1008,1011,'OP_EqUpdatePlayerMailCmd',609,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8255,1008,1011,'OP_EqArenaResultsCmd',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8256,1008,1011,'OP_EqGuildBankEventActionCmd',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8257,1008,1011,'OP_EqGuildBankExamineInfoCmd',612,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8258,1008,1011,'OP_EqHearSpellNoLandCmd',613,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8259,1008,1011,'OP_Lottery',617,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8260,1008,1011,'OP_GuildRecruitingMemberInfo',618,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8261,1008,1011,'OP_GuildRecruiting',619,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8262,1008,1011,'OP_GuildRecruitingDetails',620,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8263,1008,1011,'OP_GuildRecruitingImage',621,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8264,1008,1011,'OP_PointOfInterest',642,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8265,1008,1011,'OP_TraitsList',644,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8266,1008,1011,'OP_RecipeList',653,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8267,1008,1011,'OP_CharacterAchievements',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8268,1008,1011,'OP_AddClientToGroupMsg',1041,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8269,1008,1011,'OP_AddGroupToGroupMsg',1041,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8270,1008,1011,'OP_GuildKickMsg',1041,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8271,1008,1011,'OP_ProcessScriptMsg',1041,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8272,1008,1011,'OP_ProcessWorkspaceMsg',1041,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8273,1008,1011,'OP_PurchaseConsignmentResponseMsg',1041,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8274,1008,1011,'OP_QuickbarAddMsg',1041,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8275,1008,1011,'OP_SkillSlotMapping',1041,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8276,1008,1011,'OP_Unknown',10045,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8277,1008,1011,'OP_WSWeatherUpdateMsg',10046,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8278,1027,1027,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8279,1027,1027,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8280,1027,1027,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8281,1027,1027,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8282,1027,1027,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8283,1027,1027,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8284,1027,1027,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8285,1027,1027,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8286,1027,1027,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8287,1027,1027,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8288,1027,1027,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8289,1027,1027,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8290,1027,1027,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8291,1027,1027,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8292,1027,1027,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8293,1027,1027,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8294,1027,1027,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8295,1027,1027,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8296,1027,1027,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8297,1027,1027,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8298,1027,1027,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8299,1027,1027,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8300,1027,1027,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8301,1027,1027,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8302,1027,1027,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8303,1027,1027,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8304,1027,1027,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8305,1027,1027,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8306,1027,1027,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8307,1027,1027,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8308,1027,1027,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8309,1027,1027,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8310,1027,1027,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8311,1027,1027,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8312,1027,1027,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8313,1027,1027,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8314,1027,1027,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8315,1027,1027,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8316,1027,1027,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8317,1027,1027,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8318,1027,1027,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8319,1027,1027,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8320,1027,1027,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8321,1027,1027,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8322,1027,1027,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8323,1027,1027,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8324,1027,1027,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8325,1027,1027,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8326,1027,1027,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8327,1027,1027,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8328,1027,1027,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8329,1027,1027,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8330,1027,1027,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8331,1027,1027,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8332,1027,1027,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8333,1027,1027,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8334,1027,1027,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8335,1027,1027,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8336,1027,1027,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8337,1027,1027,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8338,1027,1027,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8339,1027,1027,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8340,1027,1027,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8341,1027,1027,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8342,1027,1027,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8343,1027,1027,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8344,1027,1027,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8345,1027,1027,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8346,1027,1027,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8347,1027,1027,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8348,1027,1027,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8349,1027,1027,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8350,1027,1027,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8351,1027,1027,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8352,1027,1027,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8353,1027,1027,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8354,1027,1027,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8355,1027,1027,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8356,1027,1027,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8357,1027,1027,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8358,1027,1027,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8359,1027,1027,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8360,1027,1027,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8361,1027,1027,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8362,1027,1027,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8363,1027,1027,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8364,1027,1027,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8365,1027,1027,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8366,1027,1027,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8367,1027,1027,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8368,1027,1027,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8369,1027,1027,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8370,1027,1027,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8371,1027,1027,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8372,1027,1027,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8373,1027,1027,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8374,1027,1027,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8375,1027,1027,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8376,1027,1027,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8377,1027,1027,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8378,1027,1027,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8379,1027,1027,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8380,1027,1027,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8381,1027,1027,'OP_GuildUpdateMsg',116,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8382,1027,1027,'OP_DeleteGuildMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8383,1027,1027,'OP_FellowshipExpMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8384,1027,1027,'OP_ConsignmentCloseStoreMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8385,1027,1027,'OP_ConsignItemRequestMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8386,1027,1027,'OP_ConsignItemResponseMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8387,1027,1027,'OP_PurchaseConsignmentRequestMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8388,1027,1027,'OP_HouseDeletedRemotelyMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8389,1027,1027,'OP_UpdateHouseDataMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8390,1027,1027,'OP_UpdateHouseAccessDataMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8391,1027,1027,'OP_PlayerHouseBaseScreenMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8392,1027,1027,'OP_PlayerHousePurchaseScreenMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8393,1027,1027,'OP_PlayerHouseAccessUpdateMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8394,1027,1027,'OP_PlayerHouseDisplayStatusMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8395,1027,1027,'OP_PlayerHouseCloseUIMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8396,1027,1027,'OP_BuyPlayerHouseMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8397,1027,1027,'OP_BuyPlayerHouseTintMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8398,1027,1027,'OP_CollectAllHouseItemsMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8399,1027,1027,'OP_RelinquishHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8400,1027,1027,'OP_EnterHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8401,1027,1027,'OP_ExitHouseMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8402,1027,1027,'OP_HouseDefaultAccessSetMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8403,1027,1027,'OP_HouseAccessSetMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8404,1027,1027,'OP_HouseAccessRemoveMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8405,1027,1027,'OP_PayHouseUpkeepMsg',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8406,1027,1027,'OP_MoveableObjectPlacementCriteri',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8407,1027,1027,'OP_EnterMoveObjectModeMsg',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8408,1027,1027,'OP_PositionMoveableObject',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8409,1027,1027,'OP_CancelMoveObjectModeMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8410,1027,1027,'OP_ShaderCustomizationMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8411,1027,1027,'OP_ReplaceableSubMeshesMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8412,1027,1027,'OP_HouseCustomizationScreenMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8413,1027,1027,'OP_CustomizationPurchaseRequestMs',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8414,1027,1027,'OP_CustomizationSetRequestMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8415,1027,1027,'OP_CustomizationReplyMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8416,1027,1027,'OP_TintWidgetsMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8417,1027,1027,'OP_ExamineConsignmentRequestMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8418,1027,1027,'OP_ExamineConsignmentResponseMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8419,1027,1027,'OP_UISettingsResponseMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8420,1027,1027,'OP_UIResetMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8421,1027,1027,'OP_KeymapLoadMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8422,1027,1027,'OP_KeymapNoneMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8423,1027,1027,'OP_KeymapDataMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8424,1027,1027,'OP_KeymapSaveMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8425,1027,1027,'OP_DispatchSpellCmdMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8426,1027,1027,'OP_EntityVerbsRequestMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8427,1027,1027,'OP_EntityVerbsReplyMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8428,1027,1027,'OP_EntityVerbsVerbMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8429,1027,1027,'OP_ChatRelationshipUpdateMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8430,1027,1027,'OP_LootItemsRequestMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8431,1027,1027,'OP_StoppedLootingMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8432,1027,1027,'OP_SitMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8433,1027,1027,'OP_StandMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8434,1027,1027,'OP_SatMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8435,1027,1027,'OP_StoodMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8436,1027,1027,'OP_ClearForTakeOffMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8437,1027,1027,'OP_ReadyForTakeOffMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8438,1027,1027,'OP_ShowIllusionsMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8439,1027,1027,'OP_HideIllusionsMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8440,1027,1027,'OP_ExamineItemRequestMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8441,1027,1027,'OP_ReadBookPageMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8442,1027,1027,'OP_DefaultGroupOptionsRequestMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8443,1027,1027,'OP_DefaultGroupOptionsMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8444,1027,1027,'OP_GroupOptionsMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8445,1027,1027,'OP_DisplayGroupOptionsScreenMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8446,1027,1027,'OP_DisplayInnVisitScreenMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8447,1027,1027,'OP_DumpSchedulerMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8448,1027,1027,'OP_LSRequestPlayerDescMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8449,1027,1027,'OP_LSCheckAcctLockMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8450,1027,1027,'OP_WSAcctLockStatusMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8451,1027,1027,'OP_RequestHelpRepathMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8452,1027,1027,'OP_RequestTargetLocMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8453,1027,1027,'OP_UpdateMotdMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8454,1027,1027,'OP_PerformPlayerKnockbackMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8455,1027,1027,'OP_PerformCameraShakeMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8456,1027,1027,'OP_PopulateSkillMapsMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8457,1027,1027,'OP_CancelledFeignMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8458,1027,1027,'OP_SignalMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8459,1027,1027,'OP_ShowCreateFromRecipeUIMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8460,1027,1027,'OP_CancelCreateFromRecipeMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8461,1027,1027,'OP_BeginItemCreationMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8462,1027,1027,'OP_StopItemCreationMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8463,1027,1027,'OP_ShowItemCreationProcessUIMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8464,1027,1027,'OP_UpdateItemCreationProcessUIMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8465,1027,1027,'OP_DisplayTSEventReactionMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8466,1027,1027,'OP_ShowRecipeBookMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8467,1027,1027,'OP_KnowledgebaseRequestMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8468,1027,1027,'OP_KnowledgebaseResponseMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8469,1027,1027,'OP_CSTicketHeaderRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8470,1027,1027,'OP_CSTicketInfoMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8471,1027,1027,'OP_CSTicketCommentRequestMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8472,1027,1027,'OP_CSTicketCommentResponseMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8473,1027,1027,'OP_CSTicketCreateMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8474,1027,1027,'OP_CSTicketAddCommentMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8475,1027,1027,'OP_CSTicketDeleteMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8476,1027,1027,'OP_CSTicketChangeNotificationMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8477,1027,1027,'OP_WorldDataUpdateMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8478,1027,1027,'OP_KnownLanguagesMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8479,1027,1027,'OP_LsRequestClientCrashLogMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8480,1027,1027,'OP_LsClientBaselogReplyMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8481,1027,1027,'OP_LsClientCrashlogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8482,1027,1027,'OP_LsClientAlertlogReplyMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8483,1027,1027,'OP_LsClientVerifylogReplyMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8484,1027,1027,'OP_ClientTeleportToLocationMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8485,1027,1027,'OP_UpdateClientPredFlagsMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8486,1027,1027,'OP_ChangeServerControlFlagMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8487,1027,1027,'OP_CSToolsRequestMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8488,1027,1027,'OP_CSToolsResponseMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8489,1027,1027,'OP_AddSocialStructureStandingMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8490,1027,1027,'OP_CreateBoatTransportsMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8491,1027,1027,'OP_PositionBoatTransportMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8492,1027,1027,'OP_MigrateBoatTransportMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8493,1027,1027,'OP_MigrateBoatTransportReplyMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8494,1027,1027,'OP_DisplayDebugNLLPointsMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8495,1027,1027,'OP_ExamineInfoRequestMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8496,1027,1027,'OP_QuickbarInitMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8497,1027,1027,'OP_QuickbarUpdateMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8498,1027,1027,'OP_MacroInitMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8499,1027,1027,'OP_MacroUpdateMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8500,1027,1027,'OP_QuestionnaireMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8501,1027,1027,'OP_LevelChangedMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8502,1027,1027,'OP_SpellGainedMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8503,1027,1027,'OP_EncounterBrokenMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8504,1027,1027,'OP_OnscreenMsgMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8505,1027,1027,'OP_DisplayWarningMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8506,1027,1027,'OP_ModifyGuildMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8507,1027,1027,'OP_GuildEventMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8508,1027,1027,'OP_GuildEventAddMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8509,1027,1027,'OP_GuildEventActionMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8510,1027,1027,'OP_GuildEventListMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8511,1027,1027,'OP_RequestGuildEventDetailsMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8512,1027,1027,'OP_GuildEventDetailsMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8513,1027,1027,'OP_RequestGuildInfoMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8514,1027,1027,'OP_GuildBankActionMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8515,1027,1027,'OP_GuildBankActionResponseMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8516,1027,1027,'OP_GuildBankItemDetailsRequestMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8517,1027,1027,'OP_GuildBankItemDetailsResponseMs',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8518,1027,1027,'OP_GuildBankUpdateMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8519,1027,1027,'OP_GuildBankEventListMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8520,1027,1027,'OP_RequestGuildBankEventDetailsMs',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8521,1027,1027,'OP_RewardPackMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8522,1027,1027,'OP_RenameGuildMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8523,1027,1027,'OP_ZoneToFriendRequestMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8524,1027,1027,'OP_ZoneToFriendReplyMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8525,1027,1027,'OP_ChatCreateChannelMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8526,1027,1027,'OP_ChatJoinChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8527,1027,1027,'OP_ChatWhoChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8528,1027,1027,'OP_ChatLeaveChannelMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8529,1027,1027,'OP_ChatTellChannelMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8530,1027,1027,'OP_ChatTellUserMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8531,1027,1027,'OP_ChatToggleFriendMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8532,1027,1027,'OP_ChatToggleIgnoreMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8533,1027,1027,'OP_ChatSendFriendsMsg',276,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8534,1027,1027,'OP_ChatSendIgnoresMsg',277,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8535,1027,1027,'OP_QuestReward',304,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8536,1027,1027,'OP_ChatFiltersMsg',319,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8537,1027,1027,'OP_MailGetHeadersMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8538,1027,1027,'OP_MailGetMessageMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8539,1027,1027,'OP_MailSendMessageMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8540,1027,1027,'OP_MailDeleteMessageMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8541,1027,1027,'OP_MailGetHeadersReplyMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8542,1027,1027,'OP_MailGetMessageReplyMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8543,1027,1027,'OP_MailSendMessageReplyMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8544,1027,1027,'OP_MailCommitSendMessageMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8545,1027,1027,'OP_MailSendSystemMessageMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8546,1027,1027,'OP_MailRemoveAttachFromMailMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8547,1027,1027,'OP_WaypointRequestMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8548,1027,1027,'OP_WaypointReplyMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8549,1027,1027,'OP_WaypointSelectMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8550,1027,1027,'OP_WaypointUpdateMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8551,1027,1027,'OP_CharNameChangedMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8552,1027,1027,'OP_ShowZoneTeleporterDestinations',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8553,1027,1027,'OP_SelectZoneTeleporterDestinatio',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8554,1027,1027,'OP_ReloadLocalizedTxtMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8555,1027,1027,'OP_RequestGuildMembershipMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8556,1027,1027,'OP_GuildMembershipResponseMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8557,1027,1027,'OP_LeaveGuildNotifyMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8558,1027,1027,'OP_JoinGuildNotifyMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8559,1027,1027,'OP_AvatarUpdateMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8560,1027,1027,'OP_BioUpdateMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8561,1027,1027,'OP_InspectPlayerMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8562,1027,1027,'OP_WSServerLockMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8563,1027,1027,'OP_LSServerLockMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8564,1027,1027,'OP_WSServerHideMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8565,1027,1027,'OP_CsCategoryRequestMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8566,1027,1027,'OP_CsCategoryResponseMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8567,1027,1027,'OP_KnowledgeWindowSlotMappingMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8568,1027,1027,'OP_LFGUpdateMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8569,1027,1027,'OP_AFKUpdateMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8570,1027,1027,'OP_AnonUpdateMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8571,1027,1027,'OP_UpdateActivePublicZonesMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8572,1027,1027,'OP_UnknownNpcMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8573,1027,1027,'OP_PromoFlagsDetailsMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8574,1027,1027,'OP_ConsignViewCreateMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8575,1027,1027,'OP_ConsignViewGetPageMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8576,1027,1027,'OP_ConsignViewReleaseMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8577,1027,1027,'OP_ConsignRemoveItemsMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8578,1027,1027,'OP_UpdateDebugRadiiMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8579,1027,1027,'OP_SnoopMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8580,1027,1027,'OP_ReportMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8581,1027,1027,'OP_UpdateRaidMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8582,1027,1027,'OP_ConsignViewSortMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8583,1027,1027,'OP_TitleUpdateMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8584,1027,1027,'OP_ClientFellMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8585,1027,1027,'OP_ClientInDeathRegionMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8586,1027,1027,'OP_CampClientMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8587,1027,1027,'OP_CSToolAccessResponseMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8588,1027,1027,'OP_TrackingUpdateMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8589,1027,1027,'OP_BeginTrackingMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8590,1027,1027,'OP_StopTrackingMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8591,1027,1027,'OP_GetAvatarAccessRequestForCSToo',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8592,1027,1027,'OP_AdvancementRequestMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8593,1027,1027,'OP_UpdateAvgFrameTimeMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8594,1027,1027,'OP_MapFogDataInitMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8595,1027,1027,'OP_MapFogDataUpdateMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8596,1027,1027,'OP_CloseGroupInviteWindowMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8597,1027,1027,'OP_UpdateGroupMemberDataMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8598,1027,1027,'OP_WorldPingMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8599,1027,1027,'OP_MoveLogUpdateMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8600,1027,1027,'OP_OfferQuestMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8601,1027,1027,'OP_WorldShutdownUpdateMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8602,1027,1027,'OP_DisplayMailScreenMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8603,1027,1027,'OP_ClientIdleBeginMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8604,1027,1027,'OP_ClientIdleEndMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8605,1027,1027,'OP_PurchaseConsignmentLoreCheckRe',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8606,1027,1027,'OP_NotifyApprenticeStoppedMentori',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8607,1027,1027,'OP_CorruptedClientMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8608,1027,1027,'OP_WorldDataChangeMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8609,1027,1027,'OP_MailEventNotificationMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8610,1027,1027,'OP_RestartZoneMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8611,1027,1027,'OP_FlightPathsMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8612,1027,1027,'OP_CharacterLinkdeadMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8613,1027,1027,'OP_CharTransferStartRequestMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8614,1027,1027,'OP_CharTransferStartReplyMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8615,1027,1027,'OP_CharTransferRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8616,1027,1027,'OP_CharTransferReplyMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8617,1027,1027,'OP_CharTransferRollbackRequestMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8618,1027,1027,'OP_CharTransferCommitRequestMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8619,1027,1027,'OP_CharTransferRollbackReplyMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8620,1027,1027,'OP_CharTransferCommitReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8621,1027,1027,'OP_GetCharacterSerializedRequestM',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8622,1027,1027,'OP_GetCharacterSerializedReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8623,1027,1027,'OP_CreateCharFromCBBRequestMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8624,1027,1027,'OP_CreateCharFromCBBReplyMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8625,1027,1027,'OP_HousingDataChangedMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8626,1027,1027,'OP_HousingRestoreMsg',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8627,1027,1027,'OP_AuctionItem',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8628,1027,1027,'OP_AuctionItemReply',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8629,1027,1027,'OP_AuctionCoin',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8630,1027,1027,'OP_AuctionCoinReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8631,1027,1027,'OP_AuctionCharacter',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8632,1027,1027,'OP_AuctionCharacterReply',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8633,1027,1027,'OP_AuctionCommitMsg',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8634,1027,1027,'OP_AuctionAbortMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8635,1027,1027,'OP_CharTransferValidateRequestMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8636,1027,1027,'OP_CharTransferValidateReplyMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8637,1027,1027,'OP_RaceRestrictionMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8638,1027,1027,'OP_SetInstanceDisplayNameMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8639,1027,1027,'OP_GetAuctionAssetIDMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8640,1027,1027,'OP_GetAuctionAssetIDReplyMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8641,1027,1027,'OP_ResendWorldChannelsMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8642,1027,1027,'OP_DisplayExchangeScreenMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8643,1027,1027,'OP_ArenaGameTypesMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8644,1027,1027,'OP_AuditAuctionEventMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8645,1027,1027,'OP_InviteRequestMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8646,1027,1027,'OP_InviteResponseMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8647,1027,1027,'OP_InviteTargetResponseMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8648,1027,1027,'OP_InspectPlayerRequestMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8649,1027,1027,'OP_DispatchMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8650,1027,1027,'OP_DisplayEventMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8651,1027,1027,'OP_PrePossessionMsg',438,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8652,1027,1027,'OP_PostPossessionMsg',439,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8653,1027,1027,'OP_AdventureList',471,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8654,1027,1027,'OP_CancelSpellCast',472,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8655,1027,1027,'OP_AttackAllowed',484,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8656,1027,1027,'OP_AttackNotAllowed',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8657,1027,1027,'OP_DressingRoom',491,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8658,1027,1027,'OP_SkillInfoRequest',495,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8659,1027,1027,'OP_SkillInfoResponse',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8660,1027,1027,'OP_MapRequest',501,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8661,1027,1027,'OP_EqUnknown',533,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8662,1027,1027,'OP_EqHearChatCmd',535,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8663,1027,1027,'OP_EqDisplayTextCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8664,1027,1027,'OP_EqCreateGhostCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8665,1027,1027,'OP_EqCreateWidgetCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8666,1027,1027,'OP_EqCreateSignWidgetCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8667,1027,1027,'OP_EqDestroyGhostCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8668,1027,1027,'OP_EqUpdateGhostCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8669,1027,1027,'OP_EqSetControlGhostCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8670,1027,1027,'OP_EqSetPOVGhostCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8671,1027,1027,'OP_EqHearCombatCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8672,1027,1027,'OP_EqHearSpellCastCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8673,1027,1027,'OP_EqHearSpellInterruptCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8674,1027,1027,'OP_EqHearSpellFizzleCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8675,1027,1027,'OP_EqHearConsiderCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8676,1027,1027,'OP_EqUpdateSubClassesCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8677,1027,1027,'OP_EqCreateListBoxCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8678,1027,1027,'OP_EqSetDebugPathPointsCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8679,1027,1027,'OP_EqCannedEmoteCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8680,1027,1027,'OP_EqStateCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8681,1027,1027,'OP_EqPlaySoundCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8682,1027,1027,'OP_EqPlaySound3DCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8683,1027,1027,'OP_EqPlayVoiceCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8684,1027,1027,'OP_EqHearDrowningCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8685,1027,1027,'OP_EqHearDeathCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8686,1027,1027,'OP_EqGroupMemberRemovedCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8687,1027,1027,'OP_EqHearChainEffectCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8688,1027,1027,'OP_EqReceiveOfferCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8689,1027,1027,'OP_EqInspectPCResultsCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8690,1027,1027,'OP_EqDrawablePathGraphCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8691,1027,1027,'OP_EqDialogOpenCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8692,1027,1027,'OP_EqDialogCloseCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8693,1027,1027,'OP_EqFactionUpdateCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8694,1027,1027,'OP_EqCollectionUpdateCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8695,1027,1027,'OP_EqCollectionFilterCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8696,1027,1027,'OP_EqCollectionItemCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8697,1027,1027,'OP_EqQuestJournalUpdateCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8698,1027,1027,'OP_EqQuestJournalReplyCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8699,1027,1027,'OP_EqQuestGroupCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8700,1027,1027,'OP_EqUpdateMerchantCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8701,1027,1027,'OP_EqUpdateStoreCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8702,1027,1027,'OP_EqUpdatePlayerTradeCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8703,1027,1027,'OP_EqHelpPathCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8704,1027,1027,'OP_EqHelpPathClearCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8705,1027,1027,'OP_EqUpdateBankCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8706,1027,1027,'OP_EqExamineInfoCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8707,1027,1027,'OP_EqCloseWindowCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8708,1027,1027,'OP_EqUpdateLootCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8709,1027,1027,'OP_EqJunctionListCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8710,1027,1027,'OP_EqShowDeathWindowCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8711,1027,1027,'OP_EqDisplaySpellFailCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8712,1027,1027,'OP_EqSpellCastStartCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8713,1027,1027,'OP_EqSpellCastEndCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8714,1027,1027,'OP_EqResurrectedCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8715,1027,1027,'OP_EqChoiceWinCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8716,1027,1027,'OP_EqSetDefaultVerbCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8717,1027,1027,'OP_EqInstructionWindowCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8718,1027,1027,'OP_EqInstructionWindowCloseCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8719,1027,1027,'OP_EqInstructionWindowGoalCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8720,1027,1027,'OP_EqInstructionWindowTaskCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8721,1027,1027,'OP_EqEnableGameEventCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8722,1027,1027,'OP_EqShowWindowCmd',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8723,1027,1027,'OP_EqEnableWindowCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8724,1027,1027,'OP_EqFlashWindowCmd',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8725,1027,1027,'OP_EqHearPlayFlavorCmd',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8726,1027,1027,'OP_EqUpdateSignWidgetCmd',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8727,1027,1027,'OP_EqDebugPVDCmd',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8728,1027,1027,'OP_EqShowBookCmd',607,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8729,1027,1027,'OP_EqQuestionnaireCmd',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8730,1027,1027,'OP_EqGetProbsCmd',609,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8731,1027,1027,'OP_EqHearHealCmd',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8732,1027,1027,'OP_EqChatChannelUpdateCmd',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8733,1027,1027,'OP_EqWhoChannelQueryReplyCmd',612,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8734,1027,1027,'OP_EqAvailWorldChannelsCmd',613,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8735,1027,1027,'OP_EqUpdateTargetCmd',614,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8736,1027,1027,'OP_EqConsignmentItemsCmd',616,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8737,1027,1027,'OP_EqStartBrokerCmd',618,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8738,1027,1027,'OP_EqMapExplorationCmd',619,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8739,1027,1027,'OP_EqStoreLogCmd',620,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8740,1027,1027,'OP_EqSpellMoveToRangeAndRetryCmd',621,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8741,1027,1027,'OP_EqUpdatePlayerMailCmd',622,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8742,1027,1027,'OP_EqArenaResultsCmd',623,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8743,1027,1027,'OP_EqGuildBankEventActionCmd',624,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8744,1027,1027,'OP_EqGuildBankExamineInfoCmd',625,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8745,1027,1027,'OP_EqHearSpellNoLandCmd',626,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8746,1027,1027,'OP_Lottery',630,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8747,1027,1027,'OP_GuildRecruitingMemberInfo',631,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8748,1027,1027,'OP_GuildRecruiting',632,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8749,1027,1027,'OP_GuildRecruitingDetails',633,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8750,1027,1027,'OP_GuildRecruitingImage',634,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8751,1027,1027,'OP_PointOfInterest',655,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8752,1027,1027,'OP_TraitsList',657,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8753,1027,1027,'OP_RecipeList',666,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8754,1027,1027,'OP_CharacterAchievements',668,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8755,1027,1027,'OP_AddClientToGroupMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8756,1027,1027,'OP_AddGroupToGroupMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8757,1027,1027,'OP_GuildKickMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8758,1027,1027,'OP_ProcessScriptMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8759,1027,1027,'OP_ProcessWorkspaceMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8760,1027,1027,'OP_PurchaseConsignmentResponseMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8761,1027,1027,'OP_QuickbarAddMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8762,1027,1027,'OP_SkillSlotMapping',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8763,1027,1027,'OP_Unknown',10058,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8764,1027,1027,'OP_WSWeatherUpdateMsg',10059,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8765,1028,1029,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8766,1028,1029,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8767,1028,1029,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8768,1028,1029,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8769,1028,1029,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8770,1028,1029,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8771,1028,1029,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8772,1028,1029,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8773,1028,1029,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8774,1028,1029,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8775,1028,1029,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8776,1028,1029,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8777,1028,1029,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8778,1028,1029,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8779,1028,1029,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8780,1028,1029,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8781,1028,1029,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8782,1028,1029,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8783,1028,1029,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8784,1028,1029,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8785,1028,1029,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8786,1028,1029,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8787,1028,1029,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8788,1028,1029,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8789,1028,1029,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8790,1028,1029,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8791,1028,1029,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8792,1028,1029,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8793,1028,1029,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8794,1028,1029,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8795,1028,1029,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8796,1028,1029,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8797,1028,1029,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8798,1028,1029,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8799,1028,1029,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8800,1028,1029,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8801,1028,1029,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8802,1028,1029,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8803,1028,1029,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8804,1028,1029,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8805,1028,1029,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8806,1028,1029,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8807,1028,1029,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8808,1028,1029,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8809,1028,1029,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8810,1028,1029,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8811,1028,1029,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8812,1028,1029,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8813,1028,1029,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8814,1028,1029,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8815,1028,1029,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8816,1028,1029,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8817,1028,1029,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8818,1028,1029,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8819,1028,1029,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8820,1028,1029,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8821,1028,1029,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8822,1028,1029,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8823,1028,1029,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8824,1028,1029,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8825,1028,1029,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8826,1028,1029,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8827,1028,1029,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8828,1028,1029,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8829,1028,1029,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8830,1028,1029,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8831,1028,1029,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8832,1028,1029,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8833,1028,1029,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8834,1028,1029,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8835,1028,1029,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8836,1028,1029,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8837,1028,1029,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8838,1028,1029,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8839,1028,1029,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8840,1028,1029,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8841,1028,1029,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8842,1028,1029,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8843,1028,1029,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8844,1028,1029,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8845,1028,1029,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8846,1028,1029,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8847,1028,1029,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8848,1028,1029,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8849,1028,1029,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8850,1028,1029,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8851,1028,1029,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8852,1028,1029,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8853,1028,1029,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8854,1028,1029,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8855,1028,1029,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8856,1028,1029,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8857,1028,1029,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8858,1028,1029,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8859,1028,1029,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8860,1028,1029,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8861,1028,1029,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8862,1028,1029,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8863,1028,1029,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8864,1028,1029,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8865,1028,1029,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8866,1028,1029,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8867,1028,1029,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8868,1028,1029,'OP_GuildUpdateMsg',117,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8869,1028,1029,'OP_DeleteGuildMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8870,1028,1029,'OP_FellowshipExpMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8871,1028,1029,'OP_ConsignmentCloseStoreMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8872,1028,1029,'OP_ConsignItemRequestMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8873,1028,1029,'OP_ConsignItemResponseMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8874,1028,1029,'OP_PurchaseConsignmentRequestMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8875,1028,1029,'OP_HouseDeletedRemotelyMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8876,1028,1029,'OP_UpdateHouseDataMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8877,1028,1029,'OP_UpdateHouseAccessDataMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8878,1028,1029,'OP_PlayerHouseBaseScreenMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8879,1028,1029,'OP_PlayerHousePurchaseScreenMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8880,1028,1029,'OP_PlayerHouseAccessUpdateMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8881,1028,1029,'OP_PlayerHouseDisplayStatusMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8882,1028,1029,'OP_PlayerHouseCloseUIMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8883,1028,1029,'OP_BuyPlayerHouseMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8884,1028,1029,'OP_BuyPlayerHouseTintMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8885,1028,1029,'OP_CollectAllHouseItemsMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8886,1028,1029,'OP_RelinquishHouseMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8887,1028,1029,'OP_EnterHouseMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8888,1028,1029,'OP_ExitHouseMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8889,1028,1029,'OP_HouseDefaultAccessSetMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8890,1028,1029,'OP_HouseAccessSetMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8891,1028,1029,'OP_HouseAccessRemoveMsg',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8892,1028,1029,'OP_PayHouseUpkeepMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8893,1028,1029,'OP_MoveableObjectPlacementCriteri',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8894,1028,1029,'OP_EnterMoveObjectModeMsg',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8895,1028,1029,'OP_PositionMoveableObject',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8896,1028,1029,'OP_CancelMoveObjectModeMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8897,1028,1029,'OP_ShaderCustomizationMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8898,1028,1029,'OP_ReplaceableSubMeshesMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8899,1028,1029,'OP_HouseCustomizationScreenMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8900,1028,1029,'OP_CustomizationPurchaseRequestMs',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8901,1028,1029,'OP_CustomizationSetRequestMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8902,1028,1029,'OP_CustomizationReplyMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8903,1028,1029,'OP_TintWidgetsMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8904,1028,1029,'OP_ExamineConsignmentRequestMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8905,1028,1029,'OP_ExamineConsignmentResponseMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8906,1028,1029,'OP_UISettingsResponseMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8907,1028,1029,'OP_UIResetMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8908,1028,1029,'OP_KeymapLoadMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8909,1028,1029,'OP_KeymapNoneMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8910,1028,1029,'OP_KeymapDataMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8911,1028,1029,'OP_KeymapSaveMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8912,1028,1029,'OP_DispatchSpellCmdMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8913,1028,1029,'OP_EntityVerbsRequestMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8914,1028,1029,'OP_EntityVerbsReplyMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8915,1028,1029,'OP_EntityVerbsVerbMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8916,1028,1029,'OP_ChatRelationshipUpdateMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8917,1028,1029,'OP_LootItemsRequestMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8918,1028,1029,'OP_StoppedLootingMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8919,1028,1029,'OP_SitMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8920,1028,1029,'OP_StandMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8921,1028,1029,'OP_SatMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8922,1028,1029,'OP_StoodMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8923,1028,1029,'OP_ClearForTakeOffMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8924,1028,1029,'OP_ReadyForTakeOffMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8925,1028,1029,'OP_ShowIllusionsMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8926,1028,1029,'OP_HideIllusionsMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8927,1028,1029,'OP_ExamineItemRequestMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8928,1028,1029,'OP_ReadBookPageMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8929,1028,1029,'OP_DefaultGroupOptionsRequestMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8930,1028,1029,'OP_DefaultGroupOptionsMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8931,1028,1029,'OP_GroupOptionsMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8932,1028,1029,'OP_DisplayGroupOptionsScreenMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8933,1028,1029,'OP_DisplayInnVisitScreenMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8934,1028,1029,'OP_DumpSchedulerMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8935,1028,1029,'OP_LSRequestPlayerDescMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8936,1028,1029,'OP_LSCheckAcctLockMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8937,1028,1029,'OP_WSAcctLockStatusMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8938,1028,1029,'OP_RequestHelpRepathMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8939,1028,1029,'OP_RequestTargetLocMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8940,1028,1029,'OP_UpdateMotdMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8941,1028,1029,'OP_PerformPlayerKnockbackMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8942,1028,1029,'OP_PerformCameraShakeMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8943,1028,1029,'OP_PopulateSkillMapsMsg',198,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8944,1028,1029,'OP_CancelledFeignMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8945,1028,1029,'OP_SignalMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8946,1028,1029,'OP_ShowCreateFromRecipeUIMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8947,1028,1029,'OP_CancelCreateFromRecipeMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8948,1028,1029,'OP_BeginItemCreationMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8949,1028,1029,'OP_StopItemCreationMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8950,1028,1029,'OP_ShowItemCreationProcessUIMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8951,1028,1029,'OP_UpdateItemCreationProcessUIMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8952,1028,1029,'OP_DisplayTSEventReactionMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8953,1028,1029,'OP_ShowRecipeBookMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8954,1028,1029,'OP_KnowledgebaseRequestMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8955,1028,1029,'OP_KnowledgebaseResponseMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8956,1028,1029,'OP_CSTicketHeaderRequestMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8957,1028,1029,'OP_CSTicketInfoMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8958,1028,1029,'OP_CSTicketCommentRequestMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8959,1028,1029,'OP_CSTicketCommentResponseMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8960,1028,1029,'OP_CSTicketCreateMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8961,1028,1029,'OP_CSTicketAddCommentMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8962,1028,1029,'OP_CSTicketDeleteMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8963,1028,1029,'OP_CSTicketChangeNotificationMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8964,1028,1029,'OP_WorldDataUpdateMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8965,1028,1029,'OP_KnownLanguagesMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8966,1028,1029,'OP_LsRequestClientCrashLogMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8967,1028,1029,'OP_LsClientBaselogReplyMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8968,1028,1029,'OP_LsClientCrashlogReplyMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8969,1028,1029,'OP_LsClientAlertlogReplyMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8970,1028,1029,'OP_LsClientVerifylogReplyMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8971,1028,1029,'OP_ClientTeleportToLocationMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8972,1028,1029,'OP_UpdateClientPredFlagsMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8973,1028,1029,'OP_ChangeServerControlFlagMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8974,1028,1029,'OP_CSToolsRequestMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8975,1028,1029,'OP_CSToolsResponseMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8976,1028,1029,'OP_AddSocialStructureStandingMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8977,1028,1029,'OP_CreateBoatTransportsMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8978,1028,1029,'OP_PositionBoatTransportMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8979,1028,1029,'OP_MigrateBoatTransportMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8980,1028,1029,'OP_MigrateBoatTransportReplyMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8981,1028,1029,'OP_DisplayDebugNLLPointsMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8982,1028,1029,'OP_ExamineInfoRequestMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8983,1028,1029,'OP_QuickbarInitMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8984,1028,1029,'OP_QuickbarUpdateMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8985,1028,1029,'OP_MacroInitMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8986,1028,1029,'OP_MacroUpdateMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8987,1028,1029,'OP_QuestionnaireMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8988,1028,1029,'OP_LevelChangedMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8989,1028,1029,'OP_SpellGainedMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8990,1028,1029,'OP_EncounterBrokenMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8991,1028,1029,'OP_OnscreenMsgMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8992,1028,1029,'OP_DisplayWarningMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8993,1028,1029,'OP_ModifyGuildMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8994,1028,1029,'OP_GuildEventMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8995,1028,1029,'OP_GuildEventAddMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8996,1028,1029,'OP_GuildEventActionMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8997,1028,1029,'OP_GuildEventListMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8998,1028,1029,'OP_RequestGuildEventDetailsMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (8999,1028,1029,'OP_GuildEventDetailsMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9000,1028,1029,'OP_RequestGuildInfoMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9001,1028,1029,'OP_GuildBankActionMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9002,1028,1029,'OP_GuildBankActionResponseMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9003,1028,1029,'OP_GuildBankItemDetailsRequestMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9004,1028,1029,'OP_GuildBankItemDetailsResponseMs',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9005,1028,1029,'OP_GuildBankUpdateMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9006,1028,1029,'OP_GuildBankEventListMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9007,1028,1029,'OP_RequestGuildBankEventDetailsMs',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9008,1028,1029,'OP_RewardPackMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9009,1028,1029,'OP_RenameGuildMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9010,1028,1029,'OP_ZoneToFriendRequestMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9011,1028,1029,'OP_ZoneToFriendReplyMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9012,1028,1029,'OP_ChatCreateChannelMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9013,1028,1029,'OP_ChatJoinChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9014,1028,1029,'OP_ChatWhoChannelMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9015,1028,1029,'OP_ChatLeaveChannelMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9016,1028,1029,'OP_ChatTellChannelMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9017,1028,1029,'OP_ChatTellUserMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9018,1028,1029,'OP_ChatToggleFriendMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9019,1028,1029,'OP_ChatToggleIgnoreMsg',276,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9020,1028,1029,'OP_ChatSendFriendsMsg',277,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9021,1028,1029,'OP_ChatSendIgnoresMsg',278,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9022,1028,1029,'OP_QuestReward',305,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9023,1028,1029,'OP_ChatFiltersMsg',320,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9024,1028,1029,'OP_MailGetHeadersMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9025,1028,1029,'OP_MailGetMessageMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9026,1028,1029,'OP_MailSendMessageMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9027,1028,1029,'OP_MailDeleteMessageMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9028,1028,1029,'OP_MailGetHeadersReplyMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9029,1028,1029,'OP_MailGetMessageReplyMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9030,1028,1029,'OP_MailSendMessageReplyMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9031,1028,1029,'OP_MailCommitSendMessageMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9032,1028,1029,'OP_MailSendSystemMessageMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9033,1028,1029,'OP_MailRemoveAttachFromMailMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9034,1028,1029,'OP_WaypointRequestMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9035,1028,1029,'OP_WaypointReplyMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9036,1028,1029,'OP_WaypointSelectMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9037,1028,1029,'OP_WaypointUpdateMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9038,1028,1029,'OP_CharNameChangedMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9039,1028,1029,'OP_ShowZoneTeleporterDestinations',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9040,1028,1029,'OP_SelectZoneTeleporterDestinatio',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9041,1028,1029,'OP_ReloadLocalizedTxtMsg',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9042,1028,1029,'OP_RequestGuildMembershipMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9043,1028,1029,'OP_GuildMembershipResponseMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9044,1028,1029,'OP_LeaveGuildNotifyMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9045,1028,1029,'OP_JoinGuildNotifyMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9046,1028,1029,'OP_AvatarUpdateMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9047,1028,1029,'OP_BioUpdateMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9048,1028,1029,'OP_InspectPlayerMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9049,1028,1029,'OP_WSServerLockMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9050,1028,1029,'OP_LSServerLockMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9051,1028,1029,'OP_WSServerHideMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9052,1028,1029,'OP_CsCategoryRequestMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9053,1028,1029,'OP_CsCategoryResponseMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9054,1028,1029,'OP_KnowledgeWindowSlotMappingMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9055,1028,1029,'OP_LFGUpdateMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9056,1028,1029,'OP_AFKUpdateMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9057,1028,1029,'OP_AnonUpdateMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9058,1028,1029,'OP_UpdateActivePublicZonesMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9059,1028,1029,'OP_UnknownNpcMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9060,1028,1029,'OP_PromoFlagsDetailsMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9061,1028,1029,'OP_ConsignViewCreateMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9062,1028,1029,'OP_ConsignViewGetPageMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9063,1028,1029,'OP_ConsignViewReleaseMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9064,1028,1029,'OP_ConsignRemoveItemsMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9065,1028,1029,'OP_UpdateDebugRadiiMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9066,1028,1029,'OP_SnoopMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9067,1028,1029,'OP_ReportMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9068,1028,1029,'OP_UpdateRaidMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9069,1028,1029,'OP_ConsignViewSortMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9070,1028,1029,'OP_TitleUpdateMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9071,1028,1029,'OP_ClientFellMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9072,1028,1029,'OP_ClientInDeathRegionMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9073,1028,1029,'OP_CampClientMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9074,1028,1029,'OP_CSToolAccessResponseMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9075,1028,1029,'OP_TrackingUpdateMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9076,1028,1029,'OP_BeginTrackingMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9077,1028,1029,'OP_StopTrackingMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9078,1028,1029,'OP_GetAvatarAccessRequestForCSToo',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9079,1028,1029,'OP_AdvancementRequestMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9080,1028,1029,'OP_UpdateAvgFrameTimeMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9081,1028,1029,'OP_MapFogDataInitMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9082,1028,1029,'OP_MapFogDataUpdateMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9083,1028,1029,'OP_CloseGroupInviteWindowMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9084,1028,1029,'OP_UpdateGroupMemberDataMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9085,1028,1029,'OP_WorldPingMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9086,1028,1029,'OP_MoveLogUpdateMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9087,1028,1029,'OP_OfferQuestMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9088,1028,1029,'OP_WorldShutdownUpdateMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9089,1028,1029,'OP_DisplayMailScreenMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9090,1028,1029,'OP_ClientIdleBeginMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9091,1028,1029,'OP_ClientIdleEndMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9092,1028,1029,'OP_PurchaseConsignmentLoreCheckRe',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9093,1028,1029,'OP_NotifyApprenticeStoppedMentori',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9094,1028,1029,'OP_CorruptedClientMsg',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9095,1028,1029,'OP_WorldDataChangeMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9096,1028,1029,'OP_MailEventNotificationMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9097,1028,1029,'OP_RestartZoneMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9098,1028,1029,'OP_FlightPathsMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9099,1028,1029,'OP_CharacterLinkdeadMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9100,1028,1029,'OP_CharTransferStartRequestMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9101,1028,1029,'OP_CharTransferStartReplyMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9102,1028,1029,'OP_CharTransferRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9103,1028,1029,'OP_CharTransferReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9104,1028,1029,'OP_CharTransferRollbackRequestMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9105,1028,1029,'OP_CharTransferCommitRequestMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9106,1028,1029,'OP_CharTransferRollbackReplyMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9107,1028,1029,'OP_CharTransferCommitReplyMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9108,1028,1029,'OP_GetCharacterSerializedRequestM',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9109,1028,1029,'OP_GetCharacterSerializedReplyMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9110,1028,1029,'OP_CreateCharFromCBBRequestMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9111,1028,1029,'OP_CreateCharFromCBBReplyMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9112,1028,1029,'OP_HousingDataChangedMsg',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9113,1028,1029,'OP_HousingRestoreMsg',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9114,1028,1029,'OP_AuctionItem',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9115,1028,1029,'OP_AuctionItemReply',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9116,1028,1029,'OP_AuctionCoin',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9117,1028,1029,'OP_AuctionCoinReply',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9118,1028,1029,'OP_AuctionCharacter',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9119,1028,1029,'OP_AuctionCharacterReply',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9120,1028,1029,'OP_AuctionCommitMsg',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9121,1028,1029,'OP_AuctionAbortMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9122,1028,1029,'OP_CharTransferValidateRequestMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9123,1028,1029,'OP_CharTransferValidateReplyMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9124,1028,1029,'OP_RaceRestrictionMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9125,1028,1029,'OP_SetInstanceDisplayNameMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9126,1028,1029,'OP_GetAuctionAssetIDMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9127,1028,1029,'OP_GetAuctionAssetIDReplyMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9128,1028,1029,'OP_ResendWorldChannelsMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9129,1028,1029,'OP_DisplayExchangeScreenMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9130,1028,1029,'OP_ArenaGameTypesMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9131,1028,1029,'OP_AuditAuctionEventMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9132,1028,1029,'OP_InviteRequestMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9133,1028,1029,'OP_InviteResponseMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9134,1028,1029,'OP_InviteTargetResponseMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9135,1028,1029,'OP_InspectPlayerRequestMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9136,1028,1029,'OP_DispatchMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9137,1028,1029,'OP_DisplayEventMsg',438,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9138,1028,1029,'OP_PrePossessionMsg',439,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9139,1028,1029,'OP_PostPossessionMsg',440,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9140,1028,1029,'OP_AdventureList',472,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9141,1028,1029,'OP_CancelSpellCast',473,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9142,1028,1029,'OP_AttackAllowed',485,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9143,1028,1029,'OP_AttackNotAllowed',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9144,1028,1029,'OP_DressingRoom',492,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9145,1028,1029,'OP_SkillInfoRequest',496,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9146,1028,1029,'OP_SkillInfoResponse',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9147,1028,1029,'OP_MapRequest',502,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9148,1028,1029,'OP_EqUnknown',534,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9149,1028,1029,'OP_EqHearChatCmd',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9150,1028,1029,'OP_EqDisplayTextCmd',537,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9151,1028,1029,'OP_EqCreateGhostCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9152,1028,1029,'OP_EqCreateWidgetCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9153,1028,1029,'OP_EqCreateSignWidgetCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9154,1028,1029,'OP_EqDestroyGhostCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9155,1028,1029,'OP_EqUpdateGhostCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9156,1028,1029,'OP_EqSetControlGhostCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9157,1028,1029,'OP_EqSetPOVGhostCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9158,1028,1029,'OP_EqHearCombatCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9159,1028,1029,'OP_EqHearSpellCastCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9160,1028,1029,'OP_EqHearSpellInterruptCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9161,1028,1029,'OP_EqHearSpellFizzleCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9162,1028,1029,'OP_EqHearConsiderCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9163,1028,1029,'OP_EqUpdateSubClassesCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9164,1028,1029,'OP_EqCreateListBoxCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9165,1028,1029,'OP_EqSetDebugPathPointsCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9166,1028,1029,'OP_EqCannedEmoteCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9167,1028,1029,'OP_EqStateCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9168,1028,1029,'OP_EqPlaySoundCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9169,1028,1029,'OP_EqPlaySound3DCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9170,1028,1029,'OP_EqPlayVoiceCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9171,1028,1029,'OP_EqHearDrowningCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9172,1028,1029,'OP_EqHearDeathCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9173,1028,1029,'OP_EqGroupMemberRemovedCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9174,1028,1029,'OP_EqHearChainEffectCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9175,1028,1029,'OP_EqReceiveOfferCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9176,1028,1029,'OP_EqInspectPCResultsCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9177,1028,1029,'OP_EqDrawablePathGraphCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9178,1028,1029,'OP_EqDialogOpenCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9179,1028,1029,'OP_EqDialogCloseCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9180,1028,1029,'OP_EqFactionUpdateCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9181,1028,1029,'OP_EqCollectionUpdateCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9182,1028,1029,'OP_EqCollectionFilterCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9183,1028,1029,'OP_EqCollectionItemCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9184,1028,1029,'OP_EqQuestJournalUpdateCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9185,1028,1029,'OP_EqQuestJournalReplyCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9186,1028,1029,'OP_EqQuestGroupCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9187,1028,1029,'OP_EqUpdateMerchantCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9188,1028,1029,'OP_EqUpdateStoreCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9189,1028,1029,'OP_EqUpdatePlayerTradeCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9190,1028,1029,'OP_EqHelpPathCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9191,1028,1029,'OP_EqHelpPathClearCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9192,1028,1029,'OP_EqUpdateBankCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9193,1028,1029,'OP_EqExamineInfoCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9194,1028,1029,'OP_EqCloseWindowCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9195,1028,1029,'OP_EqUpdateLootCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9196,1028,1029,'OP_EqJunctionListCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9197,1028,1029,'OP_EqShowDeathWindowCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9198,1028,1029,'OP_EqDisplaySpellFailCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9199,1028,1029,'OP_EqSpellCastStartCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9200,1028,1029,'OP_EqSpellCastEndCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9201,1028,1029,'OP_EqResurrectedCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9202,1028,1029,'OP_EqChoiceWinCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9203,1028,1029,'OP_EqSetDefaultVerbCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9204,1028,1029,'OP_EqInstructionWindowCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9205,1028,1029,'OP_EqInstructionWindowCloseCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9206,1028,1029,'OP_EqInstructionWindowGoalCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9207,1028,1029,'OP_EqInstructionWindowTaskCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9208,1028,1029,'OP_EqEnableGameEventCmd',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9209,1028,1029,'OP_EqShowWindowCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9210,1028,1029,'OP_EqEnableWindowCmd',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9211,1028,1029,'OP_EqFlashWindowCmd',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9212,1028,1029,'OP_EqHearPlayFlavorCmd',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9213,1028,1029,'OP_EqUpdateSignWidgetCmd',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9214,1028,1029,'OP_EqDebugPVDCmd',607,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9215,1028,1029,'OP_EqShowBookCmd',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9216,1028,1029,'OP_EqQuestionnaireCmd',609,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9217,1028,1029,'OP_EqGetProbsCmd',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9218,1028,1029,'OP_EqHearHealCmd',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9219,1028,1029,'OP_EqChatChannelUpdateCmd',612,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9220,1028,1029,'OP_EqWhoChannelQueryReplyCmd',613,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9221,1028,1029,'OP_EqAvailWorldChannelsCmd',614,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9222,1028,1029,'OP_EqUpdateTargetCmd',615,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9223,1028,1029,'OP_EqConsignmentItemsCmd',617,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9224,1028,1029,'OP_EqStartBrokerCmd',619,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9225,1028,1029,'OP_EqMapExplorationCmd',620,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9226,1028,1029,'OP_EqStoreLogCmd',621,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9227,1028,1029,'OP_EqSpellMoveToRangeAndRetryCmd',622,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9228,1028,1029,'OP_EqUpdatePlayerMailCmd',623,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9229,1028,1029,'OP_EqArenaResultsCmd',624,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9230,1028,1029,'OP_EqGuildBankEventActionCmd',625,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9231,1028,1029,'OP_EqGuildBankExamineInfoCmd',626,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9232,1028,1029,'OP_EqHearSpellNoLandCmd',627,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9233,1028,1029,'OP_Lottery',631,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9234,1028,1029,'OP_GuildRecruitingMemberInfo',632,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9235,1028,1029,'OP_GuildRecruiting',633,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9236,1028,1029,'OP_GuildRecruitingDetails',634,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9237,1028,1029,'OP_GuildRecruitingImage',635,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9238,1028,1029,'OP_PointOfInterest',656,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9239,1028,1029,'OP_TraitsList',658,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9240,1028,1029,'OP_RecipeList',667,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9241,1028,1029,'OP_CharacterAchievements',669,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9242,1028,1029,'OP_AddClientToGroupMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9243,1028,1029,'OP_AddGroupToGroupMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9244,1028,1029,'OP_GuildKickMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9245,1028,1029,'OP_ProcessScriptMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9246,1028,1029,'OP_ProcessWorkspaceMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9247,1028,1029,'OP_PurchaseConsignmentResponseMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9248,1028,1029,'OP_QuickbarAddMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9249,1028,1029,'OP_SkillSlotMapping',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9250,1028,1029,'OP_Unknown',10058,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9251,1028,1029,'OP_WSWeatherUpdateMsg',10059,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9252,1032,1032,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9253,1032,1032,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9254,1032,1032,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9255,1032,1032,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9256,1032,1032,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9257,1032,1032,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9258,1032,1032,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9259,1032,1032,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9260,1032,1032,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9261,1032,1032,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9262,1032,1032,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9263,1032,1032,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9264,1032,1032,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9265,1032,1032,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9266,1032,1032,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9267,1032,1032,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9268,1032,1032,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9269,1032,1032,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9270,1032,1032,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9271,1032,1032,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9272,1032,1032,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9273,1032,1032,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9274,1032,1032,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9275,1032,1032,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9276,1032,1032,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9277,1032,1032,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9278,1032,1032,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9279,1032,1032,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9280,1032,1032,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9281,1032,1032,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9282,1032,1032,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9283,1032,1032,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9284,1032,1032,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9285,1032,1032,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9286,1032,1032,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9287,1032,1032,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9288,1032,1032,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9289,1032,1032,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9290,1032,1032,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9291,1032,1032,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9292,1032,1032,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9293,1032,1032,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9294,1032,1032,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9295,1032,1032,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9296,1032,1032,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9297,1032,1032,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9298,1032,1032,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9299,1032,1032,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9300,1032,1032,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9301,1032,1032,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9302,1032,1032,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9303,1032,1032,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9304,1032,1032,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9305,1032,1032,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9306,1032,1032,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9307,1032,1032,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9308,1032,1032,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9309,1032,1032,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9310,1032,1032,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9311,1032,1032,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9312,1032,1032,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9313,1032,1032,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9314,1032,1032,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9315,1032,1032,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9316,1032,1032,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9317,1032,1032,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9318,1032,1032,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9319,1032,1032,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9320,1032,1032,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9321,1032,1032,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9322,1032,1032,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9323,1032,1032,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9324,1032,1032,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9325,1032,1032,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9326,1032,1032,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9327,1032,1032,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9328,1032,1032,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9329,1032,1032,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9330,1032,1032,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9331,1032,1032,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9332,1032,1032,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9333,1032,1032,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9334,1032,1032,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9335,1032,1032,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9336,1032,1032,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9337,1032,1032,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9338,1032,1032,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9339,1032,1032,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9340,1032,1032,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9341,1032,1032,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9342,1032,1032,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9343,1032,1032,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9344,1032,1032,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9345,1032,1032,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9346,1032,1032,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9347,1032,1032,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9348,1032,1032,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9349,1032,1032,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9350,1032,1032,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9351,1032,1032,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9352,1032,1032,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9353,1032,1032,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9354,1032,1032,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9355,1032,1032,'OP_GuildUpdateMsg',118,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9356,1032,1032,'OP_DeleteGuildMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9357,1032,1032,'OP_FellowshipExpMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9358,1032,1032,'OP_ConsignmentCloseStoreMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9359,1032,1032,'OP_ConsignItemRequestMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9360,1032,1032,'OP_ConsignItemResponseMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9361,1032,1032,'OP_PurchaseConsignmentRequestMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9362,1032,1032,'OP_HouseDeletedRemotelyMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9363,1032,1032,'OP_UpdateHouseDataMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9364,1032,1032,'OP_UpdateHouseAccessDataMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9365,1032,1032,'OP_PlayerHouseBaseScreenMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9366,1032,1032,'OP_PlayerHousePurchaseScreenMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9367,1032,1032,'OP_PlayerHouseAccessUpdateMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9368,1032,1032,'OP_PlayerHouseDisplayStatusMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9369,1032,1032,'OP_PlayerHouseCloseUIMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9370,1032,1032,'OP_BuyPlayerHouseMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9371,1032,1032,'OP_BuyPlayerHouseTintMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9372,1032,1032,'OP_CollectAllHouseItemsMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9373,1032,1032,'OP_RelinquishHouseMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9374,1032,1032,'OP_EnterHouseMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9375,1032,1032,'OP_ExitHouseMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9376,1032,1032,'OP_HouseDefaultAccessSetMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9377,1032,1032,'OP_HouseAccessSetMsg',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9378,1032,1032,'OP_HouseAccessRemoveMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9379,1032,1032,'OP_PayHouseUpkeepMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9380,1032,1032,'OP_MoveableObjectPlacementCriteri',144,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9381,1032,1032,'OP_EnterMoveObjectModeMsg',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9382,1032,1032,'OP_PositionMoveableObject',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9383,1032,1032,'OP_CancelMoveObjectModeMsg',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9384,1032,1032,'OP_ShaderCustomizationMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9385,1032,1032,'OP_ReplaceableSubMeshesMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9386,1032,1032,'OP_HouseCustomizationScreenMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9387,1032,1032,'OP_CustomizationPurchaseRequestMs',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9388,1032,1032,'OP_CustomizationSetRequestMsg',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9389,1032,1032,'OP_CustomizationReplyMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9390,1032,1032,'OP_TintWidgetsMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9391,1032,1032,'OP_ExamineConsignmentRequestMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9392,1032,1032,'OP_ExamineConsignmentResponseMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9393,1032,1032,'OP_UISettingsResponseMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9394,1032,1032,'OP_UIResetMsg',159,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9395,1032,1032,'OP_KeymapLoadMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9396,1032,1032,'OP_KeymapNoneMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9397,1032,1032,'OP_KeymapDataMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9398,1032,1032,'OP_KeymapSaveMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9399,1032,1032,'OP_DispatchSpellCmdMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9400,1032,1032,'OP_EntityVerbsRequestMsg',166,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9401,1032,1032,'OP_EntityVerbsReplyMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9402,1032,1032,'OP_EntityVerbsVerbMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9403,1032,1032,'OP_ChatRelationshipUpdateMsg',170,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9404,1032,1032,'OP_LootItemsRequestMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9405,1032,1032,'OP_StoppedLootingMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9406,1032,1032,'OP_SitMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9407,1032,1032,'OP_StandMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9408,1032,1032,'OP_SatMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9409,1032,1032,'OP_StoodMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9410,1032,1032,'OP_ClearForTakeOffMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9411,1032,1032,'OP_ReadyForTakeOffMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9412,1032,1032,'OP_ShowIllusionsMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9413,1032,1032,'OP_HideIllusionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9414,1032,1032,'OP_ExamineItemRequestMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9415,1032,1032,'OP_ReadBookPageMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9416,1032,1032,'OP_DefaultGroupOptionsRequestMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9417,1032,1032,'OP_DefaultGroupOptionsMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9418,1032,1032,'OP_GroupOptionsMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9419,1032,1032,'OP_DisplayGroupOptionsScreenMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9420,1032,1032,'OP_DisplayInnVisitScreenMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9421,1032,1032,'OP_DumpSchedulerMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9422,1032,1032,'OP_LSRequestPlayerDescMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9423,1032,1032,'OP_LSCheckAcctLockMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9424,1032,1032,'OP_WSAcctLockStatusMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9425,1032,1032,'OP_RequestHelpRepathMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9426,1032,1032,'OP_RequestTargetLocMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9427,1032,1032,'OP_UpdateMotdMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9428,1032,1032,'OP_PerformPlayerKnockbackMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9429,1032,1032,'OP_PerformCameraShakeMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9430,1032,1032,'OP_PopulateSkillMapsMsg',199,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9431,1032,1032,'OP_CancelledFeignMsg',201,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9432,1032,1032,'OP_SignalMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9433,1032,1032,'OP_ShowCreateFromRecipeUIMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9434,1032,1032,'OP_CancelCreateFromRecipeMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9435,1032,1032,'OP_BeginItemCreationMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9436,1032,1032,'OP_StopItemCreationMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9437,1032,1032,'OP_ShowItemCreationProcessUIMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9438,1032,1032,'OP_UpdateItemCreationProcessUIMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9439,1032,1032,'OP_DisplayTSEventReactionMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9440,1032,1032,'OP_ShowRecipeBookMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9441,1032,1032,'OP_KnowledgebaseRequestMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9442,1032,1032,'OP_KnowledgebaseResponseMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9443,1032,1032,'OP_CSTicketHeaderRequestMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9444,1032,1032,'OP_CSTicketInfoMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9445,1032,1032,'OP_CSTicketCommentRequestMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9446,1032,1032,'OP_CSTicketCommentResponseMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9447,1032,1032,'OP_CSTicketCreateMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9448,1032,1032,'OP_CSTicketAddCommentMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9449,1032,1032,'OP_CSTicketDeleteMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9450,1032,1032,'OP_CSTicketChangeNotificationMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9451,1032,1032,'OP_WorldDataUpdateMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9452,1032,1032,'OP_KnownLanguagesMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9453,1032,1032,'OP_LsRequestClientCrashLogMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9454,1032,1032,'OP_LsClientBaselogReplyMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9455,1032,1032,'OP_LsClientCrashlogReplyMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9456,1032,1032,'OP_LsClientAlertlogReplyMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9457,1032,1032,'OP_LsClientVerifylogReplyMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9458,1032,1032,'OP_ClientTeleportToLocationMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9459,1032,1032,'OP_UpdateClientPredFlagsMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9460,1032,1032,'OP_ChangeServerControlFlagMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9461,1032,1032,'OP_CSToolsRequestMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9462,1032,1032,'OP_CSToolsResponseMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9463,1032,1032,'OP_AddSocialStructureStandingMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9464,1032,1032,'OP_CreateBoatTransportsMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9465,1032,1032,'OP_PositionBoatTransportMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9466,1032,1032,'OP_MigrateBoatTransportMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9467,1032,1032,'OP_MigrateBoatTransportReplyMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9468,1032,1032,'OP_DisplayDebugNLLPointsMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9469,1032,1032,'OP_ExamineInfoRequestMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9470,1032,1032,'OP_QuickbarInitMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9471,1032,1032,'OP_QuickbarUpdateMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9472,1032,1032,'OP_MacroInitMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9473,1032,1032,'OP_MacroUpdateMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9474,1032,1032,'OP_QuestionnaireMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9475,1032,1032,'OP_LevelChangedMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9476,1032,1032,'OP_SpellGainedMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9477,1032,1032,'OP_EncounterBrokenMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9478,1032,1032,'OP_OnscreenMsgMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9479,1032,1032,'OP_DisplayWarningMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9480,1032,1032,'OP_ModifyGuildMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9481,1032,1032,'OP_GuildEventMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9482,1032,1032,'OP_GuildEventAddMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9483,1032,1032,'OP_GuildEventActionMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9484,1032,1032,'OP_GuildEventListMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9485,1032,1032,'OP_RequestGuildEventDetailsMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9486,1032,1032,'OP_GuildEventDetailsMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9487,1032,1032,'OP_RequestGuildInfoMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9488,1032,1032,'OP_GuildBankActionMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9489,1032,1032,'OP_GuildBankActionResponseMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9490,1032,1032,'OP_GuildBankItemDetailsRequestMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9491,1032,1032,'OP_GuildBankItemDetailsResponseMs',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9492,1032,1032,'OP_GuildBankUpdateMsg',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9493,1032,1032,'OP_GuildBankEventListMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9494,1032,1032,'OP_RequestGuildBankEventDetailsMs',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9495,1032,1032,'OP_RewardPackMsg',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9496,1032,1032,'OP_RenameGuildMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9497,1032,1032,'OP_ZoneToFriendRequestMsg',268,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9498,1032,1032,'OP_ZoneToFriendReplyMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9499,1032,1032,'OP_ChatCreateChannelMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9500,1032,1032,'OP_ChatJoinChannelMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9501,1032,1032,'OP_ChatWhoChannelMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9502,1032,1032,'OP_ChatLeaveChannelMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9503,1032,1032,'OP_ChatTellChannelMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9504,1032,1032,'OP_ChatTellUserMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9505,1032,1032,'OP_ChatToggleFriendMsg',276,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9506,1032,1032,'OP_ChatToggleIgnoreMsg',277,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9507,1032,1032,'OP_ChatSendFriendsMsg',278,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9508,1032,1032,'OP_ChatSendIgnoresMsg',279,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9509,1032,1032,'OP_QuestReward',306,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9510,1032,1032,'OP_ChatFiltersMsg',321,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9511,1032,1032,'OP_MailGetHeadersMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9512,1032,1032,'OP_MailGetMessageMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9513,1032,1032,'OP_MailSendMessageMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9514,1032,1032,'OP_MailDeleteMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9515,1032,1032,'OP_MailGetHeadersReplyMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9516,1032,1032,'OP_MailGetMessageReplyMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9517,1032,1032,'OP_MailSendMessageReplyMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9518,1032,1032,'OP_MailCommitSendMessageMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9519,1032,1032,'OP_MailSendSystemMessageMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9520,1032,1032,'OP_MailRemoveAttachFromMailMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9521,1032,1032,'OP_WaypointRequestMsg',333,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9522,1032,1032,'OP_WaypointReplyMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9523,1032,1032,'OP_WaypointSelectMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9524,1032,1032,'OP_WaypointUpdateMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9525,1032,1032,'OP_CharNameChangedMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9526,1032,1032,'OP_ShowZoneTeleporterDestinations',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9527,1032,1032,'OP_SelectZoneTeleporterDestinatio',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9528,1032,1032,'OP_ReloadLocalizedTxtMsg',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9529,1032,1032,'OP_RequestGuildMembershipMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9530,1032,1032,'OP_GuildMembershipResponseMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9531,1032,1032,'OP_LeaveGuildNotifyMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9532,1032,1032,'OP_JoinGuildNotifyMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9533,1032,1032,'OP_AvatarUpdateMsg',346,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9534,1032,1032,'OP_BioUpdateMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9535,1032,1032,'OP_InspectPlayerMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9536,1032,1032,'OP_WSServerLockMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9537,1032,1032,'OP_LSServerLockMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9538,1032,1032,'OP_WSServerHideMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9539,1032,1032,'OP_CsCategoryRequestMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9540,1032,1032,'OP_CsCategoryResponseMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9541,1032,1032,'OP_KnowledgeWindowSlotMappingMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9542,1032,1032,'OP_LFGUpdateMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9543,1032,1032,'OP_AFKUpdateMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9544,1032,1032,'OP_AnonUpdateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9545,1032,1032,'OP_UpdateActivePublicZonesMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9546,1032,1032,'OP_UnknownNpcMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9547,1032,1032,'OP_PromoFlagsDetailsMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9548,1032,1032,'OP_ConsignViewCreateMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9549,1032,1032,'OP_ConsignViewGetPageMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9550,1032,1032,'OP_ConsignViewReleaseMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9551,1032,1032,'OP_ConsignRemoveItemsMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9552,1032,1032,'OP_UpdateDebugRadiiMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9553,1032,1032,'OP_SnoopMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9554,1032,1032,'OP_ReportMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9555,1032,1032,'OP_UpdateRaidMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9556,1032,1032,'OP_ConsignViewSortMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9557,1032,1032,'OP_TitleUpdateMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9558,1032,1032,'OP_ClientFellMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9559,1032,1032,'OP_ClientInDeathRegionMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9560,1032,1032,'OP_CampClientMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9561,1032,1032,'OP_CSToolAccessResponseMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9562,1032,1032,'OP_TrackingUpdateMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9563,1032,1032,'OP_BeginTrackingMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9564,1032,1032,'OP_StopTrackingMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9565,1032,1032,'OP_GetAvatarAccessRequestForCSToo',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9566,1032,1032,'OP_AdvancementRequestMsg',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9567,1032,1032,'OP_UpdateAvgFrameTimeMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9568,1032,1032,'OP_MapFogDataInitMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9569,1032,1032,'OP_MapFogDataUpdateMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9570,1032,1032,'OP_CloseGroupInviteWindowMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9571,1032,1032,'OP_UpdateGroupMemberDataMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9572,1032,1032,'OP_WorldPingMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9573,1032,1032,'OP_MoveLogUpdateMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9574,1032,1032,'OP_OfferQuestMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9575,1032,1032,'OP_WorldShutdownUpdateMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9576,1032,1032,'OP_DisplayMailScreenMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9577,1032,1032,'OP_ClientIdleBeginMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9578,1032,1032,'OP_ClientIdleEndMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9579,1032,1032,'OP_PurchaseConsignmentLoreCheckRe',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9580,1032,1032,'OP_NotifyApprenticeStoppedMentori',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9581,1032,1032,'OP_CorruptedClientMsg',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9582,1032,1032,'OP_WorldDataChangeMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9583,1032,1032,'OP_MailEventNotificationMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9584,1032,1032,'OP_RestartZoneMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9585,1032,1032,'OP_FlightPathsMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9586,1032,1032,'OP_CharacterLinkdeadMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9587,1032,1032,'OP_CharTransferStartRequestMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9588,1032,1032,'OP_CharTransferStartReplyMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9589,1032,1032,'OP_CharTransferRequestMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9590,1032,1032,'OP_CharTransferReplyMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9591,1032,1032,'OP_CharTransferRollbackRequestMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9592,1032,1032,'OP_CharTransferCommitRequestMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9593,1032,1032,'OP_CharTransferRollbackReplyMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9594,1032,1032,'OP_CharTransferCommitReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9595,1032,1032,'OP_GetCharacterSerializedRequestM',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9596,1032,1032,'OP_GetCharacterSerializedReplyMsg',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9597,1032,1032,'OP_CreateCharFromCBBRequestMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9598,1032,1032,'OP_CreateCharFromCBBReplyMsg',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9599,1032,1032,'OP_HousingDataChangedMsg',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9600,1032,1032,'OP_HousingRestoreMsg',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9601,1032,1032,'OP_AuctionItem',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9602,1032,1032,'OP_AuctionItemReply',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9603,1032,1032,'OP_AuctionCoin',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9604,1032,1032,'OP_AuctionCoinReply',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9605,1032,1032,'OP_AuctionCharacter',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9606,1032,1032,'OP_AuctionCharacterReply',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9607,1032,1032,'OP_AuctionCommitMsg',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9608,1032,1032,'OP_AuctionAbortMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9609,1032,1032,'OP_CharTransferValidateRequestMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9610,1032,1032,'OP_CharTransferValidateReplyMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9611,1032,1032,'OP_RaceRestrictionMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9612,1032,1032,'OP_SetInstanceDisplayNameMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9613,1032,1032,'OP_GetAuctionAssetIDMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9614,1032,1032,'OP_GetAuctionAssetIDReplyMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9615,1032,1032,'OP_ResendWorldChannelsMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9616,1032,1032,'OP_DisplayExchangeScreenMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9617,1032,1032,'OP_ArenaGameTypesMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9618,1032,1032,'OP_AuditAuctionEventMsg',432,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9619,1032,1032,'OP_InviteRequestMsg',434,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9620,1032,1032,'OP_InviteResponseMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9621,1032,1032,'OP_InviteTargetResponseMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9622,1032,1032,'OP_InspectPlayerRequestMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9623,1032,1032,'OP_DispatchMsg',438,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9624,1032,1032,'OP_DisplayEventMsg',439,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9625,1032,1032,'OP_PrePossessionMsg',440,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9626,1032,1032,'OP_PostPossessionMsg',441,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9627,1032,1032,'OP_AdventureList',473,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9628,1032,1032,'OP_CancelSpellCast',474,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9629,1032,1032,'OP_AttackAllowed',486,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9630,1032,1032,'OP_AttackNotAllowed',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9631,1032,1032,'OP_DressingRoom',493,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9632,1032,1032,'OP_SkillInfoRequest',497,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9633,1032,1032,'OP_SkillInfoResponse',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9634,1032,1032,'OP_MapRequest',503,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9635,1032,1032,'OP_EqUnknown',536,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9636,1032,1032,'OP_EqHearChatCmd',538,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9637,1032,1032,'OP_EqDisplayTextCmd',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9638,1032,1032,'OP_EqCreateGhostCmd',540,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9639,1032,1032,'OP_EqCreateWidgetCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9640,1032,1032,'OP_EqCreateSignWidgetCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9641,1032,1032,'OP_EqDestroyGhostCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9642,1032,1032,'OP_EqUpdateGhostCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9643,1032,1032,'OP_EqSetControlGhostCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9644,1032,1032,'OP_EqSetPOVGhostCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9645,1032,1032,'OP_EqHearCombatCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9646,1032,1032,'OP_EqHearSpellCastCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9647,1032,1032,'OP_EqHearSpellInterruptCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9648,1032,1032,'OP_EqHearSpellFizzleCmd',552,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9649,1032,1032,'OP_EqHearConsiderCmd',553,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9650,1032,1032,'OP_EqUpdateSubClassesCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9651,1032,1032,'OP_EqCreateListBoxCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9652,1032,1032,'OP_EqSetDebugPathPointsCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9653,1032,1032,'OP_EqCannedEmoteCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9654,1032,1032,'OP_EqStateCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9655,1032,1032,'OP_EqPlaySoundCmd',560,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9656,1032,1032,'OP_EqPlaySound3DCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9657,1032,1032,'OP_EqPlayVoiceCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9658,1032,1032,'OP_EqHearDrowningCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9659,1032,1032,'OP_EqHearDeathCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9660,1032,1032,'OP_EqGroupMemberRemovedCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9661,1032,1032,'OP_EqHearChainEffectCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9662,1032,1032,'OP_EqReceiveOfferCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9663,1032,1032,'OP_EqInspectPCResultsCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9664,1032,1032,'OP_EqDrawablePathGraphCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9665,1032,1032,'OP_EqDialogOpenCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9666,1032,1032,'OP_EqDialogCloseCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9667,1032,1032,'OP_EqFactionUpdateCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9668,1032,1032,'OP_EqCollectionUpdateCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9669,1032,1032,'OP_EqCollectionFilterCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9670,1032,1032,'OP_EqCollectionItemCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9671,1032,1032,'OP_EqQuestJournalUpdateCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9672,1032,1032,'OP_EqQuestJournalReplyCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9673,1032,1032,'OP_EqQuestGroupCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9674,1032,1032,'OP_EqUpdateMerchantCmd',580,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9675,1032,1032,'OP_EqUpdateStoreCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9676,1032,1032,'OP_EqUpdatePlayerTradeCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9677,1032,1032,'OP_EqHelpPathCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9678,1032,1032,'OP_EqHelpPathClearCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9679,1032,1032,'OP_EqUpdateBankCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9680,1032,1032,'OP_EqExamineInfoCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9681,1032,1032,'OP_EqCloseWindowCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9682,1032,1032,'OP_EqUpdateLootCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9683,1032,1032,'OP_EqJunctionListCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9684,1032,1032,'OP_EqShowDeathWindowCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9685,1032,1032,'OP_EqDisplaySpellFailCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9686,1032,1032,'OP_EqSpellCastStartCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9687,1032,1032,'OP_EqSpellCastEndCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9688,1032,1032,'OP_EqResurrectedCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9689,1032,1032,'OP_EqChoiceWinCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9690,1032,1032,'OP_EqSetDefaultVerbCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9691,1032,1032,'OP_EqInstructionWindowCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9692,1032,1032,'OP_EqInstructionWindowCloseCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9693,1032,1032,'OP_EqInstructionWindowGoalCmd',600,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9694,1032,1032,'OP_EqInstructionWindowTaskCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9695,1032,1032,'OP_EqEnableGameEventCmd',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9696,1032,1032,'OP_EqShowWindowCmd',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9697,1032,1032,'OP_EqEnableWindowCmd',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9698,1032,1032,'OP_EqFlashWindowCmd',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9699,1032,1032,'OP_EqHearPlayFlavorCmd',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9700,1032,1032,'OP_EqUpdateSignWidgetCmd',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9701,1032,1032,'OP_EqDebugPVDCmd',609,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9702,1032,1032,'OP_EqShowBookCmd',610,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9703,1032,1032,'OP_EqQuestionnaireCmd',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9704,1032,1032,'OP_EqGetProbsCmd',612,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9705,1032,1032,'OP_EqHearHealCmd',613,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9706,1032,1032,'OP_EqChatChannelUpdateCmd',614,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9707,1032,1032,'OP_EqWhoChannelQueryReplyCmd',615,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9708,1032,1032,'OP_EqAvailWorldChannelsCmd',616,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9709,1032,1032,'OP_EqUpdateTargetCmd',617,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9710,1032,1032,'OP_EqConsignmentItemsCmd',619,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9711,1032,1032,'OP_EqStartBrokerCmd',621,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9712,1032,1032,'OP_EqMapExplorationCmd',622,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9713,1032,1032,'OP_EqStoreLogCmd',623,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9714,1032,1032,'OP_EqSpellMoveToRangeAndRetryCmd',624,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9715,1032,1032,'OP_EqUpdatePlayerMailCmd',625,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9716,1032,1032,'OP_EqArenaResultsCmd',626,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9717,1032,1032,'OP_EqGuildBankEventActionCmd',627,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9718,1032,1032,'OP_EqGuildBankExamineInfoCmd',628,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9719,1032,1032,'OP_EqHearSpellNoLandCmd',629,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9720,1032,1032,'OP_Lottery',633,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9721,1032,1032,'OP_GuildRecruitingMemberInfo',634,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9722,1032,1032,'OP_GuildRecruiting',635,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9723,1032,1032,'OP_GuildRecruitingDetails',636,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9724,1032,1032,'OP_GuildRecruitingImage',637,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9725,1032,1032,'OP_PointOfInterest',658,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9726,1032,1032,'OP_TraitsList',660,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9727,1032,1032,'OP_RecipeList',669,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9728,1032,1032,'OP_CharacterAchievements',671,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9729,1032,1032,'OP_AddClientToGroupMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9730,1032,1032,'OP_AddGroupToGroupMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9731,1032,1032,'OP_GuildKickMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9732,1032,1032,'OP_ProcessScriptMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9733,1032,1032,'OP_ProcessWorkspaceMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9734,1032,1032,'OP_PurchaseConsignmentResponseMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9735,1032,1032,'OP_QuickbarAddMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9736,1032,1032,'OP_SkillSlotMapping',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9737,1032,1032,'OP_Unknown',10058,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9738,1032,1032,'OP_WSWeatherUpdateMsg',10059,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9739,1045,1046,'OP_LoginRequestMsg',0,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9740,1045,1046,'OP_LoginByNumRequestMsg',1,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9741,1045,1046,'OP_WSLoginRequestMsg',2,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9742,1045,1046,'OP_ESLoginRequestMsg',3,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9743,1045,1046,'OP_LoginReplyMsg',4,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9744,1045,1046,'OP_WSStatusReplyMsg',5,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9745,1045,1046,'OP_WorldStatusChangeMsg',6,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9746,1045,1046,'OP_AllWSDescRequestMsg',7,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9747,1045,1046,'OP_WorldListMsg',8,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9748,1045,1046,'OP_AllCharactersDescRequestMsg',9,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9749,1045,1046,'OP_AllCharactersDescReplyMsg',10,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9750,1045,1046,'OP_CreateCharacterRequestMsg',11,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9751,1045,1046,'OP_CreateCharacterReplyMsg',12,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9752,1045,1046,'OP_WSCreateCharacterRequestMsg',13,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9753,1045,1046,'OP_WSCreateCharacterReplyMsg',14,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9754,1045,1046,'OP_ReskinCharacterRequestMsg',15,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9755,1045,1046,'OP_DeleteCharacterRequestMsg',16,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9756,1045,1046,'OP_DeleteCharacterReplyMsg',17,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9757,1045,1046,'OP_PlayCharacterRequestMsg',18,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9758,1045,1046,'OP_PlayCharacterReplyMsg',19,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9759,1045,1046,'OP_ExpectClientAsCharacterReplyMs',22,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9760,1045,1046,'OP_ServerPlayCharacterRequestMsg',23,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9761,1045,1046,'OP_ServerPlayCharacterReplyMsg',24,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9762,1045,1046,'OP_ESInitMsg',25,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9763,1045,1046,'OP_ESReadyForClientsMsg',26,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9764,1045,1046,'OP_CreateZoneInstanceMsg',27,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9765,1045,1046,'OP_ZoneInstanceCreateReplyMsg',28,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9766,1045,1046,'OP_ZoneInstanceDestroyedMsg',29,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9767,1045,1046,'OP_ExpectClientAsCharacterRequest',30,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9768,1045,1046,'OP_ZoneInfoMsg',31,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9769,1045,1046,'OP_DoneLoadingZoneResourcesMsg',32,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9770,1045,1046,'OP_DoneSendingInitialEntitiesMsg',33,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9771,1045,1046,'OP_DoneLoadingEntityResourcesMsg',34,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9772,1045,1046,'OP_PredictionUpdateMsg',35,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9773,1045,1046,'OP_UpdatePositionMsg',37,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9774,1045,1046,'OP_SetRemoteCmdsMsg',39,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9775,1045,1046,'OP_RemoteCmdMsg',40,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9776,1045,1046,'OP_GameWorldTimeMsg',41,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9777,1045,1046,'OP_MOTDMsg',42,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9778,1045,1046,'OP_ZoneMOTDMsg',43,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9779,1045,1046,'OP_AvatarCreatedMsg',44,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9780,1045,1046,'OP_AvatarDestroyedMsg',45,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9781,1045,1046,'OP_RequestCampMsg',47,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9782,1045,1046,'OP_CampStartedMsg',48,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9783,1045,1046,'OP_CampAbortedMsg',49,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9784,1045,1046,'OP_WhoQueryRequestMsg',50,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9785,1045,1046,'OP_WhoQueryReplyMsg',51,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9786,1045,1046,'OP_MonitorReplyMsg',52,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9787,1045,1046,'OP_MonitorCharacterListMsg',53,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9788,1045,1046,'OP_MonitorCharacterListRequestMsg',54,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9789,1045,1046,'OP_ClientCmdMsg',55,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9790,1045,1046,'OP_DispatchESMsg',56,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9791,1045,1046,'OP_DispatchClientCmdMsg',57,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9792,1045,1046,'OP_UpdateTargetMsg',58,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9793,1045,1046,'OP_UpdateTargetLocMsg',59,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9794,1045,1046,'OP_UpdateCharacterSheetMsg',60,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9795,1045,1046,'OP_UpdateSpellBookMsg',61,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9796,1045,1046,'OP_UpdateInventoryMsg',63,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9797,1045,1046,'OP_UpdateRecipeBookMsg',65,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9798,1045,1046,'OP_RequestRecipeDetailsMsg',66,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9799,1045,1046,'OP_RecipeDetailsMsg',67,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9800,1045,1046,'OP_UpdateSkillBookMsg',68,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9801,1045,1046,'OP_UpdateSkillsMsg',69,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9802,1045,1046,'OP_UpdateOpportunityMsg',70,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9803,1045,1046,'OP_ChangeZoneMsg',72,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9804,1045,1046,'OP_ClientTeleportRequestMsg',73,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9805,1045,1046,'OP_TeleportWithinZoneMsg',74,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9806,1045,1046,'OP_TeleportWithinZoneNoReloadMsg',75,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9807,1045,1046,'OP_MigrateClientToZoneRequestMsg',76,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9808,1045,1046,'OP_MigrateClientToZoneReplyMsg',77,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9809,1045,1046,'OP_ReadyToZoneMsg',78,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9810,1045,1046,'OP_RemoveClientFromGroupMsg',79,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9811,1045,1046,'OP_RemoveGroupFromGroupMsg',80,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9812,1045,1046,'OP_MakeGroupLeaderMsg',81,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9813,1045,1046,'OP_GroupCreatedMsg',82,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9814,1045,1046,'OP_GroupDestroyedMsg',83,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9815,1045,1046,'OP_GroupMemberAddedMsg',84,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9816,1045,1046,'OP_GroupMemberRemovedMsg',85,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9817,1045,1046,'OP_GroupRemovedFromGroupMsg',86,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9818,1045,1046,'OP_GroupLeaderChangedMsg',87,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9819,1045,1046,'OP_GroupResendOOZDataMsg',88,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9820,1045,1046,'OP_GroupSettingsChangedMsg',89,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9821,1045,1046,'OP_OutOfZoneMemberDataMsg',90,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9822,1045,1046,'OP_SendLatestRequestMsg',91,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9823,1045,1046,'OP_ClearDataMsg',92,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9824,1045,1046,'OP_SetSocialMsg',93,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9825,1045,1046,'OP_ESStatusMsg',94,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9826,1045,1046,'OP_ESZoneInstanceStatusMsg',95,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9827,1045,1046,'OP_ZonesStatusRequestMsg',96,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9828,1045,1046,'OP_ZonesStatusMsg',97,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9829,1045,1046,'OP_ESWeatherRequestMsg',98,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9830,1045,1046,'OP_ESWeatherRequestEndMsg',99,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9831,1045,1046,'OP_DialogSelectMsg',102,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9832,1045,1046,'OP_DialogCloseMsg',103,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9833,1045,1046,'OP_RemoveSpellEffectMsg',104,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9834,1045,1046,'OP_RemoveConcentrationMsg',105,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9835,1045,1046,'OP_QuestJournalOpenMsg',106,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9836,1045,1046,'OP_QuestJournalInspectMsg',107,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9837,1045,1046,'OP_QuestJournalSetVisibleMsg',108,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9838,1045,1046,'OP_QuestJournalWaypointMsg',109,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9839,1045,1046,'OP_CreateGuildRequestMsg',110,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9840,1045,1046,'OP_CreateGuildReplyMsg',111,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9841,1045,1046,'OP_GuildsayMsg',112,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9842,1045,1046,'OP_GuildUpdateMsg',119,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9843,1045,1046,'OP_DeleteGuildMsg',120,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9844,1045,1046,'OP_FellowshipExpMsg',121,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9845,1045,1046,'OP_ConsignmentCloseStoreMsg',122,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9846,1045,1046,'OP_ConsignItemRequestMsg',123,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9847,1045,1046,'OP_ConsignItemResponseMsg',124,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9848,1045,1046,'OP_PurchaseConsignmentRequestMsg',125,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9849,1045,1046,'OP_HouseDeletedRemotelyMsg',126,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9850,1045,1046,'OP_UpdateHouseDataMsg',127,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9851,1045,1046,'OP_UpdateHouseAccessDataMsg',128,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9852,1045,1046,'OP_PlayerHouseBaseScreenMsg',129,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9853,1045,1046,'OP_PlayerHousePurchaseScreenMsg',130,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9854,1045,1046,'OP_PlayerHouseAccessUpdateMsg',131,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9855,1045,1046,'OP_PlayerHouseDisplayStatusMsg',132,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9856,1045,1046,'OP_PlayerHouseCloseUIMsg',133,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9857,1045,1046,'OP_BuyPlayerHouseMsg',134,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9858,1045,1046,'OP_BuyPlayerHouseTintMsg',135,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9859,1045,1046,'OP_CollectAllHouseItemsMsg',136,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9860,1045,1046,'OP_RelinquishHouseMsg',137,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9861,1045,1046,'OP_EnterHouseMsg',138,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9862,1045,1046,'OP_ExitHouseMsg',139,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9863,1045,1046,'OP_HouseDefaultAccessSetMsg',140,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9864,1045,1046,'OP_HouseAccessSetMsg',141,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9865,1045,1046,'OP_HouseAccessRemoveMsg',142,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9866,1045,1046,'OP_PayHouseUpkeepMsg',143,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9867,1045,1046,'OP_MoveableObjectPlacementCriteri',145,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9868,1045,1046,'OP_EnterMoveObjectModeMsg',146,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9869,1045,1046,'OP_PositionMoveableObject',147,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9870,1045,1046,'OP_CancelMoveObjectModeMsg',148,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9871,1045,1046,'OP_ShaderCustomizationMsg',149,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9872,1045,1046,'OP_ReplaceableSubMeshesMsg',150,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9873,1045,1046,'OP_HouseCustomizationScreenMsg',151,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9874,1045,1046,'OP_CustomizationPurchaseRequestMs',152,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9875,1045,1046,'OP_CustomizationSetRequestMsg',153,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9876,1045,1046,'OP_CustomizationReplyMsg',154,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9877,1045,1046,'OP_TintWidgetsMsg',155,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9878,1045,1046,'OP_ExamineConsignmentRequestMsg',156,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9879,1045,1046,'OP_ExamineConsignmentResponseMsg',157,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9880,1045,1046,'OP_UISettingsResponseMsg',158,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9881,1045,1046,'OP_UIResetMsg',160,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9882,1045,1046,'OP_KeymapLoadMsg',161,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9883,1045,1046,'OP_KeymapNoneMsg',162,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9884,1045,1046,'OP_KeymapDataMsg',163,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9885,1045,1046,'OP_KeymapSaveMsg',164,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9886,1045,1046,'OP_DispatchSpellCmdMsg',165,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9887,1045,1046,'OP_EntityVerbsRequestMsg',167,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9888,1045,1046,'OP_EntityVerbsReplyMsg',168,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9889,1045,1046,'OP_EntityVerbsVerbMsg',169,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9890,1045,1046,'OP_ChatRelationshipUpdateMsg',171,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9891,1045,1046,'OP_LootItemsRequestMsg',172,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9892,1045,1046,'OP_StoppedLootingMsg',173,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9893,1045,1046,'OP_SitMsg',174,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9894,1045,1046,'OP_StandMsg',175,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9895,1045,1046,'OP_SatMsg',176,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9896,1045,1046,'OP_StoodMsg',177,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9897,1045,1046,'OP_ClearForTakeOffMsg',178,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9898,1045,1046,'OP_ReadyForTakeOffMsg',179,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9899,1045,1046,'OP_ShowIllusionsMsg',180,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9900,1045,1046,'OP_HideIllusionsMsg',181,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9901,1045,1046,'OP_ExamineItemRequestMsg',182,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9902,1045,1046,'OP_ReadBookPageMsg',183,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9903,1045,1046,'OP_DefaultGroupOptionsRequestMsg',184,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9904,1045,1046,'OP_DefaultGroupOptionsMsg',185,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9905,1045,1046,'OP_GroupOptionsMsg',186,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9906,1045,1046,'OP_DisplayGroupOptionsScreenMsg',187,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9907,1045,1046,'OP_DisplayInnVisitScreenMsg',188,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9908,1045,1046,'OP_DumpSchedulerMsg',189,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9909,1045,1046,'OP_LSRequestPlayerDescMsg',190,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9910,1045,1046,'OP_LSCheckAcctLockMsg',191,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9911,1045,1046,'OP_WSAcctLockStatusMsg',192,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9912,1045,1046,'OP_RequestHelpRepathMsg',193,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9913,1045,1046,'OP_RequestTargetLocMsg',194,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9914,1045,1046,'OP_UpdateMotdMsg',195,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9915,1045,1046,'OP_PerformPlayerKnockbackMsg',196,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9916,1045,1046,'OP_PerformCameraShakeMsg',197,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9917,1045,1046,'OP_PopulateSkillMapsMsg',200,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9918,1045,1046,'OP_CancelledFeignMsg',202,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9919,1045,1046,'OP_SignalMsg',203,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9920,1045,1046,'OP_ShowCreateFromRecipeUIMsg',204,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9921,1045,1046,'OP_CancelCreateFromRecipeMsg',205,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9922,1045,1046,'OP_BeginItemCreationMsg',206,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9923,1045,1046,'OP_StopItemCreationMsg',207,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9924,1045,1046,'OP_ShowItemCreationProcessUIMsg',208,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9925,1045,1046,'OP_UpdateItemCreationProcessUIMsg',209,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9926,1045,1046,'OP_DisplayTSEventReactionMsg',210,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9927,1045,1046,'OP_ShowRecipeBookMsg',211,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9928,1045,1046,'OP_KnowledgebaseRequestMsg',212,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9929,1045,1046,'OP_KnowledgebaseResponseMsg',213,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9930,1045,1046,'OP_CSTicketHeaderRequestMsg',214,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9931,1045,1046,'OP_CSTicketInfoMsg',215,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9932,1045,1046,'OP_CSTicketCommentRequestMsg',216,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9933,1045,1046,'OP_CSTicketCommentResponseMsg',217,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9934,1045,1046,'OP_CSTicketCreateMsg',218,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9935,1045,1046,'OP_CSTicketAddCommentMsg',219,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9936,1045,1046,'OP_CSTicketDeleteMsg',220,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9937,1045,1046,'OP_CSTicketChangeNotificationMsg',221,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9938,1045,1046,'OP_WorldDataUpdateMsg',222,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9939,1045,1046,'OP_KnownLanguagesMsg',223,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9940,1045,1046,'OP_LsRequestClientCrashLogMsg',224,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9941,1045,1046,'OP_LsClientBaselogReplyMsg',225,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9942,1045,1046,'OP_LsClientCrashlogReplyMsg',226,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9943,1045,1046,'OP_LsClientAlertlogReplyMsg',227,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9944,1045,1046,'OP_LsClientVerifylogReplyMsg',228,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9945,1045,1046,'OP_ClientTeleportToLocationMsg',229,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9946,1045,1046,'OP_UpdateClientPredFlagsMsg',230,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9947,1045,1046,'OP_ChangeServerControlFlagMsg',231,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9948,1045,1046,'OP_CSToolsRequestMsg',232,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9949,1045,1046,'OP_CSToolsResponseMsg',233,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9950,1045,1046,'OP_AddSocialStructureStandingMsg',234,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9951,1045,1046,'OP_CreateBoatTransportsMsg',235,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9952,1045,1046,'OP_PositionBoatTransportMsg',236,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9953,1045,1046,'OP_MigrateBoatTransportMsg',237,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9954,1045,1046,'OP_MigrateBoatTransportReplyMsg',238,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9955,1045,1046,'OP_DisplayDebugNLLPointsMsg',239,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9956,1045,1046,'OP_ExamineInfoRequestMsg',240,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9957,1045,1046,'OP_QuickbarInitMsg',241,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9958,1045,1046,'OP_QuickbarUpdateMsg',242,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9959,1045,1046,'OP_MacroInitMsg',243,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9960,1045,1046,'OP_MacroUpdateMsg',244,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9961,1045,1046,'OP_QuestionnaireMsg',245,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9962,1045,1046,'OP_LevelChangedMsg',246,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9963,1045,1046,'OP_SpellGainedMsg',247,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9964,1045,1046,'OP_EncounterBrokenMsg',248,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9965,1045,1046,'OP_OnscreenMsgMsg',249,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9966,1045,1046,'OP_DisplayWarningMsg',250,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9967,1045,1046,'OP_ModifyGuildMsg',251,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9968,1045,1046,'OP_GuildEventMsg',252,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9969,1045,1046,'OP_GuildEventAddMsg',253,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9970,1045,1046,'OP_GuildEventActionMsg',254,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9971,1045,1046,'OP_GuildEventListMsg',255,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9972,1045,1046,'OP_RequestGuildEventDetailsMsg',256,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9973,1045,1046,'OP_GuildEventDetailsMsg',257,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9974,1045,1046,'OP_RequestGuildInfoMsg',258,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9975,1045,1046,'OP_GuildBankActionMsg',259,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9976,1045,1046,'OP_GuildBankActionResponseMsg',260,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9977,1045,1046,'OP_GuildBankItemDetailsRequestMsg',261,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9978,1045,1046,'OP_GuildBankItemDetailsResponseMs',262,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9979,1045,1046,'OP_GuildBankUpdateMsg',263,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9980,1045,1046,'OP_GuildBankEventListMsg',264,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9981,1045,1046,'OP_RequestGuildBankEventDetailsMs',265,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9982,1045,1046,'OP_RewardPackMsg',266,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9983,1045,1046,'OP_RenameGuildMsg',267,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9984,1045,1046,'OP_ZoneToFriendRequestMsg',269,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9985,1045,1046,'OP_ZoneToFriendReplyMsg',270,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9986,1045,1046,'OP_ChatCreateChannelMsg',271,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9987,1045,1046,'OP_ChatJoinChannelMsg',272,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9988,1045,1046,'OP_ChatWhoChannelMsg',273,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9989,1045,1046,'OP_ChatLeaveChannelMsg',274,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9990,1045,1046,'OP_ChatTellChannelMsg',275,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9991,1045,1046,'OP_ChatTellUserMsg',276,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9992,1045,1046,'OP_ChatToggleFriendMsg',277,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9993,1045,1046,'OP_ChatToggleIgnoreMsg',278,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9994,1045,1046,'OP_ChatSendFriendsMsg',279,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9995,1045,1046,'OP_ChatSendIgnoresMsg',280,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9996,1045,1046,'OP_QuestReward',307,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9997,1045,1046,'OP_ChatFiltersMsg',322,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9998,1045,1046,'OP_MailGetHeadersMsg',323,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (9999,1045,1046,'OP_MailGetMessageMsg',324,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10000,1045,1046,'OP_MailSendMessageMsg',325,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10001,1045,1046,'OP_MailDeleteMessageMsg',326,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10002,1045,1046,'OP_MailGetHeadersReplyMsg',327,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10003,1045,1046,'OP_MailGetMessageReplyMsg',328,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10004,1045,1046,'OP_MailSendMessageReplyMsg',329,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10005,1045,1046,'OP_MailCommitSendMessageMsg',330,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10006,1045,1046,'OP_MailSendSystemMessageMsg',331,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10007,1045,1046,'OP_MailRemoveAttachFromMailMsg',332,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10008,1045,1046,'OP_WaypointRequestMsg',334,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10009,1045,1046,'OP_WaypointReplyMsg',335,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10010,1045,1046,'OP_WaypointSelectMsg',336,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10011,1045,1046,'OP_WaypointUpdateMsg',337,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10012,1045,1046,'OP_CharNameChangedMsg',338,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10013,1045,1046,'OP_ShowZoneTeleporterDestinations',339,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10014,1045,1046,'OP_SelectZoneTeleporterDestinatio',340,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10015,1045,1046,'OP_ReloadLocalizedTxtMsg',341,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10016,1045,1046,'OP_RequestGuildMembershipMsg',342,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10017,1045,1046,'OP_GuildMembershipResponseMsg',343,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10018,1045,1046,'OP_LeaveGuildNotifyMsg',344,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10019,1045,1046,'OP_JoinGuildNotifyMsg',345,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10020,1045,1046,'OP_AvatarUpdateMsg',347,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10021,1045,1046,'OP_BioUpdateMsg',348,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10022,1045,1046,'OP_InspectPlayerMsg',349,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10023,1045,1046,'OP_WSServerLockMsg',350,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10024,1045,1046,'OP_LSServerLockMsg',351,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10025,1045,1046,'OP_WSServerHideMsg',352,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10026,1045,1046,'OP_CsCategoryRequestMsg',353,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10027,1045,1046,'OP_CsCategoryResponseMsg',354,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10028,1045,1046,'OP_KnowledgeWindowSlotMappingMsg',355,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10029,1045,1046,'OP_LFGUpdateMsg',356,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10030,1045,1046,'OP_AFKUpdateMsg',357,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10031,1045,1046,'OP_AnonUpdateMsg',358,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10032,1045,1046,'OP_UpdateActivePublicZonesMsg',359,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10033,1045,1046,'OP_UnknownNpcMsg',360,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10034,1045,1046,'OP_PromoFlagsDetailsMsg',361,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10035,1045,1046,'OP_ConsignViewCreateMsg',362,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10036,1045,1046,'OP_ConsignViewGetPageMsg',363,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10037,1045,1046,'OP_ConsignViewReleaseMsg',364,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10038,1045,1046,'OP_ConsignRemoveItemsMsg',365,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10039,1045,1046,'OP_UpdateDebugRadiiMsg',366,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10040,1045,1046,'OP_SnoopMsg',367,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10041,1045,1046,'OP_ReportMsg',368,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10042,1045,1046,'OP_UpdateRaidMsg',369,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10043,1045,1046,'OP_ConsignViewSortMsg',370,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10044,1045,1046,'OP_TitleUpdateMsg',371,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10045,1045,1046,'OP_ClientFellMsg',372,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10046,1045,1046,'OP_ClientInDeathRegionMsg',373,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10047,1045,1046,'OP_CampClientMsg',374,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10048,1045,1046,'OP_CSToolAccessResponseMsg',375,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10049,1045,1046,'OP_TrackingUpdateMsg',376,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10050,1045,1046,'OP_BeginTrackingMsg',377,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10051,1045,1046,'OP_StopTrackingMsg',378,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10052,1045,1046,'OP_GetAvatarAccessRequestForCSToo',379,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10053,1045,1046,'OP_AdvancementRequestMsg',380,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10054,1045,1046,'OP_UpdateAvgFrameTimeMsg',381,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10055,1045,1046,'OP_MapFogDataInitMsg',382,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10056,1045,1046,'OP_MapFogDataUpdateMsg',383,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10057,1045,1046,'OP_CloseGroupInviteWindowMsg',384,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10058,1045,1046,'OP_UpdateGroupMemberDataMsg',385,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10059,1045,1046,'OP_WorldPingMsg',386,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10060,1045,1046,'OP_MoveLogUpdateMsg',387,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10061,1045,1046,'OP_OfferQuestMsg',388,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10062,1045,1046,'OP_WorldShutdownUpdateMsg',389,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10063,1045,1046,'OP_DisplayMailScreenMsg',390,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10064,1045,1046,'OP_ClientIdleBeginMsg',391,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10065,1045,1046,'OP_ClientIdleEndMsg',392,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10066,1045,1046,'OP_PurchaseConsignmentLoreCheckRe',393,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10067,1045,1046,'OP_NotifyApprenticeStoppedMentori',394,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10068,1045,1046,'OP_CorruptedClientMsg',395,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10069,1045,1046,'OP_WorldDataChangeMsg',396,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10070,1045,1046,'OP_MailEventNotificationMsg',397,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10071,1045,1046,'OP_RestartZoneMsg',398,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10072,1045,1046,'OP_FlightPathsMsg',399,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10073,1045,1046,'OP_CharacterLinkdeadMsg',400,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10074,1045,1046,'OP_CharTransferStartRequestMsg',401,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10075,1045,1046,'OP_CharTransferStartReplyMsg',402,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10076,1045,1046,'OP_CharTransferRequestMsg',403,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10077,1045,1046,'OP_CharTransferReplyMsg',404,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10078,1045,1046,'OP_CharTransferRollbackRequestMsg',405,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10079,1045,1046,'OP_CharTransferCommitRequestMsg',406,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10080,1045,1046,'OP_CharTransferRollbackReplyMsg',407,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10081,1045,1046,'OP_CharTransferCommitReplyMsg',408,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10082,1045,1046,'OP_GetCharacterSerializedRequestM',409,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10083,1045,1046,'OP_GetCharacterSerializedReplyMsg',410,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10084,1045,1046,'OP_CreateCharFromCBBRequestMsg',411,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10085,1045,1046,'OP_CreateCharFromCBBReplyMsg',412,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10086,1045,1046,'OP_HousingDataChangedMsg',413,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10087,1045,1046,'OP_HousingRestoreMsg',414,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10088,1045,1046,'OP_AuctionItem',415,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10089,1045,1046,'OP_AuctionItemReply',416,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10090,1045,1046,'OP_AuctionCoin',417,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10091,1045,1046,'OP_AuctionCoinReply',418,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10092,1045,1046,'OP_AuctionCharacter',419,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10093,1045,1046,'OP_AuctionCharacterReply',420,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10094,1045,1046,'OP_AuctionCommitMsg',421,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10095,1045,1046,'OP_AuctionAbortMsg',422,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10096,1045,1046,'OP_CharTransferValidateRequestMsg',423,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10097,1045,1046,'OP_CharTransferValidateReplyMsg',424,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10098,1045,1046,'OP_RaceRestrictionMsg',425,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10099,1045,1046,'OP_SetInstanceDisplayNameMsg',426,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10100,1045,1046,'OP_GetAuctionAssetIDMsg',427,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10101,1045,1046,'OP_GetAuctionAssetIDReplyMsg',428,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10102,1045,1046,'OP_ResendWorldChannelsMsg',429,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10103,1045,1046,'OP_DisplayExchangeScreenMsg',430,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10104,1045,1046,'OP_ArenaGameTypesMsg',431,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10105,1045,1046,'OP_AuditAuctionEventMsg',433,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10106,1045,1046,'OP_InviteRequestMsg',435,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10107,1045,1046,'OP_InviteResponseMsg',436,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10108,1045,1046,'OP_InviteTargetResponseMsg',437,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10109,1045,1046,'OP_InspectPlayerRequestMsg',438,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10110,1045,1046,'OP_DispatchMsg',439,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10111,1045,1046,'OP_DisplayEventMsg',440,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10112,1045,1046,'OP_PrePossessionMsg',441,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10113,1045,1046,'OP_PostPossessionMsg',442,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10114,1045,1046,'OP_AdventureList',474,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10115,1045,1046,'OP_CancelSpellCast',475,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10116,1045,1046,'OP_AttackAllowed',487,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10117,1045,1046,'OP_AttackNotAllowed',488,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10118,1045,1046,'OP_DressingRoom',494,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10119,1045,1046,'OP_SkillInfoRequest',498,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10120,1045,1046,'OP_SkillInfoResponse',499,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10121,1045,1046,'OP_MapRequest',504,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10122,1045,1046,'OP_EqUnknown',539,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10123,1045,1046,'OP_EqHearChatCmd',541,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10124,1045,1046,'OP_EqDisplayTextCmd',542,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10125,1045,1046,'OP_EqCreateGhostCmd',543,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10126,1045,1046,'OP_EqCreateWidgetCmd',544,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10127,1045,1046,'OP_EqCreateSignWidgetCmd',545,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10128,1045,1046,'OP_EqDestroyGhostCmd',546,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10129,1045,1046,'OP_EqUpdateGhostCmd',547,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10130,1045,1046,'OP_EqSetControlGhostCmd',548,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10131,1045,1046,'OP_EqSetPOVGhostCmd',549,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10132,1045,1046,'OP_EqHearCombatCmd',550,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10133,1045,1046,'OP_EqHearSpellCastCmd',551,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10134,1045,1046,'OP_EqHearSpellInterruptCmd',554,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10135,1045,1046,'OP_EqHearSpellFizzleCmd',555,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10136,1045,1046,'OP_EqHearConsiderCmd',556,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10137,1045,1046,'OP_EqUpdateSubClassesCmd',557,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10138,1045,1046,'OP_EqCreateListBoxCmd',558,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10139,1045,1046,'OP_EqSetDebugPathPointsCmd',559,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10140,1045,1046,'OP_EqCannedEmoteCmd',561,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10141,1045,1046,'OP_EqStateCmd',562,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10142,1045,1046,'OP_EqPlaySoundCmd',563,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10143,1045,1046,'OP_EqPlaySound3DCmd',564,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10144,1045,1046,'OP_EqPlayVoiceCmd',565,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10145,1045,1046,'OP_EqHearDrowningCmd',566,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10146,1045,1046,'OP_EqHearDeathCmd',567,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10147,1045,1046,'OP_EqGroupMemberRemovedCmd',568,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10148,1045,1046,'OP_EqHearChainEffectCmd',569,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10149,1045,1046,'OP_EqReceiveOfferCmd',570,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10150,1045,1046,'OP_EqInspectPCResultsCmd',571,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10151,1045,1046,'OP_EqDrawablePathGraphCmd',572,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10152,1045,1046,'OP_EqDialogOpenCmd',573,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10153,1045,1046,'OP_EqDialogCloseCmd',574,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10154,1045,1046,'OP_EqFactionUpdateCmd',575,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10155,1045,1046,'OP_EqCollectionUpdateCmd',576,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10156,1045,1046,'OP_EqCollectionFilterCmd',577,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10157,1045,1046,'OP_EqCollectionItemCmd',578,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10158,1045,1046,'OP_EqQuestJournalUpdateCmd',579,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10159,1045,1046,'OP_EqQuestJournalReplyCmd',581,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10160,1045,1046,'OP_EqQuestGroupCmd',582,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10161,1045,1046,'OP_EqUpdateMerchantCmd',583,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10162,1045,1046,'OP_EqUpdateStoreCmd',584,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10163,1045,1046,'OP_EqUpdatePlayerTradeCmd',585,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10164,1045,1046,'OP_EqHelpPathCmd',586,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10165,1045,1046,'OP_EqHelpPathClearCmd',587,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10166,1045,1046,'OP_EqUpdateBankCmd',588,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10167,1045,1046,'OP_EqExamineInfoCmd',589,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10168,1045,1046,'OP_EqCloseWindowCmd',590,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10169,1045,1046,'OP_EqUpdateLootCmd',591,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10170,1045,1046,'OP_EqJunctionListCmd',592,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10171,1045,1046,'OP_EqShowDeathWindowCmd',593,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10172,1045,1046,'OP_EqDisplaySpellFailCmd',594,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10173,1045,1046,'OP_EqSpellCastStartCmd',595,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10174,1045,1046,'OP_EqSpellCastEndCmd',596,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10175,1045,1046,'OP_EqResurrectedCmd',597,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10176,1045,1046,'OP_EqChoiceWinCmd',598,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10177,1045,1046,'OP_EqSetDefaultVerbCmd',599,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10178,1045,1046,'OP_EqInstructionWindowCmd',601,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10179,1045,1046,'OP_EqInstructionWindowCloseCmd',602,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10180,1045,1046,'OP_EqInstructionWindowGoalCmd',603,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10181,1045,1046,'OP_EqInstructionWindowTaskCmd',604,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10182,1045,1046,'OP_EqEnableGameEventCmd',605,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10183,1045,1046,'OP_EqShowWindowCmd',606,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10184,1045,1046,'OP_EqEnableWindowCmd',607,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10185,1045,1046,'OP_EqFlashWindowCmd',608,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10186,1045,1046,'OP_EqHearPlayFlavorCmd',609,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10187,1045,1046,'OP_EqUpdateSignWidgetCmd',611,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10188,1045,1046,'OP_EqDebugPVDCmd',612,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10189,1045,1046,'OP_EqShowBookCmd',613,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10190,1045,1046,'OP_EqQuestionnaireCmd',614,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10191,1045,1046,'OP_EqGetProbsCmd',615,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10192,1045,1046,'OP_EqHearHealCmd',616,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10193,1045,1046,'OP_EqChatChannelUpdateCmd',617,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10194,1045,1046,'OP_EqWhoChannelQueryReplyCmd',618,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10195,1045,1046,'OP_EqAvailWorldChannelsCmd',619,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10196,1045,1046,'OP_EqUpdateTargetCmd',620,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10197,1045,1046,'OP_EqConsignmentItemsCmd',622,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10198,1045,1046,'OP_EqStartBrokerCmd',624,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10199,1045,1046,'OP_EqMapExplorationCmd',625,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10200,1045,1046,'OP_EqStoreLogCmd',626,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10201,1045,1046,'OP_EqSpellMoveToRangeAndRetryCmd',627,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10202,1045,1046,'OP_EqUpdatePlayerMailCmd',628,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10203,1045,1046,'OP_EqArenaResultsCmd',629,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10204,1045,1046,'OP_EqGuildBankEventActionCmd',630,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10205,1045,1046,'OP_EqGuildBankExamineInfoCmd',631,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10206,1045,1046,'OP_EqHearSpellNoLandCmd',632,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10207,1045,1046,'OP_Lottery',636,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10208,1045,1046,'OP_GuildRecruitingMemberInfo',637,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10209,1045,1046,'OP_GuildRecruiting',638,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10210,1045,1046,'OP_GuildRecruitingDetails',639,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10211,1045,1046,'OP_GuildRecruitingImage',640,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10212,1045,1046,'OP_PointOfInterest',661,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10213,1045,1046,'OP_TraitsList',663,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10214,1045,1046,'OP_RecipeList',672,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10215,1045,1046,'OP_CharacterAchievements',674,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10216,1045,1046,'OP_AddClientToGroupMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10217,1045,1046,'OP_AddGroupToGroupMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10218,1045,1046,'OP_GuildKickMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10219,1045,1046,'OP_ProcessScriptMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10220,1045,1046,'OP_ProcessWorkspaceMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10221,1045,1046,'OP_PurchaseConsignmentResponseMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10222,1045,1046,'OP_QuickbarAddMsg',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10223,1045,1046,'OP_SkillSlotMapping',1054,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10224,1045,1046,'OP_Unknown',10058,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10225,1045,1046,'OP_WSWeatherUpdateMsg',10059,1);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10716,882,887,'OP_BadLanguageFilter',487,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10717,892,894,'OP_BadLanguageFilter',488,5);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10718,898,898,'OP_BadLanguageFilter',488,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10719,908,927,'OP_BadLanguageFilter',490,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10720,936,939,'OP_BadLanguageFilter',490,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10721,942,954,'OP_BadLanguageFilter',490,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10722,955,958,'OP_BadLanguageFilter',491,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10723,959,959,'OP_BadLanguageFilter',491,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10724,972,972,'OP_BadLanguageFilter',492,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10725,973,973,'OP_BadLanguageFilter',492,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10726,987,987,'OP_BadLanguageFilter',492,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10727,996,996,'OP_BadLanguageFilter',494,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10728,1008,1011,'OP_BadLanguageFilter',494,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10729,1027,1027,'OP_BadLanguageFilter',500,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10730,1028,1029,'OP_BadLanguageFilter',501,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10731,1032,1032,'OP_BadLanguageFilter',502,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10732,1045,1046,'OP_BadLanguageFilter',503,3);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10733,0,0,'OP_BadLanguageFilter',999,4);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10734,839,843,'OP_BadLanguageFilter',999,4);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10735,860,864,'OP_BadLanguageFilter',999,4);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10736,869,877,'OP_BadLanguageFilter',999,4);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10737,0,0,'OP_UpdateTitleCmd',461,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10738,839,843,'OP_UpdateTitleCmd',461,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10739,860,864,'OP_UpdateTitleCmd',463,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10740,869,877,'OP_UpdateTitleCmd',464,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10741,882,887,'OP_UpdateTitleCmd',466,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10742,892,894,'OP_UpdateTitleCmd',467,7);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10743,898,898,'OP_UpdateTitleCmd',467,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10744,908,927,'OP_UpdateTitleCmd',469,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10745,936,939,'OP_UpdateTitleCmd',469,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10746,942,954,'OP_UpdateTitleCmd',469,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10747,955,958,'OP_UpdateTitleCmd',469,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10748,959,959,'OP_UpdateTitleCmd',469,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10749,972,972,'OP_UpdateTitleCmd',469,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10750,973,973,'OP_UpdateTitleCmd',469,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10751,987,987,'OP_UpdateTitleCmd',469,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10752,996,996,'OP_UpdateTitleCmd',471,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10753,1008,1011,'OP_UpdateTitleCmd',471,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10754,1027,1027,'OP_UpdateTitleCmd',478,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10755,1028,1029,'OP_UpdateTitleCmd',479,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10756,1032,1032,'OP_UpdateTitleCmd',480,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10757,1045,1046,'OP_UpdateTitleCmd',481,6);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10759,1096,1096,'OP_LoginRequestMsg',0,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10760,1096,1096,'OP_LoginByNumRequestMsg',1,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10761,1096,1096,'OP_WSLoginRequestMsg',2,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10762,1096,1096,'OP_ESLoginRequestMsg',3,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10763,1096,1096,'OP_LoginReplyMsg',4,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10764,1096,1096,'OP_WSStatusReplyMsg',5,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10765,1096,1096,'OP_WorldStatusChangeMsg',6,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10766,1096,1096,'OP_AllWSDescRequestMsg',7,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10767,1096,1096,'OP_WorldListMsg',8,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10768,1096,1096,'OP_AllCharactersDescRequestMsg',9,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10769,1096,1096,'OP_AllCharactersDescReplyMsg',10,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10770,1096,1096,'OP_CreateCharacterRequestMsg',11,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10771,1096,1096,'OP_CreateCharacterReplyMsg',12,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10772,1096,1096,'OP_WSCreateCharacterRequestMsg',13,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10773,1096,1096,'OP_WSCreateCharacterReplyMsg',14,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10774,1096,1096,'OP_ReskinCharacterRequestMsg',15,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10775,1096,1096,'OP_DeleteCharacterRequestMsg',16,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10776,1096,1096,'OP_DeleteCharacterReplyMsg',17,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10777,1096,1096,'OP_PlayCharacterRequestMsg',18,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10778,1096,1096,'OP_PlayCharacterReplyMsg',19,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10779,1096,1096,'OP_ExpectClientAsCharacterReplyMs',22,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10780,1096,1096,'OP_ServerPlayCharacterRequestMsg',23,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10781,1096,1096,'OP_ServerPlayCharacterReplyMsg',24,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10782,1096,1096,'OP_ESInitMsg',25,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10783,1096,1096,'OP_ESReadyForClientsMsg',26,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10784,1096,1096,'OP_CreateZoneInstanceMsg',27,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10785,1096,1096,'OP_ZoneInstanceCreateReplyMsg',28,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10786,1096,1096,'OP_ZoneInstanceDestroyedMsg',29,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10787,1096,1096,'OP_ExpectClientAsCharacterRequest',30,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10788,1096,1096,'OP_ZoneInfoMsg',32,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10789,1096,1096,'OP_DoneLoadingZoneResourcesMsg',33,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10790,1096,1096,'OP_DoneSendingInitialEntitiesMsg',34,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10791,1096,1096,'OP_DoneLoadingEntityResourcesMsg',35,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10792,1096,1096,'OP_PredictionUpdateMsg',36,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10793,1096,1096,'OP_UpdatePositionMsg',38,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10794,1096,1096,'OP_SetRemoteCmdsMsg',40,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10795,1096,1096,'OP_RemoteCmdMsg',41,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10796,1096,1096,'OP_GameWorldTimeMsg',42,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10797,1096,1096,'OP_MOTDMsg',43,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10798,1096,1096,'OP_ZoneMOTDMsg',44,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10799,1096,1096,'OP_AvatarCreatedMsg',45,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10800,1096,1096,'OP_AvatarDestroyedMsg',46,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10801,1096,1096,'OP_RequestCampMsg',48,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10802,1096,1096,'OP_CampStartedMsg',49,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10803,1096,1096,'OP_CampAbortedMsg',50,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10804,1096,1096,'OP_WhoQueryRequestMsg',51,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10805,1096,1096,'OP_WhoQueryReplyMsg',52,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10806,1096,1096,'OP_MonitorReplyMsg',53,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10807,1096,1096,'OP_MonitorCharacterListMsg',54,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10808,1096,1096,'OP_MonitorCharacterListRequestMsg',55,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10809,1096,1096,'OP_ClientCmdMsg',56,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10810,1096,1096,'OP_DispatchESMsg',57,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10811,1096,1096,'OP_DispatchClientCmdMsg',58,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10812,1096,1096,'OP_UpdateTargetMsg',59,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10813,1096,1096,'OP_UpdateTargetLocMsg',60,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10814,1096,1096,'OP_UpdateCharacterSheetMsg',61,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10815,1096,1096,'OP_UpdateSpellBookMsg',62,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10816,1096,1096,'OP_UpdateInventoryMsg',64,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10817,1096,1096,'OP_UpdateRecipeBookMsg',66,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10818,1096,1096,'OP_RequestRecipeDetailsMsg',67,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10819,1096,1096,'OP_RecipeDetailsMsg',68,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10820,1096,1096,'OP_UpdateSkillBookMsg',69,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10821,1096,1096,'OP_UpdateSkillsMsg',70,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10822,1096,1096,'OP_UpdateOpportunityMsg',71,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10823,1096,1096,'OP_ChangeZoneMsg',73,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10824,1096,1096,'OP_ClientTeleportRequestMsg',74,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10825,1096,1096,'OP_TeleportWithinZoneMsg',75,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10826,1096,1096,'OP_TeleportWithinZoneNoReloadMsg',76,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10827,1096,1096,'OP_MigrateClientToZoneRequestMsg',77,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10828,1096,1096,'OP_MigrateClientToZoneReplyMsg',78,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10829,1096,1096,'OP_ReadyToZoneMsg',80,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10830,1096,1096,'OP_RemoveClientFromGroupMsg',81,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10831,1096,1096,'OP_RemoveGroupFromGroupMsg',82,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10832,1096,1096,'OP_MakeGroupLeaderMsg',83,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10833,1096,1096,'OP_GroupCreatedMsg',84,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10834,1096,1096,'OP_GroupDestroyedMsg',85,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10835,1096,1096,'OP_GroupMemberAddedMsg',86,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10836,1096,1096,'OP_GroupMemberRemovedMsg',87,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10837,1096,1096,'OP_GroupRemovedFromGroupMsg',88,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10838,1096,1096,'OP_GroupLeaderChangedMsg',89,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10839,1096,1096,'OP_GroupResendOOZDataMsg',90,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10840,1096,1096,'OP_GroupSettingsChangedMsg',91,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10841,1096,1096,'OP_OutOfZoneMemberDataMsg',92,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10842,1096,1096,'OP_SendLatestRequestMsg',93,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10843,1096,1096,'OP_ClearDataMsg',94,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10844,1096,1096,'OP_SetSocialMsg',95,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10845,1096,1096,'OP_ESStatusMsg',96,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10846,1096,1096,'OP_ESZoneInstanceStatusMsg',97,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10847,1096,1096,'OP_ZonesStatusRequestMsg',98,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10848,1096,1096,'OP_ZonesStatusMsg',99,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10849,1096,1096,'OP_ESWeatherRequestMsg',100,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10850,1096,1096,'OP_ESWeatherRequestEndMsg',101,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10851,1096,1096,'OP_DialogSelectMsg',102,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10852,1096,1096,'OP_DialogCloseMsg',103,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10853,1096,1096,'OP_RemoveSpellEffectMsg',104,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10854,1096,1096,'OP_RemoveConcentrationMsg',105,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10855,1096,1096,'OP_QuestJournalOpenMsg',106,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10856,1096,1096,'OP_QuestJournalInspectMsg',107,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10857,1096,1096,'OP_QuestJournalSetVisibleMsg',108,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10858,1096,1096,'OP_QuestJournalWaypointMsg',109,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10859,1096,1096,'OP_CreateGuildRequestMsg',110,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10860,1096,1096,'OP_CreateGuildReplyMsg',111,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10861,1096,1096,'OP_GuildsayMsg',112,8);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10862,1096,1096,'OP_FellowshipExpMsg',118,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10863,1096,1096,'OP_DeleteGuildMsg',119,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10864,1096,1096,'OP_GuildUpdateMsg',120,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10865,1096,1096,'OP_ConsignmentCloseStoreMsg',121,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10866,1096,1096,'OP_ConsignItemRequestMsg',122,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10867,1096,1096,'OP_ConsignItemResponseMsg',123,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10868,1096,1096,'OP_PurchaseConsignmentRequestMsg',124,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10869,1096,1096,'OP_HouseDeletedRemotelyMsg',125,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10870,1096,1096,'OP_UpdateHouseDataMsg',126,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10871,1096,1096,'OP_UpdateHouseAccessDataMsg',127,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10872,1096,1096,'OP_PlayerHouseBaseScreenMsg',128,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10873,1096,1096,'OP_PlayerHousePurchaseScreenMsg',129,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10874,1096,1096,'OP_PlayerHouseAccessUpdateMsg',130,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10875,1096,1096,'OP_PlayerHouseDisplayStatusMsg',131,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10876,1096,1096,'OP_PlayerHouseCloseUIMsg',132,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10877,1096,1096,'OP_BuyPlayerHouseMsg',133,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10878,1096,1096,'OP_BuyPlayerHouseTintMsg',134,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10879,1096,1096,'OP_CollectAllHouseItemsMsg',135,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10880,1096,1096,'OP_RelinquishHouseMsg',136,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10881,1096,1096,'OP_EnterHouseMsg',137,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10882,1096,1096,'OP_ExitHouseMsg',138,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10883,1096,1096,'OP_HouseDefaultAccessSetMsg',139,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10884,1096,1096,'OP_HouseAccessSetMsg',140,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10885,1096,1096,'OP_HouseAccessRemoveMsg',141,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10886,1096,1096,'OP_PayHouseUpkeepMsg',142,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10887,1096,1096,'OP_MoveableObjectPlacementCriteri',144,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10888,1096,1096,'OP_EnterMoveObjectModeMsg',145,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10889,1096,1096,'OP_PositionMoveableObject',146,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10890,1096,1096,'OP_CancelMoveObjectModeMsg',147,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10891,1096,1096,'OP_ShaderCustomizationMsg',148,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10892,1096,1096,'OP_ReplaceableSubMeshesMsg',149,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10893,1096,1096,'OP_HouseCustomizationScreenMsg',150,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10894,1096,1096,'OP_CustomizationPurchaseRequestMs',151,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10895,1096,1096,'OP_CustomizationSetRequestMsg',152,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10896,1096,1096,'OP_CustomizationReplyMsg',153,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10897,1096,1096,'OP_TintWidgetsMsg',154,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10898,1096,1096,'OP_ExamineConsignmentRequestMsg',155,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10899,1096,1096,'OP_ExamineConsignmentResponseMsg',156,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10900,1096,1096,'OP_UISettingsResponseMsg',157,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10901,1096,1096,'OP_UIResetMsg',159,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10902,1096,1096,'OP_KeymapLoadMsg',160,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10903,1096,1096,'OP_KeymapNoneMsg',161,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10904,1096,1096,'OP_KeymapDataMsg',162,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10905,1096,1096,'OP_KeymapSaveMsg',163,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10906,1096,1096,'OP_DispatchSpellCmdMsg',164,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10907,1096,1096,'OP_EntityVerbsRequestMsg',166,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10908,1096,1096,'OP_EntityVerbsReplyMsg',167,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10909,1096,1096,'OP_EntityVerbsVerbMsg',168,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10910,1096,1096,'OP_ChatRelationshipUpdateMsg',170,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10911,1096,1096,'OP_LootItemsRequestMsg',171,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10912,1096,1096,'OP_StoppedLootingMsg',172,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10913,1096,1096,'OP_SitMsg',173,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10914,1096,1096,'OP_StandMsg',174,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10915,1096,1096,'OP_SatMsg',175,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10916,1096,1096,'OP_StoodMsg',176,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10917,1096,1096,'OP_ClearForTakeOffMsg',177,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10918,1096,1096,'OP_ReadyForTakeOffMsg',178,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10919,1096,1096,'OP_ShowIllusionsMsg',179,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10920,1096,1096,'OP_HideIllusionsMsg',180,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10921,1096,1096,'OP_ExamineItemRequestMsg',181,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10922,1096,1096,'OP_ReadBookPageMsg',182,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10923,1096,1096,'OP_DefaultGroupOptionsRequestMsg',183,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10924,1096,1096,'OP_DefaultGroupOptionsMsg',184,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10925,1096,1096,'OP_GroupOptionsMsg',185,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10926,1096,1096,'OP_DisplayGroupOptionsScreenMsg',186,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10927,1096,1096,'OP_DisplayInnVisitScreenMsg',187,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10928,1096,1096,'OP_DumpSchedulerMsg',188,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10929,1096,1096,'OP_LSRequestPlayerDescMsg',189,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10930,1096,1096,'OP_LSCheckAcctLockMsg',190,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10931,1096,1096,'OP_WSAcctLockStatusMsg',191,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10932,1096,1096,'OP_RequestHelpRepathMsg',192,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10933,1096,1096,'OP_RequestTargetLocMsg',193,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10934,1096,1096,'OP_UpdateMotdMsg',194,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10935,1096,1096,'OP_PerformPlayerKnockbackMsg',195,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10936,1096,1096,'OP_PerformCameraShakeMsg',196,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10937,1096,1096,'OP_PopulateSkillMapsMsg',199,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10938,1096,1096,'OP_CancelledFeignMsg',201,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10939,1096,1096,'OP_SignalMsg',202,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10940,1096,1096,'OP_ShowCreateFromRecipeUIMsg',203,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10941,1096,1096,'OP_CancelCreateFromRecipeMsg',204,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10942,1096,1096,'OP_BeginItemCreationMsg',205,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10943,1096,1096,'OP_StopItemCreationMsg',206,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10944,1096,1096,'OP_ShowItemCreationProcessUIMsg',207,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10945,1096,1096,'OP_UpdateItemCreationProcessUIMsg',208,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10946,1096,1096,'OP_DisplayTSEventReactionMsg',209,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10947,1096,1096,'OP_ShowRecipeBookMsg',210,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10948,1096,1096,'OP_KnowledgebaseRequestMsg',211,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10949,1096,1096,'OP_KnowledgebaseResponseMsg',212,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10950,1096,1096,'OP_CSTicketHeaderRequestMsg',213,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10951,1096,1096,'OP_CSTicketInfoMsg',214,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10952,1096,1096,'OP_CSTicketCommentRequestMsg',215,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10953,1096,1096,'OP_CSTicketCommentResponseMsg',216,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10954,1096,1096,'OP_CSTicketCreateMsg',217,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10955,1096,1096,'OP_CSTicketAddCommentMsg',218,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10956,1096,1096,'OP_CSTicketDeleteMsg',219,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10957,1096,1096,'OP_CSTicketChangeNotificationMsg',220,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10958,1096,1096,'OP_WorldDataUpdateMsg',221,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10959,1096,1096,'OP_KnownLanguagesMsg',222,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10960,1096,1096,'OP_LsRequestClientCrashLogMsg',223,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10961,1096,1096,'OP_LsClientBaselogReplyMsg',224,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10962,1096,1096,'OP_LsClientCrashlogReplyMsg',225,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10963,1096,1096,'OP_LsClientAlertlogReplyMsg',226,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10964,1096,1096,'OP_LsClientVerifylogReplyMsg',227,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10965,1096,1096,'OP_ClientTeleportToLocationMsg',228,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10966,1096,1096,'OP_UpdateClientPredFlagsMsg',229,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10967,1096,1096,'OP_ChangeServerControlFlagMsg',230,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10968,1096,1096,'OP_CSToolsRequestMsg',231,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10969,1096,1096,'OP_CSToolsResponseMsg',232,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10970,1096,1096,'OP_AddSocialStructureStandingMsg',233,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10971,1096,1096,'OP_CreateBoatTransportsMsg',234,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10972,1096,1096,'OP_PositionBoatTransportMsg',235,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10973,1096,1096,'OP_MigrateBoatTransportMsg',236,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10974,1096,1096,'OP_MigrateBoatTransportReplyMsg',237,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10975,1096,1096,'OP_DisplayDebugNLLPointsMsg',238,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10976,1096,1096,'OP_ExamineInfoRequestMsg',239,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10977,1096,1096,'OP_QuickbarInitMsg',240,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10978,1096,1096,'OP_QuickbarUpdateMsg',241,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10979,1096,1096,'OP_MacroInitMsg',242,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10980,1096,1096,'OP_MacroUpdateMsg',243,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10981,1096,1096,'OP_QuestionnaireMsg',244,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10982,1096,1096,'OP_LevelChangedMsg',245,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10983,1096,1096,'OP_SpellGainedMsg',246,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10984,1096,1096,'OP_EncounterBrokenMsg',247,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10985,1096,1096,'OP_OnscreenMsgMsg',248,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10986,1096,1096,'OP_DisplayWarningMsg',249,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10987,1096,1096,'OP_ModifyGuildMsg',250,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10988,1096,1096,'OP_GuildEventMsg',251,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10989,1096,1096,'OP_GuildEventAddMsg',252,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10990,1096,1096,'OP_GuildEventActionMsg',253,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10991,1096,1096,'OP_GuildEventListMsg',254,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10992,1096,1096,'OP_RequestGuildEventDetailsMsg',255,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10993,1096,1096,'OP_GuildEventDetailsMsg',256,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10994,1096,1096,'OP_RequestGuildInfoMsg',257,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10995,1096,1096,'OP_GuildBankActionMsg',258,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10996,1096,1096,'OP_GuildBankActionResponseMsg',259,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10997,1096,1096,'OP_GuildBankItemDetailsRequestMsg',260,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10998,1096,1096,'OP_GuildBankItemDetailsResponseMs',261,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (10999,1096,1096,'OP_GuildBankUpdateMsg',262,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11000,1096,1096,'OP_GuildBankEventListMsg',263,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11001,1096,1096,'OP_RequestGuildBankEventDetailsMs',264,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11002,1096,1096,'OP_RewardPackMsg',265,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11003,1096,1096,'OP_RenameGuildMsg',266,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11004,1096,1096,'OP_ZoneToFriendRequestMsg',268,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11005,1096,1096,'OP_ZoneToFriendReplyMsg',269,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11006,1096,1096,'OP_ChatCreateChannelMsg',270,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11007,1096,1096,'OP_ChatJoinChannelMsg',271,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11008,1096,1096,'OP_ChatWhoChannelMsg',272,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11009,1096,1096,'OP_ChatLeaveChannelMsg',273,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11010,1096,1096,'OP_ChatTellChannelMsg',274,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11011,1096,1096,'OP_ChatTellUserMsg',275,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11012,1096,1096,'OP_ChatToggleFriendMsg',276,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11013,1096,1096,'OP_ChatToggleIgnoreMsg',277,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11014,1096,1096,'OP_ChatSendFriendsMsg',278,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11015,1096,1096,'OP_ChatSendIgnoresMsg',279,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11016,1096,1096,'OP_QuestReward',304,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11017,1096,1096,'OP_ChatFiltersMsg',319,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11018,1096,1096,'OP_MailGetHeadersMsg',320,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11019,1096,1096,'OP_MailGetMessageMsg',321,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11020,1096,1096,'OP_MailSendMessageMsg',322,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11021,1096,1096,'OP_MailDeleteMessageMsg',323,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11022,1096,1096,'OP_MailGetHeadersReplyMsg',324,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11023,1096,1096,'OP_MailGetMessageReplyMsg',325,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11024,1096,1096,'OP_MailSendMessageReplyMsg',326,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11025,1096,1096,'OP_MailCommitSendMessageMsg',327,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11026,1096,1096,'OP_MailSendSystemMessageMsg',328,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11027,1096,1096,'OP_MailRemoveAttachFromMailMsg',329,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11028,1096,1096,'OP_WaypointRequestMsg',331,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11029,1096,1096,'OP_WaypointReplyMsg',332,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11030,1096,1096,'OP_WaypointSelectMsg',333,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11031,1096,1096,'OP_WaypointUpdateMsg',334,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11032,1096,1096,'OP_CharNameChangedMsg',335,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11033,1096,1096,'OP_ShowZoneTeleporterDestinations',336,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11034,1096,1096,'OP_SelectZoneTeleporterDestinatio',337,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11035,1096,1096,'OP_ReloadLocalizedTxtMsg',338,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11036,1096,1096,'OP_RequestGuildMembershipMsg',339,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11037,1096,1096,'OP_GuildMembershipResponseMsg',340,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11038,1096,1096,'OP_LeaveGuildNotifyMsg',341,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11039,1096,1096,'OP_JoinGuildNotifyMsg',342,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11040,1096,1096,'OP_AvatarUpdateMsg',343,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11041,1096,1096,'OP_BioUpdateMsg',344,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11042,1096,1096,'OP_InspectPlayerMsg',345,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11043,1096,1096,'OP_WSServerLockMsg',346,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11044,1096,1096,'OP_LSServerLockMsg',347,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11045,1096,1096,'OP_WSServerHideMsg',348,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11046,1096,1096,'OP_CsCategoryRequestMsg',349,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11047,1096,1096,'OP_CsCategoryResponseMsg',350,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11048,1096,1096,'OP_KnowledgeWindowSlotMappingMsg',351,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11049,1096,1096,'OP_LFGUpdateMsg',352,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11050,1096,1096,'OP_AFKUpdateMsg',353,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11051,1096,1096,'OP_AnonUpdateMsg',354,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11052,1096,1096,'OP_UpdateActivePublicZonesMsg',355,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11053,1096,1096,'OP_UnknownNpcMsg',356,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11054,1096,1096,'OP_PromoFlagsDetailsMsg',357,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11055,1096,1096,'OP_ConsignViewCreateMsg',358,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11056,1096,1096,'OP_ConsignViewGetPageMsg',359,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11057,1096,1096,'OP_ConsignViewReleaseMsg',360,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11058,1096,1096,'OP_ConsignRemoveItemsMsg',361,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11059,1096,1096,'OP_UpdateDebugRadiiMsg',362,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11060,1096,1096,'OP_SnoopMsg',363,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11061,1096,1096,'OP_ReportMsg',364,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11062,1096,1096,'OP_UpdateRaidMsg',365,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11063,1096,1096,'OP_ConsignViewSortMsg',366,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11064,1096,1096,'OP_TitleUpdateMsg',367,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11065,1096,1096,'OP_ClientFellMsg',368,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11066,1096,1096,'OP_ClientInDeathRegionMsg',369,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11067,1096,1096,'OP_CampClientMsg',370,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11068,1096,1096,'OP_CSToolAccessResponseMsg',371,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11069,1096,1096,'OP_TrackingUpdateMsg',372,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11070,1096,1096,'OP_BeginTrackingMsg',373,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11071,1096,1096,'OP_StopTrackingMsg',374,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11072,1096,1096,'OP_GetAvatarAccessRequestForCSToo',375,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11073,1096,1096,'OP_AdvancementRequestMsg',376,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11074,1096,1096,'OP_UpdateAvgFrameTimeMsg',377,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11075,1096,1096,'OP_MapFogDataInitMsg',378,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11076,1096,1096,'OP_MapFogDataUpdateMsg',379,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11077,1096,1096,'OP_CloseGroupInviteWindowMsg',380,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11078,1096,1096,'OP_UpdateGroupMemberDataMsg',381,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11079,1096,1096,'OP_WorldPingMsg',382,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11080,1096,1096,'OP_MoveLogUpdateMsg',383,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11081,1096,1096,'OP_OfferQuestMsg',384,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11082,1096,1096,'OP_WorldShutdownUpdateMsg',385,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11083,1096,1096,'OP_DisplayMailScreenMsg',386,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11084,1096,1096,'OP_ClientIdleBeginMsg',387,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11085,1096,1096,'OP_ClientIdleEndMsg',388,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11086,1096,1096,'OP_PurchaseConsignmentLoreCheckRe',389,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11087,1096,1096,'OP_NotifyApprenticeStoppedMentori',390,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11088,1096,1096,'OP_CorruptedClientMsg',391,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11089,1096,1096,'OP_WorldDataChangeMsg',392,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11090,1096,1096,'OP_MailEventNotificationMsg',393,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11091,1096,1096,'OP_RestartZoneMsg',394,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11092,1096,1096,'OP_FlightPathsMsg',395,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11093,1096,1096,'OP_CharacterLinkdeadMsg',396,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11094,1096,1096,'OP_CharTransferStartRequestMsg',397,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11095,1096,1096,'OP_CharTransferStartReplyMsg',398,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11096,1096,1096,'OP_CharTransferRequestMsg',399,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11097,1096,1096,'OP_CharTransferReplyMsg',400,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11098,1096,1096,'OP_CharTransferRollbackRequestMsg',401,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11099,1096,1096,'OP_CharTransferCommitRequestMsg',402,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11100,1096,1096,'OP_CharTransferRollbackReplyMsg',403,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11101,1096,1096,'OP_CharTransferCommitReplyMsg',404,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11102,1096,1096,'OP_GetCharacterSerializedRequestM',405,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11103,1096,1096,'OP_GetCharacterSerializedReplyMsg',406,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11104,1096,1096,'OP_CreateCharFromCBBRequestMsg',407,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11105,1096,1096,'OP_CreateCharFromCBBReplyMsg',408,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11106,1096,1096,'OP_HousingDataChangedMsg',409,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11107,1096,1096,'OP_HousingRestoreMsg',410,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11108,1096,1096,'OP_AuctionItem',411,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11109,1096,1096,'OP_AuctionItemReply',412,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11110,1096,1096,'OP_AuctionCoin',413,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11111,1096,1096,'OP_AuctionCoinReply',414,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11112,1096,1096,'OP_AuctionCharacter',415,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11113,1096,1096,'OP_AuctionCharacterReply',416,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11114,1096,1096,'OP_AuctionCommitMsg',417,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11115,1096,1096,'OP_AuctionAbortMsg',418,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11116,1096,1096,'OP_CharTransferValidateRequestMsg',419,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11117,1096,1096,'OP_CharTransferValidateReplyMsg',420,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11118,1096,1096,'OP_RaceRestrictionMsg',421,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11119,1096,1096,'OP_SetInstanceDisplayNameMsg',422,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11120,1096,1096,'OP_GetAuctionAssetIDMsg',423,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11121,1096,1096,'OP_GetAuctionAssetIDReplyMsg',424,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11122,1096,1096,'OP_ResendWorldChannelsMsg',425,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11123,1096,1096,'OP_DisplayExchangeScreenMsg',426,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11124,1096,1096,'OP_ArenaGameTypesMsg',428,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11125,1096,1096,'OP_AuditAuctionEventMsg',429,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11126,1096,1096,'OP_InviteRequestMsg',431,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11127,1096,1096,'OP_InviteResponseMsg',432,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11128,1096,1096,'OP_InviteTargetResponseMsg',433,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11129,1096,1096,'OP_InspectPlayerRequestMsg',434,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11130,1096,1096,'OP_DispatchMsg',435,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11131,1096,1096,'OP_DisplayEventMsg',436,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11132,1096,1096,'OP_PrePossessionMsg',437,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11133,1096,1096,'OP_PostPossessionMsg',438,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11134,1096,1096,'OP_AdventureList',470,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11135,1096,1096,'OP_CancelSpellCast',471,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11136,1096,1096,'OP_AttackAllowed',483,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11137,1096,1096,'OP_AttackNotAllowed',484,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11138,1096,1096,'OP_DressingRoom',490,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11139,1096,1096,'OP_SkillInfoRequest',496,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11140,1096,1096,'OP_SkillInfoResponse',497,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11141,1096,1096,'OP_BadLanguageFilter',501,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11142,1096,1096,'OP_MapRequest',502,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11143,1096,1096,'OP_Unknown',509,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11144,1096,1096,'OP_EqUnknown',541,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11145,1096,1096,'OP_EqHearChatCmd',543,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11146,1096,1096,'OP_EqDisplayTextCmd',544,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11147,1096,1096,'OP_EqCreateGhostCmd',545,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11148,1096,1096,'OP_EqCreateWidgetCmd',546,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11149,1096,1096,'OP_EqCreateSignWidgetCmd',547,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11150,1096,1096,'OP_EqDestroyGhostCmd',548,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11151,1096,1096,'OP_EqUpdateGhostCmd',549,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11152,1096,1096,'OP_EqSetControlGhostCmd',550,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11153,1096,1096,'OP_EqSetPOVGhostCmd',551,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11154,1096,1096,'OP_EqHearCombatCmd',552,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11155,1096,1096,'OP_EqHearSpellCastCmd',553,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11156,1096,1096,'OP_EqHearSpellInterruptCmd',556,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11157,1096,1096,'OP_EqHearSpellFizzleCmd',557,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11158,1096,1096,'OP_EqHearConsiderCmd',558,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11159,1096,1096,'OP_EqUpdateSubClassesCmd',559,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11160,1096,1096,'OP_EqCreateListBoxCmd',560,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11161,1096,1096,'OP_EqSetDebugPathPointsCmd',561,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11162,1096,1096,'OP_EqCannedEmoteCmd',563,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11163,1096,1096,'OP_EqStateCmd',564,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11164,1096,1096,'OP_EqPlaySoundCmd',565,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11165,1096,1096,'OP_EqPlaySound3DCmd',566,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11166,1096,1096,'OP_EqPlayVoiceCmd',567,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11167,1096,1096,'OP_EqHearDrowningCmd',568,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11168,1096,1096,'OP_EqHearDeathCmd',569,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11169,1096,1096,'OP_EqGroupMemberRemovedCmd',570,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11170,1096,1096,'OP_EqHearChainEffectCmd',571,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11171,1096,1096,'OP_EqReceiveOfferCmd',572,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11172,1096,1096,'OP_EqInspectPCResultsCmd',573,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11173,1096,1096,'OP_EqDrawablePathGraphCmd',574,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11174,1096,1096,'OP_EqDialogOpenCmd',575,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11175,1096,1096,'OP_EqDialogCloseCmd',576,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11176,1096,1096,'OP_EqFactionUpdateCmd',577,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11177,1096,1096,'OP_EqCollectionUpdateCmd',578,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11178,1096,1096,'OP_EqCollectionFilterCmd',579,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11179,1096,1096,'OP_EqCollectionItemCmd',580,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11180,1096,1096,'OP_EqQuestJournalUpdateCmd',581,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11181,1096,1096,'OP_EqQuestJournalReplyCmd',583,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11182,1096,1096,'OP_EqQuestGroupCmd',584,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11183,1096,1096,'OP_EqUpdateMerchantCmd',585,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11184,1096,1096,'OP_EqUpdateStoreCmd',586,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11185,1096,1096,'OP_EqUpdatePlayerTradeCmd',587,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11186,1096,1096,'OP_EqHelpPathCmd',588,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11187,1096,1096,'OP_EqHelpPathClearCmd',589,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11188,1096,1096,'OP_EqUpdateBankCmd',590,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11189,1096,1096,'OP_EqExamineInfoCmd',591,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11190,1096,1096,'OP_EqCloseWindowCmd',592,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11191,1096,1096,'OP_EqUpdateLootCmd',593,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11192,1096,1096,'OP_EqJunctionListCmd',594,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11193,1096,1096,'OP_EqShowDeathWindowCmd',595,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11194,1096,1096,'OP_EqDisplaySpellFailCmd',596,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11195,1096,1096,'OP_EqSpellCastStartCmd',597,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11196,1096,1096,'OP_EqSpellCastEndCmd',598,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11197,1096,1096,'OP_EqResurrectedCmd',599,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11198,1096,1096,'OP_EqChoiceWinCmd',600,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11199,1096,1096,'OP_EqSetDefaultVerbCmd',601,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11200,1096,1096,'OP_EqInstructionWindowCmd',603,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11201,1096,1096,'OP_EqInstructionWindowCloseCmd',604,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11202,1096,1096,'OP_EqInstructionWindowGoalCmd',605,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11203,1096,1096,'OP_EqInstructionWindowTaskCmd',606,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11204,1096,1096,'OP_EqEnableGameEventCmd',607,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11205,1096,1096,'OP_EqShowWindowCmd',608,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11206,1096,1096,'OP_EqEnableWindowCmd',609,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11207,1096,1096,'OP_EqFlashWindowCmd',610,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11208,1096,1096,'OP_EqHearPlayFlavorCmd',611,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11209,1096,1096,'OP_EqUpdateSignWidgetCmd',613,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11210,1096,1096,'OP_EqDebugPVDCmd',614,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11211,1096,1096,'OP_EqShowBookCmd',615,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11212,1096,1096,'OP_EqQuestionnaireCmd',616,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11213,1096,1096,'OP_EqGetProbsCmd',617,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11214,1096,1096,'OP_EqHearHealCmd',618,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11215,1096,1096,'OP_EqChatChannelUpdateCmd',619,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11216,1096,1096,'OP_EqWhoChannelQueryReplyCmd',620,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11217,1096,1096,'OP_EqAvailWorldChannelsCmd',621,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11218,1096,1096,'OP_EqUpdateTargetCmd',622,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11219,1096,1096,'OP_EqConsignmentItemsCmd',624,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11220,1096,1096,'OP_EqStartBrokerCmd',626,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11221,1096,1096,'OP_EqMapExplorationCmd',627,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11222,1096,1096,'OP_EqStoreLogCmd',628,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11223,1096,1096,'OP_EqSpellMoveToRangeAndRetryCmd',629,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11224,1096,1096,'OP_EqUpdatePlayerMailCmd',630,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11225,1096,1096,'OP_EqArenaResultsCmd',631,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11226,1096,1096,'OP_EqGuildBankEventActionCmd',632,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11227,1096,1096,'OP_EqGuildBankExamineInfoCmd',633,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11228,1096,1096,'OP_EqHearSpellNoLandCmd',634,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11229,1096,1096,'OP_GuildList',637,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11230,1096,1096,'OP_Lottery',638,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11231,1096,1096,'OP_GuildRecruitingMemberInfo',639,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11232,1096,1096,'OP_GuildRecruiting',640,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11233,1096,1096,'OP_GuildRecruitingDetails',641,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11234,1096,1096,'OP_GuildRecruitingImage',642,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11235,1096,1096,'OP_TradeskillList',659,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11236,1096,1096,'OP_PointOfInterest',663,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11237,1096,1096,'OP_TraitsList',665,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11238,1096,1096,'OP_RecipeList',674,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11239,1096,1096,'OP_CharacterAchievements',677,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11240,1096,1096,'OP_AddClientToGroupMsg',999,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11241,1096,1096,'OP_AddGroupToGroupMsg',1000,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11242,1096,1096,'OP_WSWeatherUpdateMsg',1001,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11243,1096,1096,'OP_SkillSlotMapping',1002,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11244,1096,1096,'OP_GuildKickMsg',1003,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11245,1096,1096,'OP_PurchaseConsignmentResponseMsg',1004,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11246,1096,1096,'OP_ProcessScriptMsg',1005,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11247,1096,1096,'OP_ProcessWorkspaceMsg',1006,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11248,1096,1096,'OP_QuickbarAddMsg',1007,2);
+insert  into `opcodes`(`id`,`version_range1`,`version_range2`,`name`,`opcode`,`table_data_version`) values (11249,1096,1096,'OP_UpdateTitleCmd',479,9);
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

+ 175 - 0
EQ2/docs/pull type chance.html

@@ -0,0 +1,175 @@
+<html><head><title>Extending Pull Type</title>
+
+<script>
+function decimal(n, places)
+{
+	n += 0.000001; // for the case of 100 not displaying as 100.0
+
+	var s = n + "";
+	var d = s.indexOf(".");
+	return(s.substr(0,d+1+places));
+}
+
+</script>
+
+</head>
+
+<body>
+
+<h1>Extending Pull Type</h1>
+
+<script>
+function _Pull(isRare, chance)
+{
+	this.isRare = isRare;
+	this.chance = chance;
+}
+
+var pullType = [ "1 common", "3 common", "5 common", "1 imbue", "1 rare", "10 common<BR>1 rare" ];
+
+var baseTable = 
+[
+	new _Pull(0, 70	), // 1 common
+	new _Pull(0, 20	), // 3 common
+	new _Pull(0,  8	), // 5 common
+	new _Pull(0,  1	), // 1 imbue
+	new _Pull(1,  0.7	), // 1 rare
+	new _Pull(1,  0.3	)  // 10 common and 1 rare
+];
+
+function copyTable(oldTable)
+{
+	var newTable = [];
+
+	for(var x=0, xl=oldTable.length; x<xl; ++x)
+		newTable[x] = new _Pull(oldTable[x].isRare, oldTable[x].chance);
+
+	return(newTable);
+}
+
+function mkBonus(table)
+{
+	var bonus = copyTable(table);
+	var increase = 0;
+
+	/* mult chances by 1.5 (round up) except "1 common" */
+	for(var x=1, xl=bonus.length; x<xl; ++x)
+	{
+		bonus[x].chance = decimal(table[x].chance * 1.5 + 0.05, 1) - 0;
+		increase += bonus[x].chance - table[x].chance;
+	}
+	bonus[0].chance -= increase;
+
+	return(bonus);
+}
+
+function header()
+{
+	document.write("<tr>");
+	document.write("<td># Rares</td><td>Table Type</td><td>Total</td>");
+
+	for(var x=0, xl=pullType.length; x<xl; ++x)
+		document.write("<td>" + pullType[x] + "</td>");
+
+	document.write("<td>Checked<BR>Total</td>");
+	document.write("</tr>");
+}
+
+function row(nRares, tableType, table)
+{
+	var oldTotal = newTotal = 0;
+
+	for(var x=0, xl=table.length; x<xl; ++x)
+		oldTotal += table[x].chance;
+
+	document.write("<tr>");
+	document.write("<td align=right>" + nRares + "</td>");
+	document.write("<td>" + tableType + "</td>");
+	document.write("<td align=right>" + decimal(oldTotal, 2) + "</td>");
+
+	for(var x=0, xl=table.length; x<xl; ++x)
+	{
+		var chance = table[x].chance / oldTotal * 100 + 0.05;
+		var s = decimal(chance, 1);
+		newTotal += (s - 0);
+		if(s == "0.0")
+			document.write("<td align=right>----</td>");
+		else
+			document.write("<td align=right>" + s + "</td>");
+	}
+
+	document.write("<td align=right>" + decimal(newTotal, 2) + "</td>");
+}
+
+
+/*----------------*/
+document.write("<P>Starting with the numbers Domino gave for T4 root node base table:");
+
+document.write("<table border=1 cellpadding=5>");
+header();
+row(1, "Base", baseTable);
+document.write("</table>");
+
+/*----------------*/
+document.write("<P>I made the T4 root node bonus table such that everything except \"1 common\" was 1.5 better chance and took the extra off \"1 common\".");
+
+var bonusTable = mkBonus(baseTable);
+document.write("<table border=1 cellpadding=5>");
+header();
+row(1, "Bonus", bonusTable);
+document.write("</table>");
+
+/*----------------*/
+document.write("<P>Fish nodes have 0 rares and are a special case. I simply recalculated the table with no rares.");
+var noRares = copyTable(baseTable);
+for(var x=0, xl=noRares.length; x<xl; ++x)
+{
+	if(noRares[x].isRare)
+		noRares[x].chance = 0;
+}
+var noRaresBonus = mkBonus(noRares);
+
+document.write("<table border=1 cellpadding=5>");
+header();
+row(0, "Base", noRares);
+row(0, "Bonus", noRaresBonus);
+document.write("</table>");
+
+/*----------------*/
+document.write("<P>Ore (except T9) and Rocks are also special cases - they have 2 rares. Rare drop rates for these nodes have been doubled, again the excess is just taken off \"1 common\".");
+
+var twoRares = copyTable(baseTable);
+var increase = 0;
+for(var x=1, xl=noRares.length; x<xl; ++x)
+{
+	if(twoRares[x].isRare)
+	{
+		increase += twoRares[x].chance;
+		twoRares[x].chance *= 2;
+	}
+}
+twoRares[0].chance -= increase;
+var twoRaresBonus = mkBonus(twoRares);
+
+document.write("<table border=1 cellpadding=5>");
+header();
+row(2, "Base", twoRares);
+row(2, "Bonus", twoRaresBonus);
+document.write("</table>");
+
+/*----------------*/
+document.write("<h2>Summary of Pull type chances</h2>");
+
+document.write("<table border=1 cellpadding=5>");
+header();
+row(0, "Base", noRares);
+row(0, "Bonus", noRaresBonus);
+row(1, "Base", baseTable);
+row(1, "Bonus", bonusTable);
+row(2, "Base", twoRares);
+row(2, "Bonus", twoRaresBonus);
+document.write("</table>");
+
+
+
+</script></body></html>

+ 174 - 0
EQ2/source/LUA/include/lauxlib.h

@@ -0,0 +1,174 @@
+/*
+** $Id: lauxlib.h,v 1.88.1.1 2007/12/27 13:02:25 roberto Exp $
+** Auxiliary functions for building Lua libraries
+** See Copyright Notice in lua.h
+*/
+
+
+#ifndef lauxlib_h
+#define lauxlib_h
+
+
+#include <stddef.h>
+#include <stdio.h>
+
+#include "lua.h"
+
+
+#if defined(LUA_COMPAT_GETN)
+LUALIB_API int (luaL_getn) (lua_State *L, int t);
+LUALIB_API void (luaL_setn) (lua_State *L, int t, int n);
+#else
+#define luaL_getn(L,i)          ((int)lua_objlen(L, i))
+#define luaL_setn(L,i,j)        ((void)0)  /* no op! */
+#endif
+
+#if defined(LUA_COMPAT_OPENLIB)
+#define luaI_openlib	luaL_openlib
+#endif
+
+
+/* extra error code for `luaL_load' */
+#define LUA_ERRFILE     (LUA_ERRERR+1)
+
+
+typedef struct luaL_Reg {
+  const char *name;
+  lua_CFunction func;
+} luaL_Reg;
+
+
+
+LUALIB_API void (luaI_openlib) (lua_State *L, const char *libname,
+                                const luaL_Reg *l, int nup);
+LUALIB_API void (luaL_register) (lua_State *L, const char *libname,
+                                const luaL_Reg *l);
+LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e);
+LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e);
+LUALIB_API int (luaL_typerror) (lua_State *L, int narg, const char *tname);
+LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg);
+LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg,
+                                                          size_t *l);
+LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg,
+                                          const char *def, size_t *l);
+LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg);
+LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def);
+
+LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg);
+LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg,
+                                          lua_Integer def);
+
+LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg);
+LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t);
+LUALIB_API void (luaL_checkany) (lua_State *L, int narg);
+
+LUALIB_API int   (luaL_newmetatable) (lua_State *L, const char *tname);
+LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname);
+
+LUALIB_API void (luaL_where) (lua_State *L, int lvl);
+LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...);
+
+LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def,
+                                   const char *const lst[]);
+
+LUALIB_API int (luaL_ref) (lua_State *L, int t);
+LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref);
+
+LUALIB_API int (luaL_loadfile) (lua_State *L, const char *filename);
+LUALIB_API int (luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz,
+                                  const char *name);
+LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s);
+
+LUALIB_API lua_State *(luaL_newstate) (void);
+
+
+LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p,
+                                                  const char *r);
+
+LUALIB_API const char *(luaL_findtable) (lua_State *L, int idx,
+                                         const char *fname, int szhint);
+
+
+
+
+/*
+** ===============================================================
+** some useful macros
+** ===============================================================
+*/
+
+#define luaL_argcheck(L, cond,numarg,extramsg)	\
+		((void)((cond) || luaL_argerror(L, (numarg), (extramsg))))
+#define luaL_checkstring(L,n)	(luaL_checklstring(L, (n), NULL))
+#define luaL_optstring(L,n,d)	(luaL_optlstring(L, (n), (d), NULL))
+#define luaL_checkint(L,n)	((int)luaL_checkinteger(L, (n)))
+#define luaL_optint(L,n,d)	((int)luaL_optinteger(L, (n), (d)))
+#define luaL_checklong(L,n)	((long)luaL_checkinteger(L, (n)))
+#define luaL_optlong(L,n,d)	((long)luaL_optinteger(L, (n), (d)))
+
+#define luaL_typename(L,i)	lua_typename(L, lua_type(L,(i)))
+
+#define luaL_dofile(L, fn) \
+	(luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))
+
+#define luaL_dostring(L, s) \
+	(luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
+
+#define luaL_getmetatable(L,n)	(lua_getfield(L, LUA_REGISTRYINDEX, (n)))
+
+#define luaL_opt(L,f,n,d)	(lua_isnoneornil(L,(n)) ? (d) : f(L,(n)))
+
+/*
+** {======================================================
+** Generic Buffer manipulation
+** =======================================================
+*/
+
+
+
+typedef struct luaL_Buffer {
+  char *p;			/* current position in buffer */
+  int lvl;  /* number of strings in the stack (level) */
+  lua_State *L;
+  char buffer[LUAL_BUFFERSIZE];
+} luaL_Buffer;
+
+#define luaL_addchar(B,c) \
+  ((void)((B)->p < ((B)->buffer+LUAL_BUFFERSIZE) || luaL_prepbuffer(B)), \
+   (*(B)->p++ = (char)(c)))
+
+/* compatibility only */
+#define luaL_putchar(B,c)	luaL_addchar(B,c)
+
+#define luaL_addsize(B,n)	((B)->p += (n))
+
+LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B);
+LUALIB_API char *(luaL_prepbuffer) (luaL_Buffer *B);
+LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l);
+LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s);
+LUALIB_API void (luaL_addvalue) (luaL_Buffer *B);
+LUALIB_API void (luaL_pushresult) (luaL_Buffer *B);
+
+
+/* }====================================================== */
+
+
+/* compatibility with ref system */
+
+/* pre-defined references */
+#define LUA_NOREF       (-2)
+#define LUA_REFNIL      (-1)
+
+#define lua_ref(L,lock) ((lock) ? luaL_ref(L, LUA_REGISTRYINDEX) : \
+      (lua_pushstring(L, "unlocked references are obsolete"), lua_error(L), 0))
+
+#define lua_unref(L,ref)        luaL_unref(L, LUA_REGISTRYINDEX, (ref))
+
+#define lua_getref(L,ref)       lua_rawgeti(L, LUA_REGISTRYINDEX, (ref))
+
+
+#define luaL_reg	luaL_Reg
+
+#endif
+
+

+ 388 - 0
EQ2/source/LUA/include/lua.h

@@ -0,0 +1,388 @@
+/*
+** $Id: lua.h,v 1.218.1.4 2008/01/03 15:41:15 roberto Exp $
+** Lua - An Extensible Extension Language
+** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
+** See Copyright Notice at the end of this file
+*/
+
+
+#ifndef lua_h
+#define lua_h
+
+#include <stdarg.h>
+#include <stddef.h>
+
+
+#include "luaconf.h"
+
+
+#define LUA_VERSION	"Lua 5.1"
+#define LUA_RELEASE	"Lua 5.1.3"
+#define LUA_VERSION_NUM	501
+#define LUA_COPYRIGHT	"Copyright (C) 1994-2008 Lua.org, PUC-Rio"
+#define LUA_AUTHORS 	"R. Ierusalimschy, L. H. de Figueiredo & W. Celes"
+
+
+/* mark for precompiled code (`<esc>Lua') */
+#define	LUA_SIGNATURE	"\033Lua"
+
+/* option for multiple returns in `lua_pcall' and `lua_call' */
+#define LUA_MULTRET	(-1)
+
+
+/*
+** pseudo-indices
+*/
+#define LUA_REGISTRYINDEX	(-10000)
+#define LUA_ENVIRONINDEX	(-10001)
+#define LUA_GLOBALSINDEX	(-10002)
+#define lua_upvalueindex(i)	(LUA_GLOBALSINDEX-(i))
+
+
+/* thread status; 0 is OK */
+#define LUA_YIELD	1
+#define LUA_ERRRUN	2
+#define LUA_ERRSYNTAX	3
+#define LUA_ERRMEM	4
+#define LUA_ERRERR	5
+
+
+typedef struct lua_State lua_State;
+
+typedef int (*lua_CFunction) (lua_State *L);
+
+
+/*
+** functions that read/write blocks when loading/dumping Lua chunks
+*/
+typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz);
+
+typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud);
+
+
+/*
+** prototype for memory-allocation functions
+*/
+typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize);
+
+
+/*
+** basic types
+*/
+#define LUA_TNONE		(-1)
+
+#define LUA_TNIL		0
+#define LUA_TBOOLEAN		1
+#define LUA_TLIGHTUSERDATA	2
+#define LUA_TNUMBER		3
+#define LUA_TSTRING		4
+#define LUA_TTABLE		5
+#define LUA_TFUNCTION		6
+#define LUA_TUSERDATA		7
+#define LUA_TTHREAD		8
+
+
+
+/* minimum Lua stack available to a C function */
+#define LUA_MINSTACK	20
+
+
+/*
+** generic extra include file
+*/
+#if defined(LUA_USER_H)
+#include LUA_USER_H
+#endif
+
+
+/* type of numbers in Lua */
+typedef LUA_NUMBER lua_Number;
+
+
+/* type for integer functions */
+typedef LUA_INTEGER lua_Integer;
+
+
+
+/*
+** state manipulation
+*/
+LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);
+LUA_API void       (lua_close) (lua_State *L);
+LUA_API lua_State *(lua_newthread) (lua_State *L);
+
+LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf);
+
+
+/*
+** basic stack manipulation
+*/
+LUA_API int   (lua_gettop) (lua_State *L);
+LUA_API void  (lua_settop) (lua_State *L, int idx);
+LUA_API void  (lua_pushvalue) (lua_State *L, int idx);
+LUA_API void  (lua_remove) (lua_State *L, int idx);
+LUA_API void  (lua_insert) (lua_State *L, int idx);
+LUA_API void  (lua_replace) (lua_State *L, int idx);
+LUA_API int   (lua_checkstack) (lua_State *L, int sz);
+
+LUA_API void  (lua_xmove) (lua_State *from, lua_State *to, int n);
+
+
+/*
+** access functions (stack -> C)
+*/
+
+LUA_API int             (lua_isnumber) (lua_State *L, int idx);
+LUA_API int             (lua_isstring) (lua_State *L, int idx);
+LUA_API int             (lua_iscfunction) (lua_State *L, int idx);
+LUA_API int             (lua_isuserdata) (lua_State *L, int idx);
+LUA_API int             (lua_type) (lua_State *L, int idx);
+LUA_API const char     *(lua_typename) (lua_State *L, int tp);
+
+LUA_API int            (lua_equal) (lua_State *L, int idx1, int idx2);
+LUA_API int            (lua_rawequal) (lua_State *L, int idx1, int idx2);
+LUA_API int            (lua_lessthan) (lua_State *L, int idx1, int idx2);
+
+LUA_API lua_Number      (lua_tonumber) (lua_State *L, int idx);
+LUA_API lua_Integer     (lua_tointeger) (lua_State *L, int idx);
+LUA_API int             (lua_toboolean) (lua_State *L, int idx);
+LUA_API const char     *(lua_tolstring) (lua_State *L, int idx, size_t *len);
+LUA_API size_t          (lua_objlen) (lua_State *L, int idx);
+LUA_API lua_CFunction   (lua_tocfunction) (lua_State *L, int idx);
+LUA_API void	       *(lua_touserdata) (lua_State *L, int idx);
+LUA_API lua_State      *(lua_tothread) (lua_State *L, int idx);
+LUA_API const void     *(lua_topointer) (lua_State *L, int idx);
+
+
+/*
+** push functions (C -> stack)
+*/
+LUA_API void  (lua_pushnil) (lua_State *L);
+LUA_API void  (lua_pushnumber) (lua_State *L, lua_Number n);
+LUA_API void  (lua_pushinteger) (lua_State *L, lua_Integer n);
+LUA_API void  (lua_pushlstring) (lua_State *L, const char *s, size_t l);
+LUA_API void  (lua_pushstring) (lua_State *L, const char *s);
+LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt,
+                                                      va_list argp);
+LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...);
+LUA_API void  (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n);
+LUA_API void  (lua_pushboolean) (lua_State *L, int b);
+LUA_API void  (lua_pushlightuserdata) (lua_State *L, void *p);
+LUA_API int   (lua_pushthread) (lua_State *L);
+
+
+/*
+** get functions (Lua -> stack)
+*/
+LUA_API void  (lua_gettable) (lua_State *L, int idx);
+LUA_API void  (lua_getfield) (lua_State *L, int idx, const char *k);
+LUA_API void  (lua_rawget) (lua_State *L, int idx);
+LUA_API void  (lua_rawgeti) (lua_State *L, int idx, int n);
+LUA_API void  (lua_createtable) (lua_State *L, int narr, int nrec);
+LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz);
+LUA_API int   (lua_getmetatable) (lua_State *L, int objindex);
+LUA_API void  (lua_getfenv) (lua_State *L, int idx);
+
+
+/*
+** set functions (stack -> Lua)
+*/
+LUA_API void  (lua_settable) (lua_State *L, int idx);
+LUA_API void  (lua_setfield) (lua_State *L, int idx, const char *k);
+LUA_API void  (lua_rawset) (lua_State *L, int idx);
+LUA_API void  (lua_rawseti) (lua_State *L, int idx, int n);
+LUA_API int   (lua_setmetatable) (lua_State *L, int objindex);
+LUA_API int   (lua_setfenv) (lua_State *L, int idx);
+
+
+/*
+** `load' and `call' functions (load and run Lua code)
+*/
+LUA_API void  (lua_call) (lua_State *L, int nargs, int nresults);
+LUA_API int   (lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
+LUA_API int   (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud);
+LUA_API int   (lua_load) (lua_State *L, lua_Reader reader, void *dt,
+                                        const char *chunkname);
+
+LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data);
+
+
+/*
+** coroutine functions
+*/
+LUA_API int  (lua_yield) (lua_State *L, int nresults);
+LUA_API int  (lua_resume) (lua_State *L, int narg);
+LUA_API int  (lua_status) (lua_State *L);
+
+/*
+** garbage-collection function and options
+*/
+
+#define LUA_GCSTOP		0
+#define LUA_GCRESTART		1
+#define LUA_GCCOLLECT		2
+#define LUA_GCCOUNT		3
+#define LUA_GCCOUNTB		4
+#define LUA_GCSTEP		5
+#define LUA_GCSETPAUSE		6
+#define LUA_GCSETSTEPMUL	7
+
+LUA_API int (lua_gc) (lua_State *L, int what, int data);
+
+
+/*
+** miscellaneous functions
+*/
+
+LUA_API int   (lua_error) (lua_State *L);
+
+LUA_API int   (lua_next) (lua_State *L, int idx);
+
+LUA_API void  (lua_concat) (lua_State *L, int n);
+
+LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud);
+LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud);
+
+
+
+/* 
+** ===============================================================
+** some useful macros
+** ===============================================================
+*/
+
+#define lua_pop(L,n)		lua_settop(L, -(n)-1)
+
+#define lua_newtable(L)		lua_createtable(L, 0, 0)
+
+#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n)))
+
+#define lua_pushcfunction(L,f)	lua_pushcclosure(L, (f), 0)
+
+#define lua_strlen(L,i)		lua_objlen(L, (i))
+
+#define lua_isfunction(L,n)	(lua_type(L, (n)) == LUA_TFUNCTION)
+#define lua_istable(L,n)	(lua_type(L, (n)) == LUA_TTABLE)
+#define lua_islightuserdata(L,n)	(lua_type(L, (n)) == LUA_TLIGHTUSERDATA)
+#define lua_isnil(L,n)		(lua_type(L, (n)) == LUA_TNIL)
+#define lua_isboolean(L,n)	(lua_type(L, (n)) == LUA_TBOOLEAN)
+#define lua_isthread(L,n)	(lua_type(L, (n)) == LUA_TTHREAD)
+#define lua_isnone(L,n)		(lua_type(L, (n)) == LUA_TNONE)
+#define lua_isnoneornil(L, n)	(lua_type(L, (n)) <= 0)
+
+#define lua_pushliteral(L, s)	\
+	lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1)
+
+#define lua_setglobal(L,s)	lua_setfield(L, LUA_GLOBALSINDEX, (s))
+#define lua_getglobal(L,s)	lua_getfield(L, LUA_GLOBALSINDEX, (s))
+
+#define lua_tostring(L,i)	lua_tolstring(L, (i), NULL)
+
+
+
+/*
+** compatibility macros and functions
+*/
+
+#define lua_open()	luaL_newstate()
+
+#define lua_getregistry(L)	lua_pushvalue(L, LUA_REGISTRYINDEX)
+
+#define lua_getgccount(L)	lua_gc(L, LUA_GCCOUNT, 0)
+
+#define lua_Chunkreader		lua_Reader
+#define lua_Chunkwriter		lua_Writer
+
+
+/* hack */
+LUA_API void lua_setlevel	(lua_State *from, lua_State *to);
+
+
+/*
+** {======================================================================
+** Debug API
+** =======================================================================
+*/
+
+
+/*
+** Event codes
+*/
+#define LUA_HOOKCALL	0
+#define LUA_HOOKRET	1
+#define LUA_HOOKLINE	2
+#define LUA_HOOKCOUNT	3
+#define LUA_HOOKTAILRET 4
+
+
+/*
+** Event masks
+*/
+#define LUA_MASKCALL	(1 << LUA_HOOKCALL)
+#define LUA_MASKRET	(1 << LUA_HOOKRET)
+#define LUA_MASKLINE	(1 << LUA_HOOKLINE)
+#define LUA_MASKCOUNT	(1 << LUA_HOOKCOUNT)
+
+typedef struct lua_Debug lua_Debug;  /* activation record */
+
+
+/* Functions to be called by the debuger in specific events */
+typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar);
+
+
+LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar);
+LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar);
+LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n);
+LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n);
+LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n);
+LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n);
+
+LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count);
+LUA_API lua_Hook lua_gethook (lua_State *L);
+LUA_API int lua_gethookmask (lua_State *L);
+LUA_API int lua_gethookcount (lua_State *L);
+
+
+struct lua_Debug {
+  int event;
+  const char *name;	/* (n) */
+  const char *namewhat;	/* (n) `global', `local', `field', `method' */
+  const char *what;	/* (S) `Lua', `C', `main', `tail' */
+  const char *source;	/* (S) */
+  int currentline;	/* (l) */
+  int nups;		/* (u) number of upvalues */
+  int linedefined;	/* (S) */
+  int lastlinedefined;	/* (S) */
+  char short_src[LUA_IDSIZE]; /* (S) */
+  /* private part */
+  int i_ci;  /* active function */
+};
+
+/* }====================================================================== */
+
+
+/******************************************************************************
+* Copyright (C) 1994-2008 Lua.org, PUC-Rio.  All rights reserved.
+*
+* Permission is hereby granted, free of charge, to any person obtaining
+* a copy of this software and associated documentation files (the
+* "Software"), to deal in the Software without restriction, including
+* without limitation the rights to use, copy, modify, merge, publish,
+* distribute, sublicense, and/or sell copies of the Software, and to
+* permit persons to whom the Software is furnished to do so, subject to
+* the following conditions:
+*
+* The above copyright notice and this permission notice shall be
+* included in all copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+******************************************************************************/
+
+
+#endif

+ 9 - 0
EQ2/source/LUA/include/lua.hpp

@@ -0,0 +1,9 @@
+// lua.hpp
+// Lua header files for C++
+// <<extern "C">> not supplied automatically because Lua also compiles as C++
+
+extern "C" {
+#include "lua.h"
+#include "lualib.h"
+#include "lauxlib.h"
+}

+ 763 - 0
EQ2/source/LUA/include/luaconf.h

@@ -0,0 +1,763 @@
+/*
+** $Id: luaconf.h,v 1.82.1.6 2008/01/18 17:07:48 roberto Exp $
+** Configuration file for Lua
+** See Copyright Notice in lua.h
+*/
+
+
+#ifndef lconfig_h
+#define lconfig_h
+
+#include <limits.h>
+#include <stddef.h>
+
+
+/*
+** ==================================================================
+** Search for "@@" to find all configurable definitions.
+** ===================================================================
+*/
+
+
+/*
+@@ LUA_ANSI controls the use of non-ansi features.
+** CHANGE it (define it) if you want Lua to avoid the use of any
+** non-ansi feature or library.
+*/
+#if defined(__STRICT_ANSI__)
+#define LUA_ANSI
+#endif
+
+
+#if !defined(LUA_ANSI) && defined(_WIN32)
+#define LUA_WIN
+#endif
+
+#if defined(LUA_USE_LINUX)
+#define LUA_USE_POSIX
+#define LUA_USE_DLOPEN		/* needs an extra library: -ldl */
+#define LUA_USE_READLINE	/* needs some extra libraries */
+#endif
+
+#if defined(LUA_USE_MACOSX)
+#define LUA_USE_POSIX
+#define LUA_DL_DYLD		/* does not need extra library */
+#endif
+
+
+
+/*
+@@ LUA_USE_POSIX includes all functionallity listed as X/Open System
+@* Interfaces Extension (XSI).
+** CHANGE it (define it) if your system is XSI compatible.
+*/
+#if defined(LUA_USE_POSIX)
+#define LUA_USE_MKSTEMP
+#define LUA_USE_ISATTY
+#define LUA_USE_POPEN
+#define LUA_USE_ULONGJMP
+#endif
+
+
+/*
+@@ LUA_PATH and LUA_CPATH are the names of the environment variables that
+@* Lua check to set its paths.
+@@ LUA_INIT is the name of the environment variable that Lua
+@* checks for initialization code.
+** CHANGE them if you want different names.
+*/
+#define LUA_PATH        "LUA_PATH"
+#define LUA_CPATH       "LUA_CPATH"
+#define LUA_INIT	"LUA_INIT"
+
+
+/*
+@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for
+@* Lua libraries.
+@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for
+@* C libraries.
+** CHANGE them if your machine has a non-conventional directory
+** hierarchy or if you want to install your libraries in
+** non-conventional directories.
+*/
+#if defined(_WIN32)
+/*
+** In Windows, any exclamation mark ('!') in the path is replaced by the
+** path of the directory of the executable file of the current process.
+*/
+#define LUA_LDIR	"!\\lua\\"
+#define LUA_CDIR	"!\\"
+#define LUA_PATH_DEFAULT  \
+		".\\?.lua;"  LUA_LDIR"?.lua;"  LUA_LDIR"?\\init.lua;" \
+		             LUA_CDIR"?.lua;"  LUA_CDIR"?\\init.lua"
+#define LUA_CPATH_DEFAULT \
+	".\\?.dll;"  LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll"
+
+#else
+#define LUA_ROOT	"/usr/local/"
+#define LUA_LDIR	LUA_ROOT "share/lua/5.1/"
+#define LUA_CDIR	LUA_ROOT "lib/lua/5.1/"
+#define LUA_PATH_DEFAULT  \
+		"./?.lua;"  LUA_LDIR"?.lua;"  LUA_LDIR"?/init.lua;" \
+		            LUA_CDIR"?.lua;"  LUA_CDIR"?/init.lua"
+#define LUA_CPATH_DEFAULT \
+	"./?.so;"  LUA_CDIR"?.so;" LUA_CDIR"loadall.so"
+#endif
+
+
+/*
+@@ LUA_DIRSEP is the directory separator (for submodules).
+** CHANGE it if your machine does not use "/" as the directory separator
+** and is not Windows. (On Windows Lua automatically uses "\".)
+*/
+#if defined(_WIN32)
+#define LUA_DIRSEP	"\\"
+#else
+#define LUA_DIRSEP	"/"
+#endif
+
+
+/*
+@@ LUA_PATHSEP is the character that separates templates in a path.
+@@ LUA_PATH_MARK is the string that marks the substitution points in a
+@* template.
+@@ LUA_EXECDIR in a Windows path is replaced by the executable's
+@* directory.
+@@ LUA_IGMARK is a mark to ignore all before it when bulding the
+@* luaopen_ function name.
+** CHANGE them if for some reason your system cannot use those
+** characters. (E.g., if one of those characters is a common character
+** in file/directory names.) Probably you do not need to change them.
+*/
+#define LUA_PATHSEP	";"
+#define LUA_PATH_MARK	"?"
+#define LUA_EXECDIR	"!"
+#define LUA_IGMARK	"-"
+
+
+/*
+@@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger.
+** CHANGE that if ptrdiff_t is not adequate on your machine. (On most
+** machines, ptrdiff_t gives a good choice between int or long.)
+*/
+#define LUA_INTEGER	ptrdiff_t
+
+
+/*
+@@ LUA_API is a mark for all core API functions.
+@@ LUALIB_API is a mark for all standard library functions.
+** CHANGE them if you need to define those functions in some special way.
+** For instance, if you want to create one Windows DLL with the core and
+** the libraries, you may want to use the following definition (define
+** LUA_BUILD_AS_DLL to get it).
+*/
+#if defined(LUA_BUILD_AS_DLL)
+
+#if defined(LUA_CORE) || defined(LUA_LIB)
+#define LUA_API __declspec(dllexport)
+#else
+#define LUA_API __declspec(dllimport)
+#endif
+
+#else
+
+#define LUA_API		extern
+
+#endif
+
+/* more often than not the libs go together with the core */
+#define LUALIB_API	LUA_API
+
+
+/*
+@@ LUAI_FUNC is a mark for all extern functions that are not to be
+@* exported to outside modules.
+@@ LUAI_DATA is a mark for all extern (const) variables that are not to
+@* be exported to outside modules.
+** CHANGE them if you need to mark them in some special way. Elf/gcc
+** (versions 3.2 and later) mark them as "hidden" to optimize access
+** when Lua is compiled as a shared library.
+*/
+#if defined(luaall_c)
+#define LUAI_FUNC	static
+#define LUAI_DATA	/* empty */
+
+#elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
+      defined(__ELF__)
+#define LUAI_FUNC	__attribute__((visibility("hidden"))) extern
+#define LUAI_DATA	LUAI_FUNC
+
+#else
+#define LUAI_FUNC	extern
+#define LUAI_DATA	extern
+#endif
+
+
+
+/*
+@@ LUA_QL describes how error messages quote program elements.
+** CHANGE it if you want a different appearance.
+*/
+#define LUA_QL(x)	"'" x "'"
+#define LUA_QS		LUA_QL("%s")
+
+
+/*
+@@ LUA_IDSIZE gives the maximum size for the description of the source
+@* of a function in debug information.
+** CHANGE it if you want a different size.
+*/
+#define LUA_IDSIZE	60
+
+
+/*
+** {==================================================================
+** Stand-alone configuration
+** ===================================================================
+*/
+
+#if defined(lua_c) || defined(luaall_c)
+
+/*
+@@ lua_stdin_is_tty detects whether the standard input is a 'tty' (that
+@* is, whether we're running lua interactively).
+** CHANGE it if you have a better definition for non-POSIX/non-Windows
+** systems.
+*/
+#if defined(LUA_USE_ISATTY)
+#include <unistd.h>
+#define lua_stdin_is_tty()	isatty(0)
+#elif defined(LUA_WIN)
+#include <io.h>
+#include <stdio.h>
+#define lua_stdin_is_tty()	_isatty(_fileno(stdin))
+#else
+#define lua_stdin_is_tty()	1  /* assume stdin is a tty */
+#endif
+
+
+/*
+@@ LUA_PROMPT is the default prompt used by stand-alone Lua.
+@@ LUA_PROMPT2 is the default continuation prompt used by stand-alone Lua.
+** CHANGE them if you want different prompts. (You can also change the
+** prompts dynamically, assigning to globals _PROMPT/_PROMPT2.)
+*/
+#define LUA_PROMPT		"> "
+#define LUA_PROMPT2		">> "
+
+
+/*
+@@ LUA_PROGNAME is the default name for the stand-alone Lua program.
+** CHANGE it if your stand-alone interpreter has a different name and
+** your system is not able to detect that name automatically.
+*/
+#define LUA_PROGNAME		"lua"
+
+
+/*
+@@ LUA_MAXINPUT is the maximum length for an input line in the
+@* stand-alone interpreter.
+** CHANGE it if you need longer lines.
+*/
+#define LUA_MAXINPUT	512
+
+
+/*
+@@ lua_readline defines how to show a prompt and then read a line from
+@* the standard input.
+@@ lua_saveline defines how to "save" a read line in a "history".
+@@ lua_freeline defines how to free a line read by lua_readline.
+** CHANGE them if you want to improve this functionality (e.g., by using
+** GNU readline and history facilities).
+*/
+#if defined(LUA_USE_READLINE)
+#include <stdio.h>
+#include <readline/readline.h>
+#include <readline/history.h>
+#define lua_readline(L,b,p)	((void)L, ((b)=readline(p)) != NULL)
+#define lua_saveline(L,idx) \
+	if (lua_strlen(L,idx) > 0)  /* non-empty line? */ \
+	  add_history(lua_tostring(L, idx));  /* add it to history */
+#define lua_freeline(L,b)	((void)L, free(b))
+#else
+#define lua_readline(L,b,p)	\
+	((void)L, fputs(p, stdout), fflush(stdout),  /* show prompt */ \
+	fgets(b, LUA_MAXINPUT, stdin) != NULL)  /* get line */
+#define lua_saveline(L,idx)	{ (void)L; (void)idx; }
+#define lua_freeline(L,b)	{ (void)L; (void)b; }
+#endif
+
+#endif
+
+/* }================================================================== */
+
+
+/*
+@@ LUAI_GCPAUSE defines the default pause between garbage-collector cycles
+@* as a percentage.
+** CHANGE it if you want the GC to run faster or slower (higher values
+** mean larger pauses which mean slower collection.) You can also change
+** this value dynamically.
+*/
+#define LUAI_GCPAUSE	200  /* 200% (wait memory to double before next GC) */
+
+
+/*
+@@ LUAI_GCMUL defines the default speed of garbage collection relative to
+@* memory allocation as a percentage.
+** CHANGE it if you want to change the granularity of the garbage
+** collection. (Higher values mean coarser collections. 0 represents
+** infinity, where each step performs a full collection.) You can also
+** change this value dynamically.
+*/
+#define LUAI_GCMUL	200 /* GC runs 'twice the speed' of memory allocation */
+
+
+
+/*
+@@ LUA_COMPAT_GETN controls compatibility with old getn behavior.
+** CHANGE it (define it) if you want exact compatibility with the
+** behavior of setn/getn in Lua 5.0.
+*/
+#undef LUA_COMPAT_GETN
+
+/*
+@@ LUA_COMPAT_LOADLIB controls compatibility about global loadlib.
+** CHANGE it to undefined as soon as you do not need a global 'loadlib'
+** function (the function is still available as 'package.loadlib').
+*/
+#undef LUA_COMPAT_LOADLIB
+
+/*
+@@ LUA_COMPAT_VARARG controls compatibility with old vararg feature.
+** CHANGE it to undefined as soon as your programs use only '...' to
+** access vararg parameters (instead of the old 'arg' table).
+*/
+#define LUA_COMPAT_VARARG
+
+/*
+@@ LUA_COMPAT_MOD controls compatibility with old math.mod function.
+** CHANGE it to undefined as soon as your programs use 'math.fmod' or
+** the new '%' operator instead of 'math.mod'.
+*/
+#define LUA_COMPAT_MOD
+
+/*
+@@ LUA_COMPAT_LSTR controls compatibility with old long string nesting
+@* facility.
+** CHANGE it to 2 if you want the old behaviour, or undefine it to turn
+** off the advisory error when nesting [[...]].
+*/
+#define LUA_COMPAT_LSTR		1
+
+/*
+@@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name.
+** CHANGE it to undefined as soon as you rename 'string.gfind' to
+** 'string.gmatch'.
+*/
+#define LUA_COMPAT_GFIND
+
+/*
+@@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib'
+@* behavior.
+** CHANGE it to undefined as soon as you replace to 'luaL_register'
+** your uses of 'luaL_openlib'
+*/
+#define LUA_COMPAT_OPENLIB
+
+
+
+/*
+@@ luai_apicheck is the assert macro used by the Lua-C API.
+** CHANGE luai_apicheck if you want Lua to perform some checks in the
+** parameters it gets from API calls. This may slow down the interpreter
+** a bit, but may be quite useful when debugging C code that interfaces
+** with Lua. A useful redefinition is to use assert.h.
+*/
+#if defined(LUA_USE_APICHECK)
+#include <assert.h>
+#define luai_apicheck(L,o)	{ (void)L; assert(o); }
+#else
+#define luai_apicheck(L,o)	{ (void)L; }
+#endif
+
+
+/*
+@@ LUAI_BITSINT defines the number of bits in an int.
+** CHANGE here if Lua cannot automatically detect the number of bits of
+** your machine. Probably you do not need to change this.
+*/
+/* avoid overflows in comparison */
+#if INT_MAX-20 < 32760
+#define LUAI_BITSINT	16
+#elif INT_MAX > 2147483640L
+/* int has at least 32 bits */
+#define LUAI_BITSINT	32
+#else
+#error "you must define LUA_BITSINT with number of bits in an integer"
+#endif
+
+
+/*
+@@ LUAI_UINT32 is an unsigned integer with at least 32 bits.
+@@ LUAI_INT32 is an signed integer with at least 32 bits.
+@@ LUAI_UMEM is an unsigned integer big enough to count the total
+@* memory used by Lua.
+@@ LUAI_MEM is a signed integer big enough to count the total memory
+@* used by Lua.
+** CHANGE here if for some weird reason the default definitions are not
+** good enough for your machine. (The definitions in the 'else'
+** part always works, but may waste space on machines with 64-bit
+** longs.) Probably you do not need to change this.
+*/
+#if LUAI_BITSINT >= 32
+#define LUAI_UINT32	unsigned int
+#define LUAI_INT32	int
+#define LUAI_MAXINT32	INT_MAX
+#define LUAI_UMEM	size_t
+#define LUAI_MEM	ptrdiff_t
+#else
+/* 16-bit ints */
+#define LUAI_UINT32	unsigned long
+#define LUAI_INT32	long
+#define LUAI_MAXINT32	LONG_MAX
+#define LUAI_UMEM	unsigned long
+#define LUAI_MEM	long
+#endif
+
+
+/*
+@@ LUAI_MAXCALLS limits the number of nested calls.
+** CHANGE it if you need really deep recursive calls. This limit is
+** arbitrary; its only purpose is to stop infinite recursion before
+** exhausting memory.
+*/
+#define LUAI_MAXCALLS	20000
+
+
+/*
+@@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function
+@* can use.
+** CHANGE it if you need lots of (Lua) stack space for your C
+** functions. This limit is arbitrary; its only purpose is to stop C
+** functions to consume unlimited stack space.
+*/
+#define LUAI_MCS_AUX	((int)(INT_MAX / (4*sizeof(LUA_NUMBER))))
+#define LUAI_MAXCSTACK	(LUAI_MCS_AUX > SHRT_MAX ? SHRT_MAX : LUAI_MCS_AUX)
+
+
+
+/*
+** {==================================================================
+** CHANGE (to smaller values) the following definitions if your system
+** has a small C stack. (Or you may want to change them to larger
+** values if your system has a large C stack and these limits are
+** too rigid for you.) Some of these constants control the size of
+** stack-allocated arrays used by the compiler or the interpreter, while
+** others limit the maximum number of recursive calls that the compiler
+** or the interpreter can perform. Values too large may cause a C stack
+** overflow for some forms of deep constructs.
+** ===================================================================
+*/
+
+
+/*
+@@ LUAI_MAXCCALLS is the maximum depth for nested C calls (short) and
+@* syntactical nested non-terminals in a program.
+*/
+#define LUAI_MAXCCALLS		200
+
+
+/*
+@@ LUAI_MAXVARS is the maximum number of local variables per function
+@* (must be smaller than 250).
+*/
+#define LUAI_MAXVARS		200
+
+
+/*
+@@ LUAI_MAXUPVALUES is the maximum number of upvalues per function
+@* (must be smaller than 250).
+*/
+#define LUAI_MAXUPVALUES	60
+
+
+/*
+@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system.
+*/
+#define LUAL_BUFFERSIZE		BUFSIZ
+
+/* }================================================================== */
+
+
+
+
+/*
+** {==================================================================
+@@ LUA_NUMBER is the type of numbers in Lua.
+** CHANGE the following definitions only if you want to build Lua
+** with a number type different from double. You may also need to
+** change lua_number2int & lua_number2integer.
+** ===================================================================
+*/
+
+#define LUA_NUMBER_DOUBLE
+#define LUA_NUMBER	double
+
+/*
+@@ LUAI_UACNUMBER is the result of an 'usual argument conversion'
+@* over a number.
+*/
+#define LUAI_UACNUMBER	double
+
+
+/*
+@@ LUA_NUMBER_SCAN is the format for reading numbers.
+@@ LUA_NUMBER_FMT is the format for writing numbers.
+@@ lua_number2str converts a number to a string.
+@@ LUAI_MAXNUMBER2STR is maximum size of previous conversion.
+@@ lua_str2number converts a string to a number.
+*/
+#define LUA_NUMBER_SCAN		"%lf"
+#define LUA_NUMBER_FMT		"%.14g"
+#define lua_number2str(s,n)	sprintf((s), LUA_NUMBER_FMT, (n))
+#define LUAI_MAXNUMBER2STR	32 /* 16 digits, sign, point, and \0 */
+#define lua_str2number(s,p)	strtod((s), (p))
+
+
+/*
+@@ The luai_num* macros define the primitive operations over numbers.
+*/
+#if defined(LUA_CORE)
+#include <math.h>
+#define luai_numadd(a,b)	((a)+(b))
+#define luai_numsub(a,b)	((a)-(b))
+#define luai_nummul(a,b)	((a)*(b))
+#define luai_numdiv(a,b)	((a)/(b))
+#define luai_nummod(a,b)	((a) - floor((a)/(b))*(b))
+#define luai_numpow(a,b)	(pow(a,b))
+#define luai_numunm(a)		(-(a))
+#define luai_numeq(a,b)		((a)==(b))
+#define luai_numlt(a,b)		((a)<(b))
+#define luai_numle(a,b)		((a)<=(b))
+#define luai_numisnan(a)	(!luai_numeq((a), (a)))
+#endif
+
+
+/*
+@@ lua_number2int is a macro to convert lua_Number to int.
+@@ lua_number2integer is a macro to convert lua_Number to lua_Integer.
+** CHANGE them if you know a faster way to convert a lua_Number to
+** int (with any rounding method and without throwing errors) in your
+** system. In Pentium machines, a naive typecast from double to int
+** in C is extremely slow, so any alternative is worth trying.
+*/
+
+/* On a Pentium, resort to a trick */
+#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) && \
+    (defined(__i386) || defined (_M_IX86) || defined(__i386__))
+
+/* On a Microsoft compiler, use assembler */
+#if defined(_MSC_VER)
+
+#define lua_number2int(i,d)   __asm fld d   __asm fistp i
+#define lua_number2integer(i,n)		lua_number2int(i, n)
+
+/* the next trick should work on any Pentium, but sometimes clashes
+   with a DirectX idiosyncrasy */
+#else
+
+union luai_Cast { double l_d; long l_l; };
+#define lua_number2int(i,d) \
+  { volatile union luai_Cast u; u.l_d = (d) + 6755399441055744.0; (i) = u.l_l; }
+#define lua_number2integer(i,n)		lua_number2int(i, n)
+
+#endif
+
+
+/* this option always works, but may be slow */
+#else
+#define lua_number2int(i,d)	((i)=(int)(d))
+#define lua_number2integer(i,d)	((i)=(lua_Integer)(d))
+
+#endif
+
+/* }================================================================== */
+
+
+/*
+@@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment.
+** CHANGE it if your system requires alignments larger than double. (For
+** instance, if your system supports long doubles and they must be
+** aligned in 16-byte boundaries, then you should add long double in the
+** union.) Probably you do not need to change this.
+*/
+#define LUAI_USER_ALIGNMENT_T	union { double u; void *s; long l; }
+
+
+/*
+@@ LUAI_THROW/LUAI_TRY define how Lua does exception handling.
+** CHANGE them if you prefer to use longjmp/setjmp even with C++
+** or if want/don't to use _longjmp/_setjmp instead of regular
+** longjmp/setjmp. By default, Lua handles errors with exceptions when
+** compiling as C++ code, with _longjmp/_setjmp when asked to use them,
+** and with longjmp/setjmp otherwise.
+*/
+#if defined(__cplusplus)
+/* C++ exceptions */
+#define LUAI_THROW(L,c)	throw(c)
+#define LUAI_TRY(L,c,a)	try { a } catch(...) \
+	{ if ((c)->status == 0) (c)->status = -1; }
+#define luai_jmpbuf	int  /* dummy variable */
+
+#elif defined(LUA_USE_ULONGJMP)
+/* in Unix, try _longjmp/_setjmp (more efficient) */
+#define LUAI_THROW(L,c)	_longjmp((c)->b, 1)
+#define LUAI_TRY(L,c,a)	if (_setjmp((c)->b) == 0) { a }
+#define luai_jmpbuf	jmp_buf
+
+#else
+/* default handling with long jumps */
+#define LUAI_THROW(L,c)	longjmp((c)->b, 1)
+#define LUAI_TRY(L,c,a)	if (setjmp((c)->b) == 0) { a }
+#define luai_jmpbuf	jmp_buf
+
+#endif
+
+
+/*
+@@ LUA_MAXCAPTURES is the maximum number of captures that a pattern
+@* can do during pattern-matching.
+** CHANGE it if you need more captures. This limit is arbitrary.
+*/
+#define LUA_MAXCAPTURES		32
+
+
+/*
+@@ lua_tmpnam is the function that the OS library uses to create a
+@* temporary name.
+@@ LUA_TMPNAMBUFSIZE is the maximum size of a name created by lua_tmpnam.
+** CHANGE them if you have an alternative to tmpnam (which is considered
+** insecure) or if you want the original tmpnam anyway.  By default, Lua
+** uses tmpnam except when POSIX is available, where it uses mkstemp.
+*/
+#if defined(loslib_c) || defined(luaall_c)
+
+#if defined(LUA_USE_MKSTEMP)
+#include <unistd.h>
+#define LUA_TMPNAMBUFSIZE	32
+#define lua_tmpnam(b,e)	{ \
+	strcpy(b, "/tmp/lua_XXXXXX"); \
+	e = mkstemp(b); \
+	if (e != -1) close(e); \
+	e = (e == -1); }
+
+#else
+#define LUA_TMPNAMBUFSIZE	L_tmpnam
+#define lua_tmpnam(b,e)		{ e = (tmpnam(b) == NULL); }
+#endif
+
+#endif
+
+
+/*
+@@ lua_popen spawns a new process connected to the current one through
+@* the file streams.
+** CHANGE it if you have a way to implement it in your system.
+*/
+#if defined(LUA_USE_POPEN)
+
+#define lua_popen(L,c,m)	((void)L, fflush(NULL), popen(c,m))
+#define lua_pclose(L,file)	((void)L, (pclose(file) != -1))
+
+#elif defined(LUA_WIN)
+
+#define lua_popen(L,c,m)	((void)L, _popen(c,m))
+#define lua_pclose(L,file)	((void)L, (_pclose(file) != -1))
+
+#else
+
+#define lua_popen(L,c,m)	((void)((void)c, m),  \
+		luaL_error(L, LUA_QL("popen") " not supported"), (FILE*)0)
+#define lua_pclose(L,file)		((void)((void)L, file), 0)
+
+#endif
+
+/*
+@@ LUA_DL_* define which dynamic-library system Lua should use.
+** CHANGE here if Lua has problems choosing the appropriate
+** dynamic-library system for your platform (either Windows' DLL, Mac's
+** dyld, or Unix's dlopen). If your system is some kind of Unix, there
+** is a good chance that it has dlopen, so LUA_DL_DLOPEN will work for
+** it.  To use dlopen you also need to adapt the src/Makefile (probably
+** adding -ldl to the linker options), so Lua does not select it
+** automatically.  (When you change the makefile to add -ldl, you must
+** also add -DLUA_USE_DLOPEN.)
+** If you do not want any kind of dynamic library, undefine all these
+** options.
+** By default, _WIN32 gets LUA_DL_DLL and MAC OS X gets LUA_DL_DYLD.
+*/
+#if defined(LUA_USE_DLOPEN)
+#define LUA_DL_DLOPEN
+#endif
+
+#if defined(LUA_WIN)
+#define LUA_DL_DLL
+#endif
+
+
+/*
+@@ LUAI_EXTRASPACE allows you to add user-specific data in a lua_State
+@* (the data goes just *before* the lua_State pointer).
+** CHANGE (define) this if you really need that. This value must be
+** a multiple of the maximum alignment required for your machine.
+*/
+#define LUAI_EXTRASPACE		0
+
+
+/*
+@@ luai_userstate* allow user-specific actions on threads.
+** CHANGE them if you defined LUAI_EXTRASPACE and need to do something
+** extra when a thread is created/deleted/resumed/yielded.
+*/
+#define luai_userstateopen(L)		((void)L)
+#define luai_userstateclose(L)		((void)L)
+#define luai_userstatethread(L,L1)	((void)L)
+#define luai_userstatefree(L)		((void)L)
+#define luai_userstateresume(L,n)	((void)L)
+#define luai_userstateyield(L,n)	((void)L)
+
+
+/*
+@@ LUA_INTFRMLEN is the length modifier for integer conversions
+@* in 'string.format'.
+@@ LUA_INTFRM_T is the integer type correspoding to the previous length
+@* modifier.
+** CHANGE them if your system supports long long or does not support long.
+*/
+
+#if defined(LUA_USELONGLONG)
+
+#define LUA_INTFRMLEN		"ll"
+#define LUA_INTFRM_T		long long
+
+#else
+
+#define LUA_INTFRMLEN		"l"
+#define LUA_INTFRM_T		long
+
+#endif
+
+
+
+/* =================================================================== */
+
+/*
+** Local configuration. You can use this space to add your redefinitions
+** without modifying the main part of the file.
+*/
+
+
+
+#endif
+

+ 53 - 0
EQ2/source/LUA/include/lualib.h

@@ -0,0 +1,53 @@
+/*
+** $Id: lualib.h,v 1.36.1.1 2007/12/27 13:02:25 roberto Exp $
+** Lua standard libraries
+** See Copyright Notice in lua.h
+*/
+
+
+#ifndef lualib_h
+#define lualib_h
+
+#include "lua.h"
+
+
+/* Key to file-handle type */
+#define LUA_FILEHANDLE		"FILE*"
+
+
+#define LUA_COLIBNAME	"coroutine"
+LUALIB_API int (luaopen_base) (lua_State *L);
+
+#define LUA_TABLIBNAME	"table"
+LUALIB_API int (luaopen_table) (lua_State *L);
+
+#define LUA_IOLIBNAME	"io"
+LUALIB_API int (luaopen_io) (lua_State *L);
+
+#define LUA_OSLIBNAME	"os"
+LUALIB_API int (luaopen_os) (lua_State *L);
+
+#define LUA_STRLIBNAME	"string"
+LUALIB_API int (luaopen_string) (lua_State *L);
+
+#define LUA_MATHLIBNAME	"math"
+LUALIB_API int (luaopen_math) (lua_State *L);
+
+#define LUA_DBLIBNAME	"debug"
+LUALIB_API int (luaopen_debug) (lua_State *L);
+
+#define LUA_LOADLIBNAME	"package"
+LUALIB_API int (luaopen_package) (lua_State *L);
+
+
+/* open all previous libraries */
+LUALIB_API void (luaL_openlibs) (lua_State *L); 
+
+
+
+#ifndef lua_assert
+#define lua_assert(x)	((void)0)
+#endif
+
+
+#endif

+ 1298 - 0
EQ2/source/LUA/lapi.c

@@ -0,0 +1,1298 @@
+/*
+** $Id: lapi.c,v 2.259 2016/02/29 14:27:14 roberto Exp $
+** Lua API
+** See Copyright Notice in lua.h
+*/
+
+#define lapi_c
+#define LUA_CORE
+
+#include "lprefix.h"
+
+
+#include <stdarg.h>
+#include <string.h>
+
+#include "lua.h"
+
+#include "lapi.h"
+#include "ldebug.h"
+#include "ldo.h"
+#include "lfunc.h"
+#include "lgc.h"
+#include "lmem.h"
+#include "lobject.h"
+#include "lstate.h"
+#include "lstring.h"
+#include "ltable.h"
+#include "ltm.h"
+#include "lundump.h"
+#include "lvm.h"
+
+
+
+const char lua_ident[] =
+  "$LuaVersion: " LUA_COPYRIGHT " $"
+  "$LuaAuthors: " LUA_AUTHORS " $";
+
+
+/* value at a non-valid index */
+#define NONVALIDVALUE		cast(TValue *, luaO_nilobject)
+
+/* corresponding test */
+#define isvalid(o)	((o) != luaO_nilobject)
+
+/* test for pseudo index */
+#define ispseudo(i)		((i) <= LUA_REGISTRYINDEX)
+
+/* test for upvalue */
+#define isupvalue(i)		((i) < LUA_REGISTRYINDEX)
+
+/* test for valid but not pseudo index */
+#define isstackindex(i, o)	(isvalid(o) && !ispseudo(i))
+
+#define api_checkvalidindex(l,o)  api_check(l, isvalid(o), "invalid index")
+
+#define api_checkstackindex(l, i, o)  \
+	api_check(l, isstackindex(i, o), "index not in the stack")
+
+
+static TValue *index2addr (lua_State *L, int idx) {
+  CallInfo *ci = L->ci;
+  if (idx > 0) {
+    TValue *o = ci->func + idx;
+    api_check(L, idx <= ci->top - (ci->func + 1), "unacceptable index");
+    if (o >= L->top) return NONVALIDVALUE;
+    else return o;
+  }
+  else if (!ispseudo(idx)) {  /* negative index */
+    api_check(L, idx != 0 && -idx <= L->top - (ci->func + 1), "invalid index");
+    return L->top + idx;
+  }
+  else if (idx == LUA_REGISTRYINDEX)
+    return &G(L)->l_registry;
+  else {  /* upvalues */
+    idx = LUA_REGISTRYINDEX - idx;
+    api_check(L, idx <= MAXUPVAL + 1, "upvalue index too large");
+    if (ttislcf(ci->func))  /* light C function? */
+      return NONVALIDVALUE;  /* it has no upvalues */
+    else {
+      CClosure *func = clCvalue(ci->func);
+      return (idx <= func->nupvalues) ? &func->upvalue[idx-1] : NONVALIDVALUE;
+    }
+  }
+}
+
+
+/*
+** to be called by 'lua_checkstack' in protected mode, to grow stack
+** capturing memory errors
+*/
+static void growstack (lua_State *L, void *ud) {
+  int size = *(int *)ud;
+  luaD_growstack(L, size);
+}
+
+
+LUA_API int lua_checkstack (lua_State *L, int n) {
+  int res;
+  CallInfo *ci = L->ci;
+  lua_lock(L);
+  api_check(L, n >= 0, "negative 'n'");
+  if (L->stack_last - L->top > n)  /* stack large enough? */
+    res = 1;  /* yes; check is OK */
+  else {  /* no; need to grow stack */
+    int inuse = cast_int(L->top - L->stack) + EXTRA_STACK;
+    if (inuse > LUAI_MAXSTACK - n)  /* can grow without overflow? */
+      res = 0;  /* no */
+    else  /* try to grow stack */
+      res = (luaD_rawrunprotected(L, &growstack, &n) == LUA_OK);
+  }
+  if (res && ci->top < L->top + n)
+    ci->top = L->top + n;  /* adjust frame top */
+  lua_unlock(L);
+  return res;
+}
+
+
+LUA_API void lua_xmove (lua_State *from, lua_State *to, int n) {
+  int i;
+  if (from == to) return;
+  lua_lock(to);
+  api_checknelems(from, n);
+  api_check(from, G(from) == G(to), "moving among independent states");
+  api_check(from, to->ci->top - to->top >= n, "stack overflow");
+  from->top -= n;
+  for (i = 0; i < n; i++) {
+    setobj2s(to, to->top, from->top + i);
+    to->top++;  /* stack already checked by previous 'api_check' */
+  }
+  lua_unlock(to);
+}
+
+
+LUA_API lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf) {
+  lua_CFunction old;
+  lua_lock(L);
+  old = G(L)->panic;
+  G(L)->panic = panicf;
+  lua_unlock(L);
+  return old;
+}
+
+
+LUA_API const lua_Number *lua_version (lua_State *L) {
+  static const lua_Number version = LUA_VERSION_NUM;
+  if (L == NULL) return &version;
+  else return G(L)->version;
+}
+
+
+
+/*
+** basic stack manipulation
+*/
+
+
+/*
+** convert an acceptable stack index into an absolute index
+*/
+LUA_API int lua_absindex (lua_State *L, int idx) {
+  return (idx > 0 || ispseudo(idx))
+         ? idx
+         : cast_int(L->top - L->ci->func) + idx;
+}
+
+
+LUA_API int lua_gettop (lua_State *L) {
+  return cast_int(L->top - (L->ci->func + 1));
+}
+
+
+LUA_API void lua_settop (lua_State *L, int idx) {
+  StkId func = L->ci->func;
+  lua_lock(L);
+  if (idx >= 0) {
+    api_check(L, idx <= L->stack_last - (func + 1), "new top too large");
+    while (L->top < (func + 1) + idx)
+      setnilvalue(L->top++);
+    L->top = (func + 1) + idx;
+  }
+  else {
+    api_check(L, -(idx+1) <= (L->top - (func + 1)), "invalid new top");
+    L->top += idx+1;  /* 'subtract' index (index is negative) */
+  }
+  lua_unlock(L);
+}
+
+
+/*
+** Reverse the stack segment from 'from' to 'to'
+** (auxiliary to 'lua_rotate')
+*/
+static void reverse (lua_State *L, StkId from, StkId to) {
+  for (; from < to; from++, to--) {
+    TValue temp;
+    setobj(L, &temp, from);
+    setobjs2s(L, from, to);
+    setobj2s(L, to, &temp);
+  }
+}
+
+
+/*
+** Let x = AB, where A is a prefix of length 'n'. Then,
+** rotate x n == BA. But BA == (A^r . B^r)^r.
+*/
+LUA_API void lua_rotate (lua_State *L, int idx, int n) {
+  StkId p, t, m;
+  lua_lock(L);
+  t = L->top - 1;  /* end of stack segment being rotated */
+  p = index2addr(L, idx);  /* start of segment */
+  api_checkstackindex(L, idx, p);
+  api_check(L, (n >= 0 ? n : -n) <= (t - p + 1), "invalid 'n'");
+  m = (n >= 0 ? t - n : p - n - 1);  /* end of prefix */
+  reverse(L, p, m);  /* reverse the prefix with length 'n' */
+  reverse(L, m + 1, t);  /* reverse the suffix */
+  reverse(L, p, t);  /* reverse the entire segment */
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_copy (lua_State *L, int fromidx, int toidx) {
+  TValue *fr, *to;
+  lua_lock(L);
+  fr = index2addr(L, fromidx);
+  to = index2addr(L, toidx);
+  api_checkvalidindex(L, to);
+  setobj(L, to, fr);
+  if (isupvalue(toidx))  /* function upvalue? */
+    luaC_barrier(L, clCvalue(L->ci->func), fr);
+  /* LUA_REGISTRYINDEX does not need gc barrier
+     (collector revisits it before finishing collection) */
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_pushvalue (lua_State *L, int idx) {
+  lua_lock(L);
+  setobj2s(L, L->top, index2addr(L, idx));
+  api_incr_top(L);
+  lua_unlock(L);
+}
+
+
+
+/*
+** access functions (stack -> C)
+*/
+
+
+LUA_API int lua_type (lua_State *L, int idx) {
+  StkId o = index2addr(L, idx);
+  return (isvalid(o) ? ttnov(o) : LUA_TNONE);
+}
+
+
+LUA_API const char *lua_typename (lua_State *L, int t) {
+  UNUSED(L);
+  api_check(L, LUA_TNONE <= t && t < LUA_NUMTAGS, "invalid tag");
+  return ttypename(t);
+}
+
+
+LUA_API int lua_iscfunction (lua_State *L, int idx) {
+  StkId o = index2addr(L, idx);
+  return (ttislcf(o) || (ttisCclosure(o)));
+}
+
+
+LUA_API int lua_isinteger (lua_State *L, int idx) {
+  StkId o = index2addr(L, idx);
+  return ttisinteger(o);
+}
+
+
+LUA_API int lua_isnumber (lua_State *L, int idx) {
+  lua_Number n;
+  const TValue *o = index2addr(L, idx);
+  return tonumber(o, &n);
+}
+
+
+LUA_API int lua_isstring (lua_State *L, int idx) {
+  const TValue *o = index2addr(L, idx);
+  return (ttisstring(o) || cvt2str(o));
+}
+
+
+LUA_API int lua_isuserdata (lua_State *L, int idx) {
+  const TValue *o = index2addr(L, idx);
+  return (ttisfulluserdata(o) || ttislightuserdata(o));
+}
+
+
+LUA_API int lua_rawequal (lua_State *L, int index1, int index2) {
+  StkId o1 = index2addr(L, index1);
+  StkId o2 = index2addr(L, index2);
+  return (isvalid(o1) && isvalid(o2)) ? luaV_rawequalobj(o1, o2) : 0;
+}
+
+
+LUA_API void lua_arith (lua_State *L, int op) {
+  lua_lock(L);
+  if (op != LUA_OPUNM && op != LUA_OPBNOT)
+    api_checknelems(L, 2);  /* all other operations expect two operands */
+  else {  /* for unary operations, add fake 2nd operand */
+    api_checknelems(L, 1);
+    setobjs2s(L, L->top, L->top - 1);
+    api_incr_top(L);
+  }
+  /* first operand at top - 2, second at top - 1; result go to top - 2 */
+  luaO_arith(L, op, L->top - 2, L->top - 1, L->top - 2);
+  L->top--;  /* remove second operand */
+  lua_unlock(L);
+}
+
+
+LUA_API int lua_compare (lua_State *L, int index1, int index2, int op) {
+  StkId o1, o2;
+  int i = 0;
+  lua_lock(L);  /* may call tag method */
+  o1 = index2addr(L, index1);
+  o2 = index2addr(L, index2);
+  if (isvalid(o1) && isvalid(o2)) {
+    switch (op) {
+      case LUA_OPEQ: i = luaV_equalobj(L, o1, o2); break;
+      case LUA_OPLT: i = luaV_lessthan(L, o1, o2); break;
+      case LUA_OPLE: i = luaV_lessequal(L, o1, o2); break;
+      default: api_check(L, 0, "invalid option");
+    }
+  }
+  lua_unlock(L);
+  return i;
+}
+
+
+LUA_API size_t lua_stringtonumber (lua_State *L, const char *s) {
+  size_t sz = luaO_str2num(s, L->top);
+  if (sz != 0)
+    api_incr_top(L);
+  return sz;
+}
+
+
+LUA_API lua_Number lua_tonumberx (lua_State *L, int idx, int *pisnum) {
+  lua_Number n;
+  const TValue *o = index2addr(L, idx);
+  int isnum = tonumber(o, &n);
+  if (!isnum)
+    n = 0;  /* call to 'tonumber' may change 'n' even if it fails */
+  if (pisnum) *pisnum = isnum;
+  return n;
+}
+
+
+LUA_API lua_Integer lua_tointegerx (lua_State *L, int idx, int *pisnum) {
+  lua_Integer res;
+  const TValue *o = index2addr(L, idx);
+  int isnum = tointeger(o, &res);
+  if (!isnum)
+    res = 0;  /* call to 'tointeger' may change 'n' even if it fails */
+  if (pisnum) *pisnum = isnum;
+  return res;
+}
+
+
+LUA_API int lua_toboolean (lua_State *L, int idx) {
+  const TValue *o = index2addr(L, idx);
+  return !l_isfalse(o);
+}
+
+
+LUA_API const char *lua_tolstring (lua_State *L, int idx, size_t *len) {
+  StkId o = index2addr(L, idx);
+  if (!ttisstring(o)) {
+    if (!cvt2str(o)) {  /* not convertible? */
+      if (len != NULL) *len = 0;
+      return NULL;
+    }
+    lua_lock(L);  /* 'luaO_tostring' may create a new string */
+    luaO_tostring(L, o);
+    luaC_checkGC(L);
+    o = index2addr(L, idx);  /* previous call may reallocate the stack */
+    lua_unlock(L);
+  }
+  if (len != NULL)
+    *len = vslen(o);
+  return svalue(o);
+}
+
+
+LUA_API size_t lua_rawlen (lua_State *L, int idx) {
+  StkId o = index2addr(L, idx);
+  switch (ttype(o)) {
+    case LUA_TSHRSTR: return tsvalue(o)->shrlen;
+    case LUA_TLNGSTR: return tsvalue(o)->u.lnglen;
+    case LUA_TUSERDATA: return uvalue(o)->len;
+    case LUA_TTABLE: return luaH_getn(hvalue(o));
+    default: return 0;
+  }
+}
+
+
+LUA_API lua_CFunction lua_tocfunction (lua_State *L, int idx) {
+  StkId o = index2addr(L, idx);
+  if (ttislcf(o)) return fvalue(o);
+  else if (ttisCclosure(o))
+    return clCvalue(o)->f;
+  else return NULL;  /* not a C function */
+}
+
+
+LUA_API void *lua_touserdata (lua_State *L, int idx) {
+  StkId o = index2addr(L, idx);
+  switch (ttnov(o)) {
+    case LUA_TUSERDATA: return getudatamem(uvalue(o));
+    case LUA_TLIGHTUSERDATA: return pvalue(o);
+    default: return NULL;
+  }
+}
+
+
+LUA_API lua_State *lua_tothread (lua_State *L, int idx) {
+  StkId o = index2addr(L, idx);
+  return (!ttisthread(o)) ? NULL : thvalue(o);
+}
+
+
+LUA_API const void *lua_topointer (lua_State *L, int idx) {
+  StkId o = index2addr(L, idx);
+  switch (ttype(o)) {
+    case LUA_TTABLE: return hvalue(o);
+    case LUA_TLCL: return clLvalue(o);
+    case LUA_TCCL: return clCvalue(o);
+    case LUA_TLCF: return cast(void *, cast(size_t, fvalue(o)));
+    case LUA_TTHREAD: return thvalue(o);
+    case LUA_TUSERDATA: return getudatamem(uvalue(o));
+    case LUA_TLIGHTUSERDATA: return pvalue(o);
+    default: return NULL;
+  }
+}
+
+
+
+/*
+** push functions (C -> stack)
+*/
+
+
+LUA_API void lua_pushnil (lua_State *L) {
+  lua_lock(L);
+  setnilvalue(L->top);
+  api_incr_top(L);
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_pushnumber (lua_State *L, lua_Number n) {
+  lua_lock(L);
+  setfltvalue(L->top, n);
+  api_incr_top(L);
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) {
+  lua_lock(L);
+  setivalue(L->top, n);
+  api_incr_top(L);
+  lua_unlock(L);
+}
+
+
+/*
+** Pushes on the stack a string with given length. Avoid using 's' when
+** 'len' == 0 (as 's' can be NULL in that case), due to later use of
+** 'memcmp' and 'memcpy'.
+*/
+LUA_API const char *lua_pushlstring (lua_State *L, const char *s, size_t len) {
+  TString *ts;
+  lua_lock(L);
+  ts = (len == 0) ? luaS_new(L, "") : luaS_newlstr(L, s, len);
+  setsvalue2s(L, L->top, ts);
+  api_incr_top(L);
+  luaC_checkGC(L);
+  lua_unlock(L);
+  return getstr(ts);
+}
+
+
+LUA_API const char *lua_pushstring (lua_State *L, const char *s) {
+  lua_lock(L);
+  if (s == NULL)
+    setnilvalue(L->top);
+  else {
+    TString *ts;
+    ts = luaS_new(L, s);
+    setsvalue2s(L, L->top, ts);
+    s = getstr(ts);  /* internal copy's address */
+  }
+  api_incr_top(L);
+  luaC_checkGC(L);
+  lua_unlock(L);
+  return s;
+}
+
+
+LUA_API const char *lua_pushvfstring (lua_State *L, const char *fmt,
+                                      va_list argp) {
+  const char *ret;
+  lua_lock(L);
+  ret = luaO_pushvfstring(L, fmt, argp);
+  luaC_checkGC(L);
+  lua_unlock(L);
+  return ret;
+}
+
+
+LUA_API const char *lua_pushfstring (lua_State *L, const char *fmt, ...) {
+  const char *ret;
+  va_list argp;
+  lua_lock(L);
+  va_start(argp, fmt);
+  ret = luaO_pushvfstring(L, fmt, argp);
+  va_end(argp);
+  luaC_checkGC(L);
+  lua_unlock(L);
+  return ret;
+}
+
+
+LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) {
+  lua_lock(L);
+  if (n == 0) {
+    setfvalue(L->top, fn);
+  }
+  else {
+    CClosure *cl;
+    api_checknelems(L, n);
+    api_check(L, n <= MAXUPVAL, "upvalue index too large");
+    cl = luaF_newCclosure(L, n);
+    cl->f = fn;
+    L->top -= n;
+    while (n--) {
+      setobj2n(L, &cl->upvalue[n], L->top + n);
+      /* does not need barrier because closure is white */
+    }
+    setclCvalue(L, L->top, cl);
+  }
+  api_incr_top(L);
+  luaC_checkGC(L);
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_pushboolean (lua_State *L, int b) {
+  lua_lock(L);
+  setbvalue(L->top, (b != 0));  /* ensure that true is 1 */
+  api_incr_top(L);
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_pushlightuserdata (lua_State *L, void *p) {
+  lua_lock(L);
+  setpvalue(L->top, p);
+  api_incr_top(L);
+  lua_unlock(L);
+}
+
+
+LUA_API int lua_pushthread (lua_State *L) {
+  lua_lock(L);
+  setthvalue(L, L->top, L);
+  api_incr_top(L);
+  lua_unlock(L);
+  return (G(L)->mainthread == L);
+}
+
+
+
+/*
+** get functions (Lua -> stack)
+*/
+
+
+static int auxgetstr (lua_State *L, const TValue *t, const char *k) {
+  const TValue *slot;
+  TString *str = luaS_new(L, k);
+  if (luaV_fastget(L, t, str, slot, luaH_getstr)) {
+    setobj2s(L, L->top, slot);
+    api_incr_top(L);
+  }
+  else {
+    setsvalue2s(L, L->top, str);
+    api_incr_top(L);
+    luaV_finishget(L, t, L->top - 1, L->top - 1, slot);
+  }
+  lua_unlock(L);
+  return ttnov(L->top - 1);
+}
+
+
+LUA_API int lua_getglobal (lua_State *L, const char *name) {
+  Table *reg = hvalue(&G(L)->l_registry);
+  lua_lock(L);
+  return auxgetstr(L, luaH_getint(reg, LUA_RIDX_GLOBALS), name);
+}
+
+
+LUA_API int lua_gettable (lua_State *L, int idx) {
+  StkId t;
+  lua_lock(L);
+  t = index2addr(L, idx);
+  luaV_gettable(L, t, L->top - 1, L->top - 1);
+  lua_unlock(L);
+  return ttnov(L->top - 1);
+}
+
+
+LUA_API int lua_getfield (lua_State *L, int idx, const char *k) {
+  lua_lock(L);
+  return auxgetstr(L, index2addr(L, idx), k);
+}
+
+
+LUA_API int lua_geti (lua_State *L, int idx, lua_Integer n) {
+  StkId t;
+  const TValue *slot;
+  lua_lock(L);
+  t = index2addr(L, idx);
+  if (luaV_fastget(L, t, n, slot, luaH_getint)) {
+    setobj2s(L, L->top, slot);
+    api_incr_top(L);
+  }
+  else {
+    setivalue(L->top, n);
+    api_incr_top(L);
+    luaV_finishget(L, t, L->top - 1, L->top - 1, slot);
+  }
+  lua_unlock(L);
+  return ttnov(L->top - 1);
+}
+
+
+LUA_API int lua_rawget (lua_State *L, int idx) {
+  StkId t;
+  lua_lock(L);
+  t = index2addr(L, idx);
+  api_check(L, ttistable(t), "table expected");
+  setobj2s(L, L->top - 1, luaH_get(hvalue(t), L->top - 1));
+  lua_unlock(L);
+  return ttnov(L->top - 1);
+}
+
+
+LUA_API int lua_rawgeti (lua_State *L, int idx, lua_Integer n) {
+  StkId t;
+  lua_lock(L);
+  t = index2addr(L, idx);
+  api_check(L, ttistable(t), "table expected");
+  setobj2s(L, L->top, luaH_getint(hvalue(t), n));
+  api_incr_top(L);
+  lua_unlock(L);
+  return ttnov(L->top - 1);
+}
+
+
+LUA_API int lua_rawgetp (lua_State *L, int idx, const void *p) {
+  StkId t;
+  TValue k;
+  lua_lock(L);
+  t = index2addr(L, idx);
+  api_check(L, ttistable(t), "table expected");
+  setpvalue(&k, cast(void *, p));
+  setobj2s(L, L->top, luaH_get(hvalue(t), &k));
+  api_incr_top(L);
+  lua_unlock(L);
+  return ttnov(L->top - 1);
+}
+
+
+LUA_API void lua_createtable (lua_State *L, int narray, int nrec) {
+  Table *t;
+  lua_lock(L);
+  t = luaH_new(L);
+  sethvalue(L, L->top, t);
+  api_incr_top(L);
+  if (narray > 0 || nrec > 0)
+    luaH_resize(L, t, narray, nrec);
+  luaC_checkGC(L);
+  lua_unlock(L);
+}
+
+
+LUA_API int lua_getmetatable (lua_State *L, int objindex) {
+  const TValue *obj;
+  Table *mt;
+  int res = 0;
+  lua_lock(L);
+  obj = index2addr(L, objindex);
+  switch (ttnov(obj)) {
+    case LUA_TTABLE:
+      mt = hvalue(obj)->metatable;
+      break;
+    case LUA_TUSERDATA:
+      mt = uvalue(obj)->metatable;
+      break;
+    default:
+      mt = G(L)->mt[ttnov(obj)];
+      break;
+  }
+  if (mt != NULL) {
+    sethvalue(L, L->top, mt);
+    api_incr_top(L);
+    res = 1;
+  }
+  lua_unlock(L);
+  return res;
+}
+
+
+LUA_API int lua_getuservalue (lua_State *L, int idx) {
+  StkId o;
+  lua_lock(L);
+  o = index2addr(L, idx);
+  api_check(L, ttisfulluserdata(o), "full userdata expected");
+  getuservalue(L, uvalue(o), L->top);
+  api_incr_top(L);
+  lua_unlock(L);
+  return ttnov(L->top - 1);
+}
+
+
+/*
+** set functions (stack -> Lua)
+*/
+
+/*
+** t[k] = value at the top of the stack (where 'k' is a string)
+*/
+static void auxsetstr (lua_State *L, const TValue *t, const char *k) {
+  const TValue *slot;
+  TString *str = luaS_new(L, k);
+  api_checknelems(L, 1);
+  if (luaV_fastset(L, t, str, slot, luaH_getstr, L->top - 1))
+    L->top--;  /* pop value */
+  else {
+    setsvalue2s(L, L->top, str);  /* push 'str' (to make it a TValue) */
+    api_incr_top(L);
+    luaV_finishset(L, t, L->top - 1, L->top - 2, slot);
+    L->top -= 2;  /* pop value and key */
+  }
+  lua_unlock(L);  /* lock done by caller */
+}
+
+
+LUA_API void lua_setglobal (lua_State *L, const char *name) {
+  Table *reg = hvalue(&G(L)->l_registry);
+  lua_lock(L);  /* unlock done in 'auxsetstr' */
+  auxsetstr(L, luaH_getint(reg, LUA_RIDX_GLOBALS), name);
+}
+
+
+LUA_API void lua_settable (lua_State *L, int idx) {
+  StkId t;
+  lua_lock(L);
+  api_checknelems(L, 2);
+  t = index2addr(L, idx);
+  luaV_settable(L, t, L->top - 2, L->top - 1);
+  L->top -= 2;  /* pop index and value */
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_setfield (lua_State *L, int idx, const char *k) {
+  lua_lock(L);  /* unlock done in 'auxsetstr' */
+  auxsetstr(L, index2addr(L, idx), k);
+}
+
+
+LUA_API void lua_seti (lua_State *L, int idx, lua_Integer n) {
+  StkId t;
+  const TValue *slot;
+  lua_lock(L);
+  api_checknelems(L, 1);
+  t = index2addr(L, idx);
+  if (luaV_fastset(L, t, n, slot, luaH_getint, L->top - 1))
+    L->top--;  /* pop value */
+  else {
+    setivalue(L->top, n);
+    api_incr_top(L);
+    luaV_finishset(L, t, L->top - 1, L->top - 2, slot);
+    L->top -= 2;  /* pop value and key */
+  }
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_rawset (lua_State *L, int idx) {
+  StkId o;
+  TValue *slot;
+  lua_lock(L);
+  api_checknelems(L, 2);
+  o = index2addr(L, idx);
+  api_check(L, ttistable(o), "table expected");
+  slot = luaH_set(L, hvalue(o), L->top - 2);
+  setobj2t(L, slot, L->top - 1);
+  invalidateTMcache(hvalue(o));
+  luaC_barrierback(L, hvalue(o), L->top-1);
+  L->top -= 2;
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_rawseti (lua_State *L, int idx, lua_Integer n) {
+  StkId o;
+  lua_lock(L);
+  api_checknelems(L, 1);
+  o = index2addr(L, idx);
+  api_check(L, ttistable(o), "table expected");
+  luaH_setint(L, hvalue(o), n, L->top - 1);
+  luaC_barrierback(L, hvalue(o), L->top-1);
+  L->top--;
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_rawsetp (lua_State *L, int idx, const void *p) {
+  StkId o;
+  TValue k, *slot;
+  lua_lock(L);
+  api_checknelems(L, 1);
+  o = index2addr(L, idx);
+  api_check(L, ttistable(o), "table expected");
+  setpvalue(&k, cast(void *, p));
+  slot = luaH_set(L, hvalue(o), &k);
+  setobj2t(L, slot, L->top - 1);
+  luaC_barrierback(L, hvalue(o), L->top - 1);
+  L->top--;
+  lua_unlock(L);
+}
+
+
+LUA_API int lua_setmetatable (lua_State *L, int objindex) {
+  TValue *obj;
+  Table *mt;
+  lua_lock(L);
+  api_checknelems(L, 1);
+  obj = index2addr(L, objindex);
+  if (ttisnil(L->top - 1))
+    mt = NULL;
+  else {
+    api_check(L, ttistable(L->top - 1), "table expected");
+    mt = hvalue(L->top - 1);
+  }
+  switch (ttnov(obj)) {
+    case LUA_TTABLE: {
+      hvalue(obj)->metatable = mt;
+      if (mt) {
+        luaC_objbarrier(L, gcvalue(obj), mt);
+        luaC_checkfinalizer(L, gcvalue(obj), mt);
+      }
+      break;
+    }
+    case LUA_TUSERDATA: {
+      uvalue(obj)->metatable = mt;
+      if (mt) {
+        luaC_objbarrier(L, uvalue(obj), mt);
+        luaC_checkfinalizer(L, gcvalue(obj), mt);
+      }
+      break;
+    }
+    default: {
+      G(L)->mt[ttnov(obj)] = mt;
+      break;
+    }
+  }
+  L->top--;
+  lua_unlock(L);
+  return 1;
+}
+
+
+LUA_API void lua_setuservalue (lua_State *L, int idx) {
+  StkId o;
+  lua_lock(L);
+  api_checknelems(L, 1);
+  o = index2addr(L, idx);
+  api_check(L, ttisfulluserdata(o), "full userdata expected");
+  setuservalue(L, uvalue(o), L->top - 1);
+  luaC_barrier(L, gcvalue(o), L->top - 1);
+  L->top--;
+  lua_unlock(L);
+}
+
+
+/*
+** 'load' and 'call' functions (run Lua code)
+*/
+
+
+#define checkresults(L,na,nr) \
+     api_check(L, (nr) == LUA_MULTRET || (L->ci->top - L->top >= (nr) - (na)), \
+	"results from function overflow current stack size")
+
+
+LUA_API void lua_callk (lua_State *L, int nargs, int nresults,
+                        lua_KContext ctx, lua_KFunction k) {
+  StkId func;
+  lua_lock(L);
+  api_check(L, k == NULL || !isLua(L->ci),
+    "cannot use continuations inside hooks");
+  api_checknelems(L, nargs+1);
+  api_check(L, L->status == LUA_OK, "cannot do calls on non-normal thread");
+  checkresults(L, nargs, nresults);
+  func = L->top - (nargs+1);
+  if (k != NULL && L->nny == 0) {  /* need to prepare continuation? */
+    L->ci->u.c.k = k;  /* save continuation */
+    L->ci->u.c.ctx = ctx;  /* save context */
+    luaD_call(L, func, nresults);  /* do the call */
+  }
+  else  /* no continuation or no yieldable */
+    luaD_callnoyield(L, func, nresults);  /* just do the call */
+  adjustresults(L, nresults);
+  lua_unlock(L);
+}
+
+
+
+/*
+** Execute a protected call.
+*/
+struct CallS {  /* data to 'f_call' */
+  StkId func;
+  int nresults;
+};
+
+
+static void f_call (lua_State *L, void *ud) {
+  struct CallS *c = cast(struct CallS *, ud);
+  luaD_callnoyield(L, c->func, c->nresults);
+}
+
+
+
+LUA_API int lua_pcallk (lua_State *L, int nargs, int nresults, int errfunc,
+                        lua_KContext ctx, lua_KFunction k) {
+  struct CallS c;
+  int status;
+  ptrdiff_t func;
+  lua_lock(L);
+  api_check(L, k == NULL || !isLua(L->ci),
+    "cannot use continuations inside hooks");
+  api_checknelems(L, nargs+1);
+  api_check(L, L->status == LUA_OK, "cannot do calls on non-normal thread");
+  checkresults(L, nargs, nresults);
+  if (errfunc == 0)
+    func = 0;
+  else {
+    StkId o = index2addr(L, errfunc);
+    api_checkstackindex(L, errfunc, o);
+    func = savestack(L, o);
+  }
+  c.func = L->top - (nargs+1);  /* function to be called */
+  if (k == NULL || L->nny > 0) {  /* no continuation or no yieldable? */
+    c.nresults = nresults;  /* do a 'conventional' protected call */
+    status = luaD_pcall(L, f_call, &c, savestack(L, c.func), func);
+  }
+  else {  /* prepare continuation (call is already protected by 'resume') */
+    CallInfo *ci = L->ci;
+    ci->u.c.k = k;  /* save continuation */
+    ci->u.c.ctx = ctx;  /* save context */
+    /* save information for error recovery */
+    ci->extra = savestack(L, c.func);
+    ci->u.c.old_errfunc = L->errfunc;
+    L->errfunc = func;
+    setoah(ci->callstatus, L->allowhook);  /* save value of 'allowhook' */
+    ci->callstatus |= CIST_YPCALL;  /* function can do error recovery */
+    luaD_call(L, c.func, nresults);  /* do the call */
+    ci->callstatus &= ~CIST_YPCALL;
+    L->errfunc = ci->u.c.old_errfunc;
+    status = LUA_OK;  /* if it is here, there were no errors */
+  }
+  adjustresults(L, nresults);
+  lua_unlock(L);
+  return status;
+}
+
+
+LUA_API int lua_load (lua_State *L, lua_Reader reader, void *data,
+                      const char *chunkname, const char *mode) {
+  ZIO z;
+  int status;
+  lua_lock(L);
+  if (!chunkname) chunkname = "?";
+  luaZ_init(L, &z, reader, data);
+  status = luaD_protectedparser(L, &z, chunkname, mode);
+  if (status == LUA_OK) {  /* no errors? */
+    LClosure *f = clLvalue(L->top - 1);  /* get newly created function */
+    if (f->nupvalues >= 1) {  /* does it have an upvalue? */
+      /* get global table from registry */
+      Table *reg = hvalue(&G(L)->l_registry);
+      const TValue *gt = luaH_getint(reg, LUA_RIDX_GLOBALS);
+      /* set global table as 1st upvalue of 'f' (may be LUA_ENV) */
+      setobj(L, f->upvals[0]->v, gt);
+      luaC_upvalbarrier(L, f->upvals[0]);
+    }
+  }
+  lua_unlock(L);
+  return status;
+}
+
+
+LUA_API int lua_dump (lua_State *L, lua_Writer writer, void *data, int strip) {
+  int status;
+  TValue *o;
+  lua_lock(L);
+  api_checknelems(L, 1);
+  o = L->top - 1;
+  if (isLfunction(o))
+    status = luaU_dump(L, getproto(o), writer, data, strip);
+  else
+    status = 1;
+  lua_unlock(L);
+  return status;
+}
+
+
+LUA_API int lua_status (lua_State *L) {
+  return L->status;
+}
+
+
+/*
+** Garbage-collection function
+*/
+
+LUA_API int lua_gc (lua_State *L, int what, int data) {
+  int res = 0;
+  global_State *g;
+  lua_lock(L);
+  g = G(L);
+  switch (what) {
+    case LUA_GCSTOP: {
+      g->gcrunning = 0;
+      break;
+    }
+    case LUA_GCRESTART: {
+      luaE_setdebt(g, 0);
+      g->gcrunning = 1;
+      break;
+    }
+    case LUA_GCCOLLECT: {
+      luaC_fullgc(L, 0);
+      break;
+    }
+    case LUA_GCCOUNT: {
+      /* GC values are expressed in Kbytes: #bytes/2^10 */
+      res = cast_int(gettotalbytes(g) >> 10);
+      break;
+    }
+    case LUA_GCCOUNTB: {
+      res = cast_int(gettotalbytes(g) & 0x3ff);
+      break;
+    }
+    case LUA_GCSTEP: {
+      l_mem debt = 1;  /* =1 to signal that it did an actual step */
+      lu_byte oldrunning = g->gcrunning;
+      g->gcrunning = 1;  /* allow GC to run */
+      if (data == 0) {
+        luaE_setdebt(g, -GCSTEPSIZE);  /* to do a "small" step */
+        luaC_step(L);
+      }
+      else {  /* add 'data' to total debt */
+        debt = cast(l_mem, data) * 1024 + g->GCdebt;
+        luaE_setdebt(g, debt);
+        luaC_checkGC(L);
+      }
+      g->gcrunning = oldrunning;  /* restore previous state */
+      if (debt > 0 && g->gcstate == GCSpause)  /* end of cycle? */
+        res = 1;  /* signal it */
+      break;
+    }
+    case LUA_GCSETPAUSE: {
+      res = g->gcpause;
+      g->gcpause = data;
+      break;
+    }
+    case LUA_GCSETSTEPMUL: {
+      res = g->gcstepmul;
+      if (data < 40) data = 40;  /* avoid ridiculous low values (and 0) */
+      g->gcstepmul = data;
+      break;
+    }
+    case LUA_GCISRUNNING: {
+      res = g->gcrunning;
+      break;
+    }
+    default: res = -1;  /* invalid option */
+  }
+  lua_unlock(L);
+  return res;
+}
+
+
+
+/*
+** miscellaneous functions
+*/
+
+
+LUA_API int lua_error (lua_State *L) {
+  lua_lock(L);
+  api_checknelems(L, 1);
+  luaG_errormsg(L);
+  /* code unreachable; will unlock when control actually leaves the kernel */
+  return 0;  /* to avoid warnings */
+}
+
+
+LUA_API int lua_next (lua_State *L, int idx) {
+  StkId t;
+  int more;
+  lua_lock(L);
+  t = index2addr(L, idx);
+  api_check(L, ttistable(t), "table expected");
+  more = luaH_next(L, hvalue(t), L->top - 1);
+  if (more) {
+    api_incr_top(L);
+  }
+  else  /* no more elements */
+    L->top -= 1;  /* remove key */
+  lua_unlock(L);
+  return more;
+}
+
+
+LUA_API void lua_concat (lua_State *L, int n) {
+  lua_lock(L);
+  api_checknelems(L, n);
+  if (n >= 2) {
+    luaV_concat(L, n);
+  }
+  else if (n == 0) {  /* push empty string */
+    setsvalue2s(L, L->top, luaS_newlstr(L, "", 0));
+    api_incr_top(L);
+  }
+  /* else n == 1; nothing to do */
+  luaC_checkGC(L);
+  lua_unlock(L);
+}
+
+
+LUA_API void lua_len (lua_State *L, int idx) {
+  StkId t;
+  lua_lock(L);
+  t = index2addr(L, idx);
+  luaV_objlen(L, L->top, t);
+  api_incr_top(L);
+  lua_unlock(L);
+}
+
+
+LUA_API lua_Alloc lua_getallocf (lua_State *L, void **ud) {
+  lua_Alloc f;
+  lua_lock(L);
+  if (ud) *ud = G(L)->ud;
+  f = G(L)->frealloc;
+  lua_unlock(L);
+  return f;
+}
+
+
+LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud) {
+  lua_lock(L);
+  G(L)->ud = ud;
+  G(L)->frealloc = f;
+  lua_unlock(L);
+}
+
+
+LUA_API void *lua_newuserdata (lua_State *L, size_t size) {
+  Udata *u;
+  lua_lock(L);
+  u = luaS_newudata(L, size);
+  setuvalue(L, L->top, u);
+  api_incr_top(L);
+  luaC_checkGC(L);
+  lua_unlock(L);
+  return getudatamem(u);
+}
+
+
+
+static const char *aux_upvalue (StkId fi, int n, TValue **val,
+                                CClosure **owner, UpVal **uv) {
+  switch (ttype(fi)) {
+    case LUA_TCCL: {  /* C closure */
+      CClosure *f = clCvalue(fi);
+      if (!(1 <= n && n <= f->nupvalues)) return NULL;
+      *val = &f->upvalue[n-1];
+      if (owner) *owner = f;
+      return "";
+    }
+    case LUA_TLCL: {  /* Lua closure */
+      LClosure *f = clLvalue(fi);
+      TString *name;
+      Proto *p = f->p;
+      if (!(1 <= n && n <= p->sizeupvalues)) return NULL;
+      *val = f->upvals[n-1]->v;
+      if (uv) *uv = f->upvals[n - 1];
+      name = p->upvalues[n-1].name;
+      return (name == NULL) ? "(*no name)" : getstr(name);
+    }
+    default: return NULL;  /* not a closure */
+  }
+}
+
+
+LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n) {
+  const char *name;
+  TValue *val = NULL;  /* to avoid warnings */
+  lua_lock(L);
+  name = aux_upvalue(index2addr(L, funcindex), n, &val, NULL, NULL);
+  if (name) {
+    setobj2s(L, L->top, val);
+    api_incr_top(L);
+  }
+  lua_unlock(L);
+  return name;
+}
+
+
+LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n) {
+  const char *name;
+  TValue *val = NULL;  /* to avoid warnings */
+  CClosure *owner = NULL;
+  UpVal *uv = NULL;
+  StkId fi;
+  lua_lock(L);
+  fi = index2addr(L, funcindex);
+  api_checknelems(L, 1);
+  name = aux_upvalue(fi, n, &val, &owner, &uv);
+  if (name) {
+    L->top--;
+    setobj(L, val, L->top);
+    if (owner) { luaC_barrier(L, owner, L->top); }
+    else if (uv) { luaC_upvalbarrier(L, uv); }
+  }
+  lua_unlock(L);
+  return name;
+}
+
+
+static UpVal **getupvalref (lua_State *L, int fidx, int n, LClosure **pf) {
+  LClosure *f;
+  StkId fi = index2addr(L, fidx);
+  api_check(L, ttisLclosure(fi), "Lua function expected");
+  f = clLvalue(fi);
+  api_check(L, (1 <= n && n <= f->p->sizeupvalues), "invalid upvalue index");
+  if (pf) *pf = f;
+  return &f->upvals[n - 1];  /* get its upvalue pointer */
+}
+
+
+LUA_API void *lua_upvalueid (lua_State *L, int fidx, int n) {
+  StkId fi = index2addr(L, fidx);
+  switch (ttype(fi)) {
+    case LUA_TLCL: {  /* lua closure */
+      return *getupvalref(L, fidx, n, NULL);
+    }
+    case LUA_TCCL: {  /* C closure */
+      CClosure *f = clCvalue(fi);
+      api_check(L, 1 <= n && n <= f->nupvalues, "invalid upvalue index");
+      return &f->upvalue[n - 1];
+    }
+    default: {
+      api_check(L, 0, "closure expected");
+      return NULL;
+    }
+  }
+}
+
+
+LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1,
+                                            int fidx2, int n2) {
+  LClosure *f1;
+  UpVal **up1 = getupvalref(L, fidx1, n1, &f1);
+  UpVal **up2 = getupvalref(L, fidx2, n2, NULL);
+  luaC_upvdeccount(L, *up1);
+  *up1 = *up2;
+  (*up1)->refcount++;
+  if (upisopen(*up1)) (*up1)->u.open.touched = 1;
+  luaC_upvalbarrier(L, *up1);
+}
+
+

+ 24 - 0
EQ2/source/LUA/lapi.h

@@ -0,0 +1,24 @@
+/*
+** $Id: lapi.h,v 2.9 2015/03/06 19:49:50 roberto Exp $
+** Auxiliary functions from Lua API
+** See Copyright Notice in lua.h
+*/
+
+#ifndef lapi_h
+#define lapi_h
+
+
+#include "llimits.h"
+#include "lstate.h"
+
+#define api_incr_top(L)   {L->top++; api_check(L, L->top <= L->ci->top, \
+				"stack overflow");}
+
+#define adjustresults(L,nres) \
+    { if ((nres) == LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; }
+
+#define api_checknelems(L,n)	api_check(L, (n) < (L->top - L->ci->func), \
+				  "not enough elements in the stack")
+
+
+#endif

+ 1043 - 0
EQ2/source/LUA/lauxlib.c

@@ -0,0 +1,1043 @@
+/*
+** $Id: lauxlib.c,v 1.289 2016/12/20 18:37:00 roberto Exp $
+** Auxiliary functions for building Lua libraries
+** See Copyright Notice in lua.h
+*/
+
+#define lauxlib_c
+#define LUA_LIB
+
+#include "lprefix.h"
+
+
+#include <errno.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+/*
+** This file uses only the official API of Lua.
+** Any function declared here could be written as an application function.
+*/
+
+#include "lua.h"
+
+#include "lauxlib.h"
+
+
+/*
+** {======================================================
+** Traceback
+** =======================================================
+*/
+
+
+#define LEVELS1	10	/* size of the first part of the stack */
+#define LEVELS2	11	/* size of the second part of the stack */
+
+
+
+/*
+** search for 'objidx' in table at index -1.
+** return 1 + string at top if find a good name.
+*/
+static int findfield (lua_State *L, int objidx, int level) {
+  if (level == 0 || !lua_istable(L, -1))
+    return 0;  /* not found */
+  lua_pushnil(L);  /* start 'next' loop */
+  while (lua_next(L, -2)) {  /* for each pair in table */
+    if (lua_type(L, -2) == LUA_TSTRING) {  /* ignore non-string keys */
+      if (lua_rawequal(L, objidx, -1)) {  /* found object? */
+        lua_pop(L, 1);  /* remove value (but keep name) */
+        return 1;
+      }
+      else if (findfield(L, objidx, level - 1)) {  /* try recursively */
+        lua_remove(L, -2);  /* remove table (but keep name) */
+        lua_pushliteral(L, ".");
+        lua_insert(L, -2);  /* place '.' between the two names */
+        lua_concat(L, 3);
+        return 1;
+      }
+    }
+    lua_pop(L, 1);  /* remove value */
+  }
+  return 0;  /* not found */
+}
+
+
+/*
+** Search for a name for a function in all loaded modules
+*/
+static int pushglobalfuncname (lua_State *L, lua_Debug *ar) {
+  int top = lua_gettop(L);
+  lua_getinfo(L, "f", ar);  /* push function */
+  lua_getfield(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE);
+  if (findfield(L, top + 1, 2)) {
+    const char *name = lua_tostring(L, -1);
+    if (strncmp(name, "_G.", 3) == 0) {  /* name start with '_G.'? */
+      lua_pushstring(L, name + 3);  /* push name without prefix */
+      lua_remove(L, -2);  /* remove original name */
+    }
+    lua_copy(L, -1, top + 1);  /* move name to proper place */
+    lua_pop(L, 2);  /* remove pushed values */
+    return 1;
+  }
+  else {
+    lua_settop(L, top);  /* remove function and global table */
+    return 0;
+  }
+}
+
+
+static void pushfuncname (lua_State *L, lua_Debug *ar) {
+  if (pushglobalfuncname(L, ar)) {  /* try first a global name */
+    lua_pushfstring(L, "function '%s'", lua_tostring(L, -1));
+    lua_remove(L, -2);  /* remove name */
+  }
+  else if (*ar->namewhat != '\0')  /* is there a name from code? */
+    lua_pushfstring(L, "%s '%s'", ar->namewhat, ar->name);  /* use it */
+  else if (*ar->what == 'm')  /* main? */
+      lua_pushliteral(L, "main chunk");
+  else if (*ar->what != 'C')  /* for Lua functions, use <file:line> */
+    lua_pushfstring(L, "function <%s:%d>", ar->short_src, ar->linedefined);
+  else  /* nothing left... */
+    lua_pushliteral(L, "?");
+}
+
+
+static int lastlevel (lua_State *L) {
+  lua_Debug ar;
+  int li = 1, le = 1;
+  /* find an upper bound */
+  while (lua_getstack(L, le, &ar)) { li = le; le *= 2; }
+  /* do a binary search */
+  while (li < le) {
+    int m = (li + le)/2;
+    if (lua_getstack(L, m, &ar)) li = m + 1;
+    else le = m;
+  }
+  return le - 1;
+}
+
+
+LUALIB_API void luaL_traceback (lua_State *L, lua_State *L1,
+                                const char *msg, int level) {
+  lua_Debug ar;
+  int top = lua_gettop(L);
+  int last = lastlevel(L1);
+  int n1 = (last - level > LEVELS1 + LEVELS2) ? LEVELS1 : -1;
+  if (msg)
+    lua_pushfstring(L, "%s\n", msg);
+  luaL_checkstack(L, 10, NULL);
+  lua_pushliteral(L, "stack traceback:");
+  while (lua_getstack(L1, level++, &ar)) {
+    if (n1-- == 0) {  /* too many levels? */
+      lua_pushliteral(L, "\n\t...");  /* add a '...' */
+      level = last - LEVELS2 + 1;  /* and skip to last ones */
+    }
+    else {
+      lua_getinfo(L1, "Slnt", &ar);
+      lua_pushfstring(L, "\n\t%s:", ar.short_src);
+      if (ar.currentline > 0)
+        lua_pushfstring(L, "%d:", ar.currentline);
+      lua_pushliteral(L, " in ");
+      pushfuncname(L, &ar);
+      if (ar.istailcall)
+        lua_pushliteral(L, "\n\t(...tail calls...)");
+      lua_concat(L, lua_gettop(L) - top);
+    }
+  }
+  lua_concat(L, lua_gettop(L) - top);
+}
+
+/* }====================================================== */
+
+
+/*
+** {======================================================
+** Error-report functions
+** =======================================================
+*/
+
+LUALIB_API int luaL_argerror (lua_State *L, int arg, const char *extramsg) {
+  lua_Debug ar;
+  if (!lua_getstack(L, 0, &ar))  /* no stack frame? */
+    return luaL_error(L, "bad argument #%d (%s)", arg, extramsg);
+  lua_getinfo(L, "n", &ar);
+  if (strcmp(ar.namewhat, "method") == 0) {
+    arg--;  /* do not count 'self' */
+    if (arg == 0)  /* error is in the self argument itself? */
+      return luaL_error(L, "calling '%s' on bad self (%s)",
+                           ar.name, extramsg);
+  }
+  if (ar.name == NULL)
+    ar.name = (pushglobalfuncname(L, &ar)) ? lua_tostring(L, -1) : "?";
+  return luaL_error(L, "bad argument #%d to '%s' (%s)",
+                        arg, ar.name, extramsg);
+}
+
+
+static int typeerror (lua_State *L, int arg, const char *tname) {
+  const char *msg;
+  const char *typearg;  /* name for the type of the actual argument */
+  if (luaL_getmetafield(L, arg, "__name") == LUA_TSTRING)
+    typearg = lua_tostring(L, -1);  /* use the given type name */
+  else if (lua_type(L, arg) == LUA_TLIGHTUSERDATA)
+    typearg = "light userdata";  /* special name for messages */
+  else
+    typearg = luaL_typename(L, arg);  /* standard name */
+  msg = lua_pushfstring(L, "%s expected, got %s", tname, typearg);
+  return luaL_argerror(L, arg, msg);
+}
+
+
+static void tag_error (lua_State *L, int arg, int tag) {
+  typeerror(L, arg, lua_typename(L, tag));
+}
+
+
+/*
+** The use of 'lua_pushfstring' ensures this function does not
+** need reserved stack space when called.
+*/
+LUALIB_API void luaL_where (lua_State *L, int level) {
+  lua_Debug ar;
+  if (lua_getstack(L, level, &ar)) {  /* check function at level */
+    lua_getinfo(L, "Sl", &ar);  /* get info about it */
+    if (ar.currentline > 0) {  /* is there info? */
+      lua_pushfstring(L, "%s:%d: ", ar.short_src, ar.currentline);
+      return;
+    }
+  }
+  lua_pushfstring(L, "");  /* else, no information available... */
+}
+
+
+/*
+** Again, the use of 'lua_pushvfstring' ensures this function does
+** not need reserved stack space when called. (At worst, it generates
+** an error with "stack overflow" instead of the given message.)
+*/
+LUALIB_API int luaL_error (lua_State *L, const char *fmt, ...) {
+  va_list argp;
+  va_start(argp, fmt);
+  luaL_where(L, 1);
+  lua_pushvfstring(L, fmt, argp);
+  va_end(argp);
+  lua_concat(L, 2);
+  return lua_error(L);
+}
+
+
+LUALIB_API int luaL_fileresult (lua_State *L, int stat, const char *fname) {
+  int en = errno;  /* calls to Lua API may change this value */
+  if (stat) {
+    lua_pushboolean(L, 1);
+    return 1;
+  }
+  else {
+    lua_pushnil(L);
+    if (fname)
+      lua_pushfstring(L, "%s: %s", fname, strerror(en));
+    else
+      lua_pushstring(L, strerror(en));
+    lua_pushinteger(L, en);
+    return 3;
+  }
+}
+
+
+#if !defined(l_inspectstat)	/* { */
+
+#if defined(LUA_USE_POSIX)
+
+#include <sys/wait.h>
+
+/*
+** use appropriate macros to interpret 'pclose' return status
+*/
+#define l_inspectstat(stat,what)  \
+   if (WIFEXITED(stat)) { stat = WEXITSTATUS(stat); } \
+   else if (WIFSIGNALED(stat)) { stat = WTERMSIG(stat); what = "signal"; }
+
+#else
+
+#define l_inspectstat(stat,what)  /* no op */
+
+#endif
+
+#endif				/* } */
+
+
+LUALIB_API int luaL_execresult (lua_State *L, int stat) {
+  const char *what = "exit";  /* type of termination */
+  if (stat == -1)  /* error? */
+    return luaL_fileresult(L, 0, NULL);
+  else {
+    l_inspectstat(stat, what);  /* interpret result */
+    if (*what == 'e' && stat == 0)  /* successful termination? */
+      lua_pushboolean(L, 1);
+    else
+      lua_pushnil(L);
+    lua_pushstring(L, what);
+    lua_pushinteger(L, stat);
+    return 3;  /* return true/nil,what,code */
+  }
+}
+
+/* }====================================================== */
+
+
+/*
+** {======================================================
+** Userdata's metatable manipulation
+** =======================================================
+*/
+
+LUALIB_API int luaL_newmetatable (lua_State *L, const char *tname) {
+  if (luaL_getmetatable(L, tname) != LUA_TNIL)  /* name already in use? */
+    return 0;  /* leave previous value on top, but return 0 */
+  lua_pop(L, 1);
+  lua_createtable(L, 0, 2);  /* create metatable */
+  lua_pushstring(L, tname);
+  lua_setfield(L, -2, "__name");  /* metatable.__name = tname */
+  lua_pushvalue(L, -1);
+  lua_setfield(L, LUA_REGISTRYINDEX, tname);  /* registry.name = metatable */
+  return 1;
+}
+
+
+LUALIB_API void luaL_setmetatable (lua_State *L, const char *tname) {
+  luaL_getmetatable(L, tname);
+  lua_setmetatable(L, -2);
+}
+
+
+LUALIB_API void *luaL_testudata (lua_State *L, int ud, const char *tname) {
+  void *p = lua_touserdata(L, ud);
+  if (p != NULL) {  /* value is a userdata? */
+    if (lua_getmetatable(L, ud)) {  /* does it have a metatable? */
+      luaL_getmetatable(L, tname);  /* get correct metatable */
+      if (!lua_rawequal(L, -1, -2))  /* not the same? */
+        p = NULL;  /* value is a userdata with wrong metatable */
+      lua_pop(L, 2);  /* remove both metatables */
+      return p;
+    }
+  }
+  return NULL;  /* value is not a userdata with a metatable */
+}
+
+
+LUALIB_API void *luaL_checkudata (lua_State *L, int ud, const char *tname) {
+  void *p = luaL_testudata(L, ud, tname);
+  if (p == NULL) typeerror(L, ud, tname);
+  return p;
+}
+
+/* }====================================================== */
+
+
+/*
+** {======================================================
+** Argument check functions
+** =======================================================
+*/
+
+LUALIB_API int luaL_checkoption (lua_State *L, int arg, const char *def,
+                                 const char *const lst[]) {
+  const char *name = (def) ? luaL_optstring(L, arg, def) :
+                             luaL_checkstring(L, arg);
+  int i;
+  for (i=0; lst[i]; i++)
+    if (strcmp(lst[i], name) == 0)
+      return i;
+  return luaL_argerror(L, arg,
+                       lua_pushfstring(L, "invalid option '%s'", name));
+}
+
+
+/*
+** Ensures the stack has at least 'space' extra slots, raising an error
+** if it cannot fulfill the request. (The error handling needs a few
+** extra slots to format the error message. In case of an error without
+** this extra space, Lua will generate the same 'stack overflow' error,
+** but without 'msg'.)
+*/
+LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *msg) {
+  if (!lua_checkstack(L, space)) {
+    if (msg)
+      luaL_error(L, "stack overflow (%s)", msg);
+    else
+      luaL_error(L, "stack overflow");
+  }
+}
+
+
+LUALIB_API void luaL_checktype (lua_State *L, int arg, int t) {
+  if (lua_type(L, arg) != t)
+    tag_error(L, arg, t);
+}
+
+
+LUALIB_API void luaL_checkany (lua_State *L, int arg) {
+  if (lua_type(L, arg) == LUA_TNONE)
+    luaL_argerror(L, arg, "value expected");
+}
+
+
+LUALIB_API const char *luaL_checklstring (lua_State *L, int arg, size_t *len) {
+  const char *s = lua_tolstring(L, arg, len);
+  if (!s) tag_error(L, arg, LUA_TSTRING);
+  return s;
+}
+
+
+LUALIB_API const char *luaL_optlstring (lua_State *L, int arg,
+                                        const char *def, size_t *len) {
+  if (lua_isnoneornil(L, arg)) {
+    if (len)
+      *len = (def ? strlen(def) : 0);
+    return def;
+  }
+  else return luaL_checklstring(L, arg, len);
+}
+
+
+LUALIB_API lua_Number luaL_checknumber (lua_State *L, int arg) {
+  int isnum;
+  lua_Number d = lua_tonumberx(L, arg, &isnum);
+  if (!isnum)
+    tag_error(L, arg, LUA_TNUMBER);
+  return d;
+}
+
+
+LUALIB_API lua_Number luaL_optnumber (lua_State *L, int arg, lua_Number def) {
+  return luaL_opt(L, luaL_checknumber, arg, def);
+}
+
+
+static void interror (lua_State *L, int arg) {
+  if (lua_isnumber(L, arg))
+    luaL_argerror(L, arg, "number has no integer representation");
+  else
+    tag_error(L, arg, LUA_TNUMBER);
+}
+
+
+LUALIB_API lua_Integer luaL_checkinteger (lua_State *L, int arg) {
+  int isnum;
+  lua_Integer d = lua_tointegerx(L, arg, &isnum);
+  if (!isnum) {
+    interror(L, arg);
+  }
+  return d;
+}
+
+
+LUALIB_API lua_Integer luaL_optinteger (lua_State *L, int arg,
+                                                      lua_Integer def) {
+  return luaL_opt(L, luaL_checkinteger, arg, def);
+}
+
+/* }====================================================== */
+
+
+/*
+** {======================================================
+** Generic Buffer manipulation
+** =======================================================
+*/
+
+/* userdata to box arbitrary data */
+typedef struct UBox {
+  void *box;
+  size_t bsize;
+} UBox;
+
+
+static void *resizebox (lua_State *L, int idx, size_t newsize) {
+  void *ud;
+  lua_Alloc allocf = lua_getallocf(L, &ud);
+  UBox *box = (UBox *)lua_touserdata(L, idx);
+  void *temp = allocf(ud, box->box, box->bsize, newsize);
+  if (temp == NULL && newsize > 0) {  /* allocation error? */
+    resizebox(L, idx, 0);  /* free buffer */
+    luaL_error(L, "not enough memory for buffer allocation");
+  }
+  box->box = temp;
+  box->bsize = newsize;
+  return temp;
+}
+
+
+static int boxgc (lua_State *L) {
+  resizebox(L, 1, 0);
+  return 0;
+}
+
+
+static void *newbox (lua_State *L, size_t newsize) {
+  UBox *box = (UBox *)lua_newuserdata(L, sizeof(UBox));
+  box->box = NULL;
+  box->bsize = 0;
+  if (luaL_newmetatable(L, "LUABOX")) {  /* creating metatable? */
+    lua_pushcfunction(L, boxgc);
+    lua_setfield(L, -2, "__gc");  /* metatable.__gc = boxgc */
+  }
+  lua_setmetatable(L, -2);
+  return resizebox(L, -1, newsize);
+}
+
+
+/*
+** check whether buffer is using a userdata on the stack as a temporary
+** buffer
+*/
+#define buffonstack(B)	((B)->b != (B)->initb)
+
+
+/*
+** returns a pointer to a free area with at least 'sz' bytes
+*/
+LUALIB_API char *luaL_prepbuffsize (luaL_Buffer *B, size_t sz) {
+  lua_State *L = B->L;
+  if (B->size - B->n < sz) {  /* not enough space? */
+    char *newbuff;
+    size_t newsize = B->size * 2;  /* double buffer size */
+    if (newsize - B->n < sz)  /* not big enough? */
+      newsize = B->n + sz;
+    if (newsize < B->n || newsize - B->n < sz)
+      luaL_error(L, "buffer too large");
+    /* create larger buffer */
+    if (buffonstack(B))
+      newbuff = (char *)resizebox(L, -1, newsize);
+    else {  /* no buffer yet */
+      newbuff = (char *)newbox(L, newsize);
+      memcpy(newbuff, B->b, B->n * sizeof(char));  /* copy original content */
+    }
+    B->b = newbuff;
+    B->size = newsize;
+  }
+  return &B->b[B->n];
+}
+
+
+LUALIB_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) {
+  if (l > 0) {  /* avoid 'memcpy' when 's' can be NULL */
+    char *b = luaL_prepbuffsize(B, l);
+    memcpy(b, s, l * sizeof(char));
+    luaL_addsize(B, l);
+  }
+}
+
+
+LUALIB_API void luaL_addstring (luaL_Buffer *B, const char *s) {
+  luaL_addlstring(B, s, strlen(s));
+}
+
+
+LUALIB_API void luaL_pushresult (luaL_Buffer *B) {
+  lua_State *L = B->L;
+  lua_pushlstring(L, B->b, B->n);
+  if (buffonstack(B)) {
+    resizebox(L, -2, 0);  /* delete old buffer */
+    lua_remove(L, -2);  /* remove its header from the stack */
+  }
+}
+
+
+LUALIB_API void luaL_pushresultsize (luaL_Buffer *B, size_t sz) {
+  luaL_addsize(B, sz);
+  luaL_pushresult(B);
+}
+
+
+LUALIB_API void luaL_addvalue (luaL_Buffer *B) {
+  lua_State *L = B->L;
+  size_t l;
+  const char *s = lua_tolstring(L, -1, &l);
+  if (buffonstack(B))
+    lua_insert(L, -2);  /* put value below buffer */
+  luaL_addlstring(B, s, l);
+  lua_remove(L, (buffonstack(B)) ? -2 : -1);  /* remove value */
+}
+
+
+LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) {
+  B->L = L;
+  B->b = B->initb;
+  B->n = 0;
+  B->size = LUAL_BUFFERSIZE;
+}
+
+
+LUALIB_API char *luaL_buffinitsize (lua_State *L, luaL_Buffer *B, size_t sz) {
+  luaL_buffinit(L, B);
+  return luaL_prepbuffsize(B, sz);
+}
+
+/* }====================================================== */
+
+
+/*
+** {======================================================
+** Reference system
+** =======================================================
+*/
+
+/* index of free-list header */
+#define freelist	0
+
+
+LUALIB_API int luaL_ref (lua_State *L, int t) {
+  int ref;
+  if (lua_isnil(L, -1)) {
+    lua_pop(L, 1);  /* remove from stack */
+    return LUA_REFNIL;  /* 'nil' has a unique fixed reference */
+  }
+  t = lua_absindex(L, t);
+  lua_rawgeti(L, t, freelist);  /* get first free element */
+  ref = (int)lua_tointeger(L, -1);  /* ref = t[freelist] */
+  lua_pop(L, 1);  /* remove it from stack */
+  if (ref != 0) {  /* any free element? */
+    lua_rawgeti(L, t, ref);  /* remove it from list */
+    lua_rawseti(L, t, freelist);  /* (t[freelist] = t[ref]) */
+  }
+  else  /* no free elements */
+    ref = (int)lua_rawlen(L, t) + 1;  /* get a new reference */
+  lua_rawseti(L, t, ref);
+  return ref;
+}
+
+
+LUALIB_API void luaL_unref (lua_State *L, int t, int ref) {
+  if (ref >= 0) {
+    t = lua_absindex(L, t);
+    lua_rawgeti(L, t, freelist);
+    lua_rawseti(L, t, ref);  /* t[ref] = t[freelist] */
+    lua_pushinteger(L, ref);
+    lua_rawseti(L, t, freelist);  /* t[freelist] = ref */
+  }
+}
+
+/* }====================================================== */
+
+
+/*
+** {======================================================
+** Load functions
+** =======================================================
+*/
+
+typedef struct LoadF {
+  int n;  /* number of pre-read characters */
+  FILE *f;  /* file being read */
+  char buff[BUFSIZ];  /* area for reading file */
+} LoadF;
+
+
+static const char *getF (lua_State *L, void *ud, size_t *size) {
+  LoadF *lf = (LoadF *)ud;
+  (void)L;  /* not used */
+  if (lf->n > 0) {  /* are there pre-read characters to be read? */
+    *size = lf->n;  /* return them (chars already in buffer) */
+    lf->n = 0;  /* no more pre-read characters */
+  }
+  else {  /* read a block from file */
+    /* 'fread' can return > 0 *and* set the EOF flag. If next call to
+       'getF' called 'fread', it might still wait for user input.
+       The next check avoids this problem. */
+    if (feof(lf->f)) return NULL;
+    *size = fread(lf->buff, 1, sizeof(lf->buff), lf->f);  /* read block */
+  }
+  return lf->buff;
+}
+
+
+static int errfile (lua_State *L, const char *what, int fnameindex) {
+  const char *serr = strerror(errno);
+  const char *filename = lua_tostring(L, fnameindex) + 1;
+  lua_pushfstring(L, "cannot %s %s: %s", what, filename, serr);
+  lua_remove(L, fnameindex);
+  return LUA_ERRFILE;
+}
+
+
+static int skipBOM (LoadF *lf) {
+  const char *p = "\xEF\xBB\xBF";  /* UTF-8 BOM mark */
+  int c;
+  lf->n = 0;
+  do {
+    c = getc(lf->f);
+    if (c == EOF || c != *(const unsigned char *)p++) return c;
+    lf->buff[lf->n++] = c;  /* to be read by the parser */
+  } while (*p != '\0');
+  lf->n = 0;  /* prefix matched; discard it */
+  return getc(lf->f);  /* return next character */
+}
+
+
+/*
+** reads the first character of file 'f' and skips an optional BOM mark
+** in its beginning plus its first line if it starts with '#'. Returns
+** true if it skipped the first line.  In any case, '*cp' has the
+** first "valid" character of the file (after the optional BOM and
+** a first-line comment).
+*/
+static int skipcomment (LoadF *lf, int *cp) {
+  int c = *cp = skipBOM(lf);
+  if (c == '#') {  /* first line is a comment (Unix exec. file)? */
+    do {  /* skip first line */
+      c = getc(lf->f);
+    } while (c != EOF && c != '\n');
+    *cp = getc(lf->f);  /* skip end-of-line, if present */
+    return 1;  /* there was a comment */
+  }
+  else return 0;  /* no comment */
+}
+
+
+LUALIB_API int luaL_loadfilex (lua_State *L, const char *filename,
+                                             const char *mode) {
+  LoadF lf;
+  int status, readstatus;
+  int c;
+  int fnameindex = lua_gettop(L) + 1;  /* index of filename on the stack */
+  if (filename == NULL) {
+    lua_pushliteral(L, "=stdin");
+    lf.f = stdin;
+  }
+  else {
+    lua_pushfstring(L, "@%s", filename);
+    lf.f = fopen(filename, "r");
+    if (lf.f == NULL) return errfile(L, "open", fnameindex);
+  }
+  if (skipcomment(&lf, &c))  /* read initial portion */
+    lf.buff[lf.n++] = '\n';  /* add line to correct line numbers */
+  if (c == LUA_SIGNATURE[0] && filename) {  /* binary file? */
+    lf.f = freopen(filename, "rb", lf.f);  /* reopen in binary mode */
+    if (lf.f == NULL) return errfile(L, "reopen", fnameindex);
+    skipcomment(&lf, &c);  /* re-read initial portion */
+  }
+  if (c != EOF)
+    lf.buff[lf.n++] = c;  /* 'c' is the first character of the stream */
+  status = lua_load(L, getF, &lf, lua_tostring(L, -1), mode);
+  readstatus = ferror(lf.f);
+  if (filename) fclose(lf.f);  /* close file (even in case of errors) */
+  if (readstatus) {
+    lua_settop(L, fnameindex);  /* ignore results from 'lua_load' */
+    return errfile(L, "read", fnameindex);
+  }
+  lua_remove(L, fnameindex);
+  return status;
+}
+
+
+typedef struct LoadS {
+  const char *s;
+  size_t size;
+} LoadS;
+
+
+static const char *getS (lua_State *L, void *ud, size_t *size) {
+  LoadS *ls = (LoadS *)ud;
+  (void)L;  /* not used */
+  if (ls->size == 0) return NULL;
+  *size = ls->size;
+  ls->size = 0;
+  return ls->s;
+}
+
+
+LUALIB_API int luaL_loadbufferx (lua_State *L, const char *buff, size_t size,
+                                 const char *name, const char *mode) {
+  LoadS ls;
+  ls.s = buff;
+  ls.size = size;
+  return lua_load(L, getS, &ls, name, mode);
+}
+
+
+LUALIB_API int luaL_loadstring (lua_State *L, const char *s) {
+  return luaL_loadbuffer(L, s, strlen(s), s);
+}
+
+/* }====================================================== */
+
+
+
+LUALIB_API int luaL_getmetafield (lua_State *L, int obj, const char *event) {
+  if (!lua_getmetatable(L, obj))  /* no metatable? */
+    return LUA_TNIL;
+  else {
+    int tt;
+    lua_pushstring(L, event);
+    tt = lua_rawget(L, -2);
+    if (tt == LUA_TNIL)  /* is metafield nil? */
+      lua_pop(L, 2);  /* remove metatable and metafield */
+    else
+      lua_remove(L, -2);  /* remove only metatable */
+    return tt;  /* return metafield type */
+  }
+}
+
+
+LUALIB_API int luaL_callmeta (lua_State *L, int obj, const char *event) {
+  obj = lua_absindex(L, obj);
+  if (luaL_getmetafield(L, obj, event) == LUA_TNIL)  /* no metafield? */
+    return 0;
+  lua_pushvalue(L, obj);
+  lua_call(L, 1, 1);
+  return 1;
+}
+
+
+LUALIB_API lua_Integer luaL_len (lua_State *L, int idx) {
+  lua_Integer l;
+  int isnum;
+  lua_len(L, idx);
+  l = lua_tointegerx(L, -1, &isnum);
+  if (!isnum)
+    luaL_error(L, "object length is not an integer");
+  lua_pop(L, 1);  /* remove object */
+  return l;
+}
+
+
+LUALIB_API const char *luaL_tolstring (lua_State *L, int idx, size_t *len) {
+  if (luaL_callmeta(L, idx, "__tostring")) {  /* metafield? */
+    if (!lua_isstring(L, -1))
+      luaL_error(L, "'__tostring' must return a string");
+  }
+  else {
+    switch (lua_type(L, idx)) {
+      case LUA_TNUMBER: {
+        if (lua_isinteger(L, idx))
+          lua_pushfstring(L, "%I", (LUAI_UACINT)lua_tointeger(L, idx));
+        else
+          lua_pushfstring(L, "%f", (LUAI_UACNUMBER)lua_tonumber(L, idx));
+        break;
+      }
+      case LUA_TSTRING:
+        lua_pushvalue(L, idx);
+        break;
+      case LUA_TBOOLEAN:
+        lua_pushstring(L, (lua_toboolean(L, idx) ? "true" : "false"));
+        break;
+      case LUA_TNIL:
+        lua_pushliteral(L, "nil");
+        break;
+      default: {
+        int tt = luaL_getmetafield(L, idx, "__name");  /* try name */
+        const char *kind = (tt == LUA_TSTRING) ? lua_tostring(L, -1) :
+                                                 luaL_typename(L, idx);
+        lua_pushfstring(L, "%s: %p", kind, lua_topointer(L, idx));
+        if (tt != LUA_TNIL)
+          lua_remove(L, -2);  /* remove '__name' */
+        break;
+      }
+    }
+  }
+  return lua_tolstring(L, -1, len);
+}
+
+
+/*
+** {======================================================
+** Compatibility with 5.1 module functions
+** =======================================================
+*/
+#if defined(LUA_COMPAT_MODULE)
+
+static const char *luaL_findtable (lua_State *L, int idx,
+                                   const char *fname, int szhint) {
+  const char *e;
+  if (idx) lua_pushvalue(L, idx);
+  do {
+    e = strchr(fname, '.');
+    if (e == NULL) e = fname + strlen(fname);
+    lua_pushlstring(L, fname, e - fname);
+    if (lua_rawget(L, -2) == LUA_TNIL) {  /* no such field? */
+      lua_pop(L, 1);  /* remove this nil */
+      lua_createtable(L, 0, (*e == '.' ? 1 : szhint)); /* new table for field */
+      lua_pushlstring(L, fname, e - fname);
+      lua_pushvalue(L, -2);
+      lua_settable(L, -4);  /* set new table into field */
+    }
+    else if (!lua_istable(L, -1)) {  /* field has a non-table value? */
+      lua_pop(L, 2);  /* remove table and value */
+      return fname;  /* return problematic part of the name */
+    }
+    lua_remove(L, -2);  /* remove previous table */
+    fname = e + 1;
+  } while (*e == '.');
+  return NULL;
+}
+
+
+/*
+** Count number of elements in a luaL_Reg list.
+*/
+static int libsize (const luaL_Reg *l) {
+  int size = 0;
+  for (; l && l->name; l++) size++;
+  return size;
+}
+
+
+/*
+** Find or create a module table with a given name. The function
+** first looks at the LOADED table and, if that fails, try a
+** global variable with that name. In any case, leaves on the stack
+** the module table.
+*/
+LUALIB_API void luaL_pushmodule (lua_State *L, const char *modname,
+                                 int sizehint) {
+  luaL_findtable(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE, 1);
+  if (lua_getfield(L, -1, modname) != LUA_TTABLE) {  /* no LOADED[modname]? */
+    lua_pop(L, 1);  /* remove previous result */
+    /* try global variable (and create one if it does not exist) */
+    lua_pushglobaltable(L);
+    if (luaL_findtable(L, 0, modname, sizehint) != NULL)
+      luaL_error(L, "name conflict for module '%s'", modname);
+    lua_pushvalue(L, -1);
+    lua_setfield(L, -3, modname);  /* LOADED[modname] = new table */
+  }
+  lua_remove(L, -2);  /* remove LOADED table */
+}
+
+
+LUALIB_API void luaL_openlib (lua_State *L, const char *libname,
+                               const luaL_Reg *l, int nup) {
+  luaL_checkversion(L);
+  if (libname) {
+    luaL_pushmodule(L, libname, libsize(l));  /* get/create library table */
+    lua_insert(L, -(nup + 1));  /* move library table to below upvalues */
+  }
+  if (l)
+    luaL_setfuncs(L, l, nup);
+  else
+    lua_pop(L, nup);  /* remove upvalues */
+}
+
+#endif
+/* }====================================================== */
+
+/*
+** set functions from list 'l' into table at top - 'nup'; each
+** function gets the 'nup' elements at the top as upvalues.
+** Returns with only the table at the stack.
+*/
+LUALIB_API void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
+  luaL_checkstack(L, nup, "too many upvalues");
+  for (; l->name != NULL; l++) {  /* fill the table with given functions */
+    int i;
+    for (i = 0; i < nup; i++)  /* copy upvalues to the top */
+      lua_pushvalue(L, -nup);
+    lua_pushcclosure(L, l->func, nup);  /* closure with those upvalues */
+    lua_setfield(L, -(nup + 2), l->name);
+  }
+  lua_pop(L, nup);  /* remove upvalues */
+}
+
+
+/*
+** ensure that stack[idx][fname] has a table and push that table
+** into the stack
+*/
+LUALIB_API int luaL_getsubtable (lua_State *L, int idx, const char *fname) {
+  if (lua_getfield(L, idx, fname) == LUA_TTABLE)
+    return 1;  /* table already there */
+  else {
+    lua_pop(L, 1);  /* remove previous result */
+    idx = lua_absindex(L, idx);
+    lua_newtable(L);
+    lua_pushvalue(L, -1);  /* copy to be left at top */
+    lua_setfield(L, idx, fname);  /* assign new table to field */
+    return 0;  /* false, because did not find table there */
+  }
+}
+
+
+/*
+** Stripped-down 'require': After checking "loaded" table, calls 'openf'
+** to open a module, registers the result in 'package.loaded' table and,
+** if 'glb' is true, also registers the result in the global table.
+** Leaves resulting module on the top.
+*/
+LUALIB_API void luaL_requiref (lua_State *L, const char *modname,
+                               lua_CFunction openf, int glb) {
+  luaL_getsubtable(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE);
+  lua_getfield(L, -1, modname);  /* LOADED[modname] */
+  if (!lua_toboolean(L, -1)) {  /* package not already loaded? */
+    lua_pop(L, 1);  /* remove field */
+    lua_pushcfunction(L, openf);
+    lua_pushstring(L, modname);  /* argument to open function */
+    lua_call(L, 1, 1);  /* call 'openf' to open module */
+    lua_pushvalue(L, -1);  /* make copy of module (call result) */
+    lua_setfield(L, -3, modname);  /* LOADED[modname] = module */
+  }
+  lua_remove(L, -2);  /* remove LOADED table */
+  if (glb) {
+    lua_pushvalue(L, -1);  /* copy of module */
+    lua_setglobal(L, modname);  /* _G[modname] = module */
+  }
+}
+
+
+LUALIB_API const char *luaL_gsub (lua_State *L, const char *s, const char *p,
+                                                               const char *r) {
+  const char *wild;
+  size_t l = strlen(p);
+  luaL_Buffer b;
+  luaL_buffinit(L, &b);
+  while ((wild = strstr(s, p)) != NULL) {
+    luaL_addlstring(&b, s, wild - s);  /* push prefix */
+    luaL_addstring(&b, r);  /* push replacement in place of pattern */
+    s = wild + l;  /* continue after 'p' */
+  }
+  luaL_addstring(&b, s);  /* push last suffix */
+  luaL_pushresult(&b);
+  return lua_tostring(L, -1);
+}
+
+
+static void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) {
+  (void)ud; (void)osize;  /* not used */
+  if (nsize == 0) {
+    free(ptr);
+    return NULL;
+  }
+  else
+    return realloc(ptr, nsize);
+}
+
+
+static int panic (lua_State *L) {
+  lua_writestringerror("PANIC: unprotected error in call to Lua API (%s)\n",
+                        lua_tostring(L, -1));
+  return 0;  /* return to Lua to abort */
+}
+
+
+LUALIB_API lua_State *luaL_newstate (void) {
+  lua_State *L = lua_newstate(l_alloc, NULL);
+  if (L) lua_atpanic(L, &panic);
+  return L;
+}
+
+
+LUALIB_API void luaL_checkversion_ (lua_State *L, lua_Number ver, size_t sz) {
+  const lua_Number *v = lua_version(L);
+  if (sz != LUAL_NUMSIZES)  /* check numeric types */
+    luaL_error(L, "core and library have incompatible numeric types");
+  if (v != lua_version(NULL))
+    luaL_error(L, "multiple Lua VMs detected");
+  else if (*v != ver)
+    luaL_error(L, "version mismatch: app. needs %f, Lua core provides %f",
+                  (LUAI_UACNUMBER)ver, (LUAI_UACNUMBER)*v);
+}
+

Some files were not shown because too many files changed in this diff