eolib 1.1.1__py3-none-any.whl → 1.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. eolib/__about__.py +1 -1
  2. eolib/protocol/_generated/coords.py +10 -6
  3. eolib/protocol/_generated/emote.py +1 -1
  4. eolib/protocol/_generated/map/emf.py +113 -109
  5. eolib/protocol/_generated/map/map_graphic_layer.py +13 -9
  6. eolib/protocol/_generated/map/map_graphic_row.py +16 -12
  7. eolib/protocol/_generated/map/map_graphic_row_tile.py +10 -6
  8. eolib/protocol/_generated/map/map_item.py +22 -18
  9. eolib/protocol/_generated/map/map_legacy_door_key.py +10 -6
  10. eolib/protocol/_generated/map/map_npc.py +19 -15
  11. eolib/protocol/_generated/map/map_sign.py +18 -14
  12. eolib/protocol/_generated/map/map_tile_spec_row.py +16 -12
  13. eolib/protocol/_generated/map/map_tile_spec_row_tile.py +10 -6
  14. eolib/protocol/_generated/map/map_warp.py +16 -12
  15. eolib/protocol/_generated/map/map_warp_row.py +16 -12
  16. eolib/protocol/_generated/map/map_warp_row_tile.py +10 -6
  17. eolib/protocol/_generated/net/char_item.py +10 -6
  18. eolib/protocol/_generated/net/client/account_agree_client_packet.py +18 -12
  19. eolib/protocol/_generated/net/client/account_create_client_packet.py +38 -32
  20. eolib/protocol/_generated/net/client/account_request_client_packet.py +7 -3
  21. eolib/protocol/_generated/net/client/admin_interact_report_client_packet.py +13 -7
  22. eolib/protocol/_generated/net/client/admin_interact_tell_client_packet.py +7 -3
  23. eolib/protocol/_generated/net/client/attack_use_client_packet.py +10 -6
  24. eolib/protocol/_generated/net/client/bank_add_client_packet.py +10 -6
  25. eolib/protocol/_generated/net/client/bank_open_client_packet.py +7 -3
  26. eolib/protocol/_generated/net/client/bank_take_client_packet.py +10 -6
  27. eolib/protocol/_generated/net/client/barber_buy_client_packet.py +13 -9
  28. eolib/protocol/_generated/net/client/barber_open_client_packet.py +7 -3
  29. eolib/protocol/_generated/net/client/board_create_client_packet.py +18 -12
  30. eolib/protocol/_generated/net/client/board_open_client_packet.py +7 -3
  31. eolib/protocol/_generated/net/client/board_remove_client_packet.py +10 -6
  32. eolib/protocol/_generated/net/client/board_take_client_packet.py +10 -6
  33. eolib/protocol/_generated/net/client/book_request_client_packet.py +8 -4
  34. eolib/protocol/_generated/net/client/byte_coords.py +10 -6
  35. eolib/protocol/_generated/net/client/chair_request_client_packet.py +21 -14
  36. eolib/protocol/_generated/net/client/character_create_client_packet.py +26 -20
  37. eolib/protocol/_generated/net/client/character_remove_client_packet.py +10 -6
  38. eolib/protocol/_generated/net/client/character_request_client_packet.py +8 -2
  39. eolib/protocol/_generated/net/client/character_take_client_packet.py +7 -3
  40. eolib/protocol/_generated/net/client/chest_add_client_packet.py +10 -6
  41. eolib/protocol/_generated/net/client/chest_open_client_packet.py +7 -3
  42. eolib/protocol/_generated/net/client/chest_take_client_packet.py +10 -6
  43. eolib/protocol/_generated/net/client/citizen_accept_client_packet.py +10 -6
  44. eolib/protocol/_generated/net/client/citizen_open_client_packet.py +7 -3
  45. eolib/protocol/_generated/net/client/citizen_remove_client_packet.py +7 -3
  46. eolib/protocol/_generated/net/client/citizen_reply_client_packet.py +22 -16
  47. eolib/protocol/_generated/net/client/citizen_request_client_packet.py +10 -6
  48. eolib/protocol/_generated/net/client/connection_accept_client_packet.py +13 -9
  49. eolib/protocol/_generated/net/client/connection_ping_client_packet.py +5 -4
  50. eolib/protocol/_generated/net/client/door_open_client_packet.py +7 -3
  51. eolib/protocol/_generated/net/client/emote_report_client_packet.py +7 -3
  52. eolib/protocol/_generated/net/client/face_player_client_packet.py +7 -3
  53. eolib/protocol/_generated/net/client/global_close_client_packet.py +5 -4
  54. eolib/protocol/_generated/net/client/global_open_client_packet.py +5 -4
  55. eolib/protocol/_generated/net/client/global_player_client_packet.py +5 -4
  56. eolib/protocol/_generated/net/client/global_remove_client_packet.py +5 -4
  57. eolib/protocol/_generated/net/client/guild_accept_client_packet.py +8 -4
  58. eolib/protocol/_generated/net/client/guild_agree_client_packet.py +41 -30
  59. eolib/protocol/_generated/net/client/guild_buy_client_packet.py +10 -6
  60. eolib/protocol/_generated/net/client/guild_create_client_packet.py +22 -16
  61. eolib/protocol/_generated/net/client/guild_junk_client_packet.py +7 -3
  62. eolib/protocol/_generated/net/client/guild_kick_client_packet.py +10 -6
  63. eolib/protocol/_generated/net/client/guild_open_client_packet.py +7 -3
  64. eolib/protocol/_generated/net/client/guild_player_client_packet.py +18 -12
  65. eolib/protocol/_generated/net/client/guild_rank_client_packet.py +14 -10
  66. eolib/protocol/_generated/net/client/guild_remove_client_packet.py +7 -3
  67. eolib/protocol/_generated/net/client/guild_report_client_packet.py +10 -6
  68. eolib/protocol/_generated/net/client/guild_request_client_packet.py +18 -12
  69. eolib/protocol/_generated/net/client/guild_take_client_packet.py +34 -7
  70. eolib/protocol/_generated/net/client/guild_tell_client_packet.py +10 -6
  71. eolib/protocol/_generated/net/client/guild_use_client_packet.py +7 -3
  72. eolib/protocol/_generated/net/client/init_init_client_packet.py +19 -15
  73. eolib/protocol/_generated/net/client/item_drop_client_packet.py +12 -8
  74. eolib/protocol/_generated/net/client/item_get_client_packet.py +7 -3
  75. eolib/protocol/_generated/net/client/item_junk_client_packet.py +7 -3
  76. eolib/protocol/_generated/net/client/item_use_client_packet.py +7 -3
  77. eolib/protocol/_generated/net/client/jukebox_msg_client_packet.py +13 -7
  78. eolib/protocol/_generated/net/client/jukebox_open_client_packet.py +7 -3
  79. eolib/protocol/_generated/net/client/jukebox_use_client_packet.py +10 -6
  80. eolib/protocol/_generated/net/client/locker_add_client_packet.py +10 -6
  81. eolib/protocol/_generated/net/client/locker_buy_client_packet.py +5 -4
  82. eolib/protocol/_generated/net/client/locker_open_client_packet.py +7 -3
  83. eolib/protocol/_generated/net/client/locker_take_client_packet.py +10 -6
  84. eolib/protocol/_generated/net/client/login_request_client_packet.py +14 -8
  85. eolib/protocol/_generated/net/client/marriage_open_client_packet.py +7 -3
  86. eolib/protocol/_generated/net/client/marriage_request_client_packet.py +16 -10
  87. eolib/protocol/_generated/net/client/message_ping_client_packet.py +5 -4
  88. eolib/protocol/_generated/net/client/npc_range_request_client_packet.py +14 -10
  89. eolib/protocol/_generated/net/client/paperdoll_add_client_packet.py +10 -6
  90. eolib/protocol/_generated/net/client/paperdoll_remove_client_packet.py +10 -6
  91. eolib/protocol/_generated/net/client/paperdoll_request_client_packet.py +8 -4
  92. eolib/protocol/_generated/net/client/party_accept_client_packet.py +10 -6
  93. eolib/protocol/_generated/net/client/party_remove_client_packet.py +7 -3
  94. eolib/protocol/_generated/net/client/party_request_client_packet.py +10 -6
  95. eolib/protocol/_generated/net/client/party_take_client_packet.py +7 -3
  96. eolib/protocol/_generated/net/client/player_range_request_client_packet.py +8 -4
  97. eolib/protocol/_generated/net/client/players_accept_client_packet.py +7 -3
  98. eolib/protocol/_generated/net/client/players_list_client_packet.py +5 -4
  99. eolib/protocol/_generated/net/client/players_request_client_packet.py +5 -4
  100. eolib/protocol/_generated/net/client/priest_accept_client_packet.py +7 -3
  101. eolib/protocol/_generated/net/client/priest_open_client_packet.py +7 -3
  102. eolib/protocol/_generated/net/client/priest_request_client_packet.py +13 -7
  103. eolib/protocol/_generated/net/client/priest_use_client_packet.py +8 -4
  104. eolib/protocol/_generated/net/client/quest_accept_client_packet.py +33 -26
  105. eolib/protocol/_generated/net/client/quest_list_client_packet.py +7 -3
  106. eolib/protocol/_generated/net/client/quest_use_client_packet.py +10 -6
  107. eolib/protocol/_generated/net/client/range_request_client_packet.py +15 -9
  108. eolib/protocol/_generated/net/client/refresh_request_client_packet.py +5 -4
  109. eolib/protocol/_generated/net/client/shop_buy_client_packet.py +10 -6
  110. eolib/protocol/_generated/net/client/shop_create_client_packet.py +10 -6
  111. eolib/protocol/_generated/net/client/shop_open_client_packet.py +7 -3
  112. eolib/protocol/_generated/net/client/shop_sell_client_packet.py +10 -6
  113. eolib/protocol/_generated/net/client/sit_request_client_packet.py +21 -14
  114. eolib/protocol/_generated/net/client/spell_request_client_packet.py +10 -6
  115. eolib/protocol/_generated/net/client/spell_target_group_client_packet.py +10 -6
  116. eolib/protocol/_generated/net/client/spell_target_other_client_packet.py +19 -15
  117. eolib/protocol/_generated/net/client/spell_target_self_client_packet.py +13 -9
  118. eolib/protocol/_generated/net/client/spell_use_client_packet.py +7 -3
  119. eolib/protocol/_generated/net/client/stat_skill_add_client_packet.py +32 -21
  120. eolib/protocol/_generated/net/client/stat_skill_junk_client_packet.py +7 -3
  121. eolib/protocol/_generated/net/client/stat_skill_open_client_packet.py +7 -3
  122. eolib/protocol/_generated/net/client/stat_skill_remove_client_packet.py +10 -6
  123. eolib/protocol/_generated/net/client/stat_skill_take_client_packet.py +10 -6
  124. eolib/protocol/_generated/net/client/talk_admin_client_packet.py +7 -3
  125. eolib/protocol/_generated/net/client/talk_announce_client_packet.py +7 -3
  126. eolib/protocol/_generated/net/client/talk_msg_client_packet.py +7 -3
  127. eolib/protocol/_generated/net/client/talk_open_client_packet.py +7 -3
  128. eolib/protocol/_generated/net/client/talk_player_client_packet.py +7 -3
  129. eolib/protocol/_generated/net/client/talk_report_client_packet.py +7 -3
  130. eolib/protocol/_generated/net/client/talk_request_client_packet.py +7 -3
  131. eolib/protocol/_generated/net/client/talk_tell_client_packet.py +13 -7
  132. eolib/protocol/_generated/net/client/talk_use_client_packet.py +7 -3
  133. eolib/protocol/_generated/net/client/trade_accept_client_packet.py +8 -4
  134. eolib/protocol/_generated/net/client/trade_add_client_packet.py +7 -3
  135. eolib/protocol/_generated/net/client/trade_agree_client_packet.py +7 -3
  136. eolib/protocol/_generated/net/client/trade_close_client_packet.py +5 -4
  137. eolib/protocol/_generated/net/client/trade_remove_client_packet.py +7 -3
  138. eolib/protocol/_generated/net/client/trade_request_client_packet.py +8 -4
  139. eolib/protocol/_generated/net/client/walk_action.py +13 -9
  140. eolib/protocol/_generated/net/client/walk_admin_client_packet.py +7 -3
  141. eolib/protocol/_generated/net/client/walk_player_client_packet.py +7 -3
  142. eolib/protocol/_generated/net/client/walk_spec_client_packet.py +7 -3
  143. eolib/protocol/_generated/net/client/warp_accept_client_packet.py +10 -6
  144. eolib/protocol/_generated/net/client/warp_take_client_packet.py +10 -6
  145. eolib/protocol/_generated/net/client/welcome_agree_client_packet.py +68 -45
  146. eolib/protocol/_generated/net/client/welcome_msg_client_packet.py +10 -6
  147. eolib/protocol/_generated/net/client/welcome_request_client_packet.py +7 -3
  148. eolib/protocol/_generated/net/item.py +10 -6
  149. eolib/protocol/_generated/net/server/account_reply_server_packet.py +88 -57
  150. eolib/protocol/_generated/net/server/admin_interact_agree_server_packet.py +7 -3
  151. eolib/protocol/_generated/net/server/admin_interact_list_server_packet.py +27 -21
  152. eolib/protocol/_generated/net/server/admin_interact_remove_server_packet.py +7 -3
  153. eolib/protocol/_generated/net/server/admin_interact_reply_server_packet.py +49 -36
  154. eolib/protocol/_generated/net/server/admin_interact_tell_server_packet.py +33 -27
  155. eolib/protocol/_generated/net/server/arena_accept_server_packet.py +21 -15
  156. eolib/protocol/_generated/net/server/arena_drop_server_packet.py +6 -5
  157. eolib/protocol/_generated/net/server/arena_spec_server_packet.py +25 -19
  158. eolib/protocol/_generated/net/server/arena_use_server_packet.py +7 -3
  159. eolib/protocol/_generated/net/server/attack_error_server_packet.py +5 -4
  160. eolib/protocol/_generated/net/server/attack_player_server_packet.py +10 -6
  161. eolib/protocol/_generated/net/server/avatar_admin_server_packet.py +36 -32
  162. eolib/protocol/_generated/net/server/avatar_agree_server_packet.py +7 -3
  163. eolib/protocol/_generated/net/server/avatar_change.py +53 -38
  164. eolib/protocol/_generated/net/server/avatar_change_type.py +1 -1
  165. eolib/protocol/_generated/net/server/avatar_remove_server_packet.py +10 -6
  166. eolib/protocol/_generated/net/server/avatar_reply_server_packet.py +22 -18
  167. eolib/protocol/_generated/net/server/bank_open_server_packet.py +13 -9
  168. eolib/protocol/_generated/net/server/bank_reply_server_packet.py +10 -6
  169. eolib/protocol/_generated/net/server/barber_agree_server_packet.py +10 -6
  170. eolib/protocol/_generated/net/server/barber_open_server_packet.py +7 -3
  171. eolib/protocol/_generated/net/server/big_coords.py +10 -6
  172. eolib/protocol/_generated/net/server/board_open_server_packet.py +19 -15
  173. eolib/protocol/_generated/net/server/board_player_server_packet.py +12 -6
  174. eolib/protocol/_generated/net/server/board_post_listing.py +17 -11
  175. eolib/protocol/_generated/net/server/book_reply_server_packet.py +17 -12
  176. eolib/protocol/_generated/net/server/cast_accept_server_packet.py +19 -15
  177. eolib/protocol/_generated/net/server/cast_reply_server_packet.py +28 -24
  178. eolib/protocol/_generated/net/server/cast_spec_server_packet.py +16 -12
  179. eolib/protocol/_generated/net/server/chair_close_server_packet.py +10 -6
  180. eolib/protocol/_generated/net/server/chair_player_server_packet.py +13 -9
  181. eolib/protocol/_generated/net/server/chair_remove_server_packet.py +10 -6
  182. eolib/protocol/_generated/net/server/chair_reply_server_packet.py +13 -9
  183. eolib/protocol/_generated/net/server/character_base_stats.py +22 -18
  184. eolib/protocol/_generated/net/server/character_base_stats_welcome.py +22 -18
  185. eolib/protocol/_generated/net/server/character_details.py +42 -36
  186. eolib/protocol/_generated/net/server/character_elemental_stats.py +22 -18
  187. eolib/protocol/_generated/net/server/character_map_info.py +70 -64
  188. eolib/protocol/_generated/net/server/character_player_server_packet.py +10 -6
  189. eolib/protocol/_generated/net/server/character_reply_server_packet.py +108 -79
  190. eolib/protocol/_generated/net/server/character_secondary_stats.py +19 -15
  191. eolib/protocol/_generated/net/server/character_secondary_stats_info_lookup.py +19 -15
  192. eolib/protocol/_generated/net/server/character_selection_list_entry.py +34 -28
  193. eolib/protocol/_generated/net/server/character_stats_equipment_change.py +16 -12
  194. eolib/protocol/_generated/net/server/character_stats_info_lookup.py +25 -21
  195. eolib/protocol/_generated/net/server/character_stats_reset.py +31 -27
  196. eolib/protocol/_generated/net/server/character_stats_update.py +22 -18
  197. eolib/protocol/_generated/net/server/character_stats_welcome.py +34 -30
  198. eolib/protocol/_generated/net/server/chest_agree_server_packet.py +8 -4
  199. eolib/protocol/_generated/net/server/chest_close_server_packet.py +13 -6
  200. eolib/protocol/_generated/net/server/chest_get_server_packet.py +14 -10
  201. eolib/protocol/_generated/net/server/chest_open_server_packet.py +11 -7
  202. eolib/protocol/_generated/net/server/chest_reply_server_packet.py +17 -13
  203. eolib/protocol/_generated/net/server/chest_spec_server_packet.py +5 -4
  204. eolib/protocol/_generated/net/server/citizen_accept_server_packet.py +7 -3
  205. eolib/protocol/_generated/net/server/citizen_open_server_packet.py +24 -18
  206. eolib/protocol/_generated/net/server/citizen_remove_server_packet.py +7 -3
  207. eolib/protocol/_generated/net/server/citizen_reply_server_packet.py +7 -3
  208. eolib/protocol/_generated/net/server/citizen_request_server_packet.py +7 -3
  209. eolib/protocol/_generated/net/server/connection_player_server_packet.py +10 -6
  210. eolib/protocol/_generated/net/server/dialog_entry.py +24 -17
  211. eolib/protocol/_generated/net/server/dialog_quest_entry.py +10 -6
  212. eolib/protocol/_generated/net/server/door_close_server_packet.py +7 -3
  213. eolib/protocol/_generated/net/server/door_open_server_packet.py +8 -4
  214. eolib/protocol/_generated/net/server/effect_admin_server_packet.py +16 -12
  215. eolib/protocol/_generated/net/server/effect_agree_server_packet.py +10 -6
  216. eolib/protocol/_generated/net/server/effect_player_server_packet.py +10 -6
  217. eolib/protocol/_generated/net/server/effect_report_server_packet.py +5 -4
  218. eolib/protocol/_generated/net/server/effect_spec_server_packet.py +44 -33
  219. eolib/protocol/_generated/net/server/effect_target_other_server_packet.py +17 -13
  220. eolib/protocol/_generated/net/server/effect_use_server_packet.py +21 -14
  221. eolib/protocol/_generated/net/server/emote_player_server_packet.py +10 -6
  222. eolib/protocol/_generated/net/server/equipment_change.py +20 -16
  223. eolib/protocol/_generated/net/server/equipment_character_select.py +19 -15
  224. eolib/protocol/_generated/net/server/equipment_map_info.py +23 -19
  225. eolib/protocol/_generated/net/server/equipment_paperdoll.py +50 -46
  226. eolib/protocol/_generated/net/server/equipment_welcome.py +49 -45
  227. eolib/protocol/_generated/net/server/face_player_server_packet.py +10 -6
  228. eolib/protocol/_generated/net/server/global_backfill_message.py +13 -7
  229. eolib/protocol/_generated/net/server/group_heal_target_player.py +13 -9
  230. eolib/protocol/_generated/net/server/guild_accept_server_packet.py +7 -3
  231. eolib/protocol/_generated/net/server/guild_agree_server_packet.py +22 -16
  232. eolib/protocol/_generated/net/server/guild_buy_server_packet.py +8 -4
  233. eolib/protocol/_generated/net/server/guild_create_server_packet.py +25 -19
  234. eolib/protocol/_generated/net/server/guild_kick_server_packet.py +5 -4
  235. eolib/protocol/_generated/net/server/guild_member.py +17 -11
  236. eolib/protocol/_generated/net/server/guild_open_server_packet.py +7 -3
  237. eolib/protocol/_generated/net/server/guild_rank_server_packet.py +13 -9
  238. eolib/protocol/_generated/net/server/guild_reply_server_packet.py +46 -31
  239. eolib/protocol/_generated/net/server/guild_report_server_packet.py +44 -42
  240. eolib/protocol/_generated/net/server/guild_request_server_packet.py +10 -6
  241. eolib/protocol/_generated/net/server/guild_sell_server_packet.py +7 -3
  242. eolib/protocol/_generated/net/server/guild_staff.py +13 -7
  243. eolib/protocol/_generated/net/server/guild_take_server_packet.py +7 -3
  244. eolib/protocol/_generated/net/server/guild_tell_server_packet.py +17 -13
  245. eolib/protocol/_generated/net/server/init_ban_type.py +1 -1
  246. eolib/protocol/_generated/net/server/init_init_server_packet.py +186 -124
  247. eolib/protocol/_generated/net/server/init_reply.py +3 -0
  248. eolib/protocol/_generated/net/server/item_accept_server_packet.py +7 -3
  249. eolib/protocol/_generated/net/server/item_add_server_packet.py +16 -12
  250. eolib/protocol/_generated/net/server/item_agree_server_packet.py +8 -4
  251. eolib/protocol/_generated/net/server/item_drop_server_packet.py +19 -15
  252. eolib/protocol/_generated/net/server/item_get_server_packet.py +13 -9
  253. eolib/protocol/_generated/net/server/item_junk_server_packet.py +13 -9
  254. eolib/protocol/_generated/net/server/item_kick_server_packet.py +10 -6
  255. eolib/protocol/_generated/net/server/item_map_info.py +16 -12
  256. eolib/protocol/_generated/net/server/item_obtain_server_packet.py +10 -6
  257. eolib/protocol/_generated/net/server/item_remove_server_packet.py +7 -3
  258. eolib/protocol/_generated/net/server/item_reply_server_packet.py +97 -74
  259. eolib/protocol/_generated/net/server/item_spec_server_packet.py +5 -4
  260. eolib/protocol/_generated/net/server/jukebox_agree_server_packet.py +7 -3
  261. eolib/protocol/_generated/net/server/jukebox_msg_server_packet.py +16 -12
  262. eolib/protocol/_generated/net/server/jukebox_open_server_packet.py +10 -6
  263. eolib/protocol/_generated/net/server/jukebox_player_server_packet.py +7 -3
  264. eolib/protocol/_generated/net/server/jukebox_reply_server_packet.py +5 -4
  265. eolib/protocol/_generated/net/server/jukebox_use_server_packet.py +11 -3
  266. eolib/protocol/_generated/net/server/level_up_stats.py +22 -18
  267. eolib/protocol/_generated/net/server/locker_buy_server_packet.py +10 -6
  268. eolib/protocol/_generated/net/server/locker_get_server_packet.py +14 -10
  269. eolib/protocol/_generated/net/server/locker_open_server_packet.py +11 -7
  270. eolib/protocol/_generated/net/server/locker_reply_server_packet.py +14 -10
  271. eolib/protocol/_generated/net/server/locker_spec_server_packet.py +7 -3
  272. eolib/protocol/_generated/net/server/login_reply.py +6 -0
  273. eolib/protocol/_generated/net/server/login_reply_server_packet.py +77 -50
  274. eolib/protocol/_generated/net/server/map_drain_damage_other.py +13 -9
  275. eolib/protocol/_generated/net/server/map_file.py +7 -3
  276. eolib/protocol/_generated/net/server/marriage_open_server_packet.py +7 -3
  277. eolib/protocol/_generated/net/server/marriage_reply_server_packet.py +21 -14
  278. eolib/protocol/_generated/net/server/message_accept_server_packet.py +13 -9
  279. eolib/protocol/_generated/net/server/message_close_server_packet.py +5 -4
  280. eolib/protocol/_generated/net/server/message_open_server_packet.py +7 -3
  281. eolib/protocol/_generated/net/server/message_pong_server_packet.py +5 -4
  282. eolib/protocol/_generated/net/server/music_player_server_packet.py +7 -3
  283. eolib/protocol/_generated/net/server/nearby_info.py +26 -22
  284. eolib/protocol/_generated/net/server/npc_accept_server_packet.py +13 -9
  285. eolib/protocol/_generated/net/server/npc_agree_server_packet.py +16 -12
  286. eolib/protocol/_generated/net/server/npc_dialog_server_packet.py +10 -6
  287. eolib/protocol/_generated/net/server/npc_junk_server_packet.py +7 -3
  288. eolib/protocol/_generated/net/server/npc_killed_data.py +28 -24
  289. eolib/protocol/_generated/net/server/npc_map_info.py +16 -12
  290. eolib/protocol/_generated/net/server/npc_player_server_packet.py +27 -21
  291. eolib/protocol/_generated/net/server/npc_reply_server_packet.py +22 -18
  292. eolib/protocol/_generated/net/server/npc_spec_server_packet.py +10 -6
  293. eolib/protocol/_generated/net/server/npc_update_attack.py +22 -18
  294. eolib/protocol/_generated/net/server/npc_update_chat.py +15 -11
  295. eolib/protocol/_generated/net/server/npc_update_position.py +13 -9
  296. eolib/protocol/_generated/net/server/online_player.py +26 -20
  297. eolib/protocol/_generated/net/server/paperdoll_agree_server_packet.py +19 -15
  298. eolib/protocol/_generated/net/server/paperdoll_ping_server_packet.py +9 -5
  299. eolib/protocol/_generated/net/server/paperdoll_remove_server_packet.py +16 -12
  300. eolib/protocol/_generated/net/server/paperdoll_reply_server_packet.py +15 -9
  301. eolib/protocol/_generated/net/server/party_add_server_packet.py +7 -3
  302. eolib/protocol/_generated/net/server/party_agree_server_packet.py +10 -6
  303. eolib/protocol/_generated/net/server/party_close_server_packet.py +5 -4
  304. eolib/protocol/_generated/net/server/party_create_server_packet.py +10 -5
  305. eolib/protocol/_generated/net/server/party_exp_share.py +16 -12
  306. eolib/protocol/_generated/net/server/party_list_server_packet.py +10 -5
  307. eolib/protocol/_generated/net/server/party_member.py +20 -16
  308. eolib/protocol/_generated/net/server/party_remove_server_packet.py +7 -3
  309. eolib/protocol/_generated/net/server/party_reply_server_packet.py +32 -21
  310. eolib/protocol/_generated/net/server/party_request_server_packet.py +13 -9
  311. eolib/protocol/_generated/net/server/party_target_group_server_packet.py +8 -4
  312. eolib/protocol/_generated/net/server/players_agree_server_packet.py +7 -3
  313. eolib/protocol/_generated/net/server/players_list.py +17 -13
  314. eolib/protocol/_generated/net/server/players_list_friends.py +17 -13
  315. eolib/protocol/_generated/net/server/players_list_server_packet.py +9 -3
  316. eolib/protocol/_generated/net/server/players_net242_server_packet.py +7 -3
  317. eolib/protocol/_generated/net/server/players_ping_server_packet.py +7 -3
  318. eolib/protocol/_generated/net/server/players_pong_server_packet.py +7 -3
  319. eolib/protocol/_generated/net/server/players_remove_server_packet.py +7 -3
  320. eolib/protocol/_generated/net/server/players_reply_server_packet.py +9 -3
  321. eolib/protocol/_generated/net/server/priest_open_server_packet.py +7 -3
  322. eolib/protocol/_generated/net/server/priest_reply_server_packet.py +7 -3
  323. eolib/protocol/_generated/net/server/priest_request_server_packet.py +10 -6
  324. eolib/protocol/_generated/net/server/pub_file.py +10 -6
  325. eolib/protocol/_generated/net/server/quest_dialog_server_packet.py +33 -30
  326. eolib/protocol/_generated/net/server/quest_list_server_packet.py +39 -28
  327. eolib/protocol/_generated/net/server/quest_progress_entry.py +23 -17
  328. eolib/protocol/_generated/net/server/quest_report_server_packet.py +14 -9
  329. eolib/protocol/_generated/net/server/range_reply_server_packet.py +7 -3
  330. eolib/protocol/_generated/net/server/recover_agree_server_packet.py +13 -9
  331. eolib/protocol/_generated/net/server/recover_list_server_packet.py +10 -6
  332. eolib/protocol/_generated/net/server/recover_player_server_packet.py +10 -6
  333. eolib/protocol/_generated/net/server/recover_reply_server_packet.py +21 -17
  334. eolib/protocol/_generated/net/server/recover_target_group_server_packet.py +19 -15
  335. eolib/protocol/_generated/net/server/refresh_reply_server_packet.py +7 -3
  336. eolib/protocol/_generated/net/server/server_settings.py +25 -21
  337. eolib/protocol/_generated/net/server/shop_buy_server_packet.py +13 -9
  338. eolib/protocol/_generated/net/server/shop_craft_item.py +13 -9
  339. eolib/protocol/_generated/net/server/shop_create_server_packet.py +16 -12
  340. eolib/protocol/_generated/net/server/shop_open_server_packet.py +23 -17
  341. eolib/protocol/_generated/net/server/shop_sell_server_packet.py +13 -9
  342. eolib/protocol/_generated/net/server/shop_sold_item.py +10 -6
  343. eolib/protocol/_generated/net/server/shop_trade_item.py +16 -12
  344. eolib/protocol/_generated/net/server/sit_close_server_packet.py +10 -6
  345. eolib/protocol/_generated/net/server/sit_player_server_packet.py +14 -10
  346. eolib/protocol/_generated/net/server/sit_remove_server_packet.py +10 -6
  347. eolib/protocol/_generated/net/server/sit_reply_server_packet.py +14 -10
  348. eolib/protocol/_generated/net/server/skill_learn.py +25 -21
  349. eolib/protocol/_generated/net/server/spell_error_server_packet.py +5 -4
  350. eolib/protocol/_generated/net/server/spell_player_server_packet.py +10 -6
  351. eolib/protocol/_generated/net/server/spell_request_server_packet.py +10 -6
  352. eolib/protocol/_generated/net/server/spell_target_group_server_packet.py +20 -16
  353. eolib/protocol/_generated/net/server/spell_target_other_server_packet.py +25 -21
  354. eolib/protocol/_generated/net/server/spell_target_self_server_packet.py +22 -18
  355. eolib/protocol/_generated/net/server/stat_skill_accept_server_packet.py +10 -6
  356. eolib/protocol/_generated/net/server/stat_skill_junk_server_packet.py +7 -3
  357. eolib/protocol/_generated/net/server/stat_skill_open_server_packet.py +17 -11
  358. eolib/protocol/_generated/net/server/stat_skill_player_server_packet.py +10 -6
  359. eolib/protocol/_generated/net/server/stat_skill_remove_server_packet.py +7 -3
  360. eolib/protocol/_generated/net/server/stat_skill_reply_server_packet.py +21 -14
  361. eolib/protocol/_generated/net/server/stat_skill_take_server_packet.py +10 -6
  362. eolib/protocol/_generated/net/server/talk_admin_server_packet.py +13 -7
  363. eolib/protocol/_generated/net/server/talk_announce_server_packet.py +13 -7
  364. eolib/protocol/_generated/net/server/talk_list_server_packet.py +10 -5
  365. eolib/protocol/_generated/net/server/talk_msg_server_packet.py +13 -7
  366. eolib/protocol/_generated/net/server/talk_open_server_packet.py +10 -6
  367. eolib/protocol/_generated/net/server/talk_player_server_packet.py +10 -6
  368. eolib/protocol/_generated/net/server/talk_reply_server_packet.py +10 -6
  369. eolib/protocol/_generated/net/server/talk_request_server_packet.py +13 -7
  370. eolib/protocol/_generated/net/server/talk_server_server_packet.py +7 -3
  371. eolib/protocol/_generated/net/server/talk_spec_server_packet.py +7 -3
  372. eolib/protocol/_generated/net/server/talk_tell_server_packet.py +13 -7
  373. eolib/protocol/_generated/net/server/trade_admin_server_packet.py +7 -3
  374. eolib/protocol/_generated/net/server/trade_agree_server_packet.py +10 -6
  375. eolib/protocol/_generated/net/server/trade_close_server_packet.py +7 -3
  376. eolib/protocol/_generated/net/server/trade_item_data.py +22 -16
  377. eolib/protocol/_generated/net/server/trade_open_server_packet.py +20 -14
  378. eolib/protocol/_generated/net/server/trade_reply_server_packet.py +7 -3
  379. eolib/protocol/_generated/net/server/trade_request_server_packet.py +11 -7
  380. eolib/protocol/_generated/net/server/trade_spec_server_packet.py +7 -3
  381. eolib/protocol/_generated/net/server/trade_use_server_packet.py +7 -3
  382. eolib/protocol/_generated/net/server/walk_close_server_packet.py +5 -4
  383. eolib/protocol/_generated/net/server/walk_open_server_packet.py +5 -4
  384. eolib/protocol/_generated/net/server/walk_player_server_packet.py +13 -9
  385. eolib/protocol/_generated/net/server/walk_reply_server_packet.py +20 -14
  386. eolib/protocol/_generated/net/server/warp_agree_server_packet.py +29 -20
  387. eolib/protocol/_generated/net/server/warp_create_server_packet.py +7 -3
  388. eolib/protocol/_generated/net/server/warp_player_server_packet.py +7 -3
  389. eolib/protocol/_generated/net/server/warp_request_server_packet.py +33 -26
  390. eolib/protocol/_generated/net/server/welcome_net242_server_packet.py +7 -3
  391. eolib/protocol/_generated/net/server/welcome_net243_server_packet.py +7 -3
  392. eolib/protocol/_generated/net/server/welcome_net244_server_packet.py +7 -3
  393. eolib/protocol/_generated/net/server/welcome_ping_server_packet.py +7 -3
  394. eolib/protocol/_generated/net/server/welcome_pong_server_packet.py +7 -3
  395. eolib/protocol/_generated/net/server/welcome_reply_server_packet.py +158 -147
  396. eolib/protocol/_generated/net/spell.py +10 -6
  397. eolib/protocol/_generated/net/three_item.py +10 -6
  398. eolib/protocol/_generated/net/version.py +13 -9
  399. eolib/protocol/_generated/net/weight.py +10 -6
  400. eolib/protocol/_generated/pub/ecf.py +21 -17
  401. eolib/protocol/_generated/pub/ecf_record.py +36 -32
  402. eolib/protocol/_generated/pub/eif.py +21 -17
  403. eolib/protocol/_generated/pub/eif_record.py +130 -126
  404. eolib/protocol/_generated/pub/enf.py +21 -17
  405. eolib/protocol/_generated/pub/enf_record.py +72 -68
  406. eolib/protocol/_generated/pub/esf.py +21 -17
  407. eolib/protocol/_generated/pub/esf_record.py +106 -102
  408. eolib/protocol/_generated/pub/server/__init__.py +30 -0
  409. eolib/protocol/_generated/pub/server/drop_file.py +81 -0
  410. eolib/protocol/_generated/pub/server/drop_npc_record.py +116 -0
  411. eolib/protocol/_generated/pub/server/drop_record.py +149 -0
  412. eolib/protocol/_generated/pub/server/inn_file.py +81 -0
  413. eolib/protocol/_generated/pub/server/inn_question_record.py +119 -0
  414. eolib/protocol/_generated/pub/server/inn_record.py +383 -0
  415. eolib/protocol/_generated/pub/server/shop_craft_ingredient_record.py +107 -0
  416. eolib/protocol/_generated/pub/server/shop_craft_record.py +110 -0
  417. eolib/protocol/_generated/pub/server/shop_file.py +81 -0
  418. eolib/protocol/_generated/pub/server/shop_record.py +253 -0
  419. eolib/protocol/_generated/pub/server/shop_trade_record.py +157 -0
  420. eolib/protocol/_generated/pub/server/skill_master_file.py +81 -0
  421. eolib/protocol/_generated/pub/server/skill_master_record.py +224 -0
  422. eolib/protocol/_generated/pub/server/skill_master_skill_record.py +336 -0
  423. eolib/protocol/_generated/pub/server/talk_file.py +81 -0
  424. eolib/protocol/_generated/pub/server/talk_message_record.py +90 -0
  425. eolib/protocol/_generated/pub/server/talk_record.py +145 -0
  426. eolib/protocol/protocol_enum_meta.py +1 -3
  427. eolib/protocol/pub/server/__init__.py +8 -0
  428. {eolib-1.1.1.dist-info → eolib-1.2.0.dist-info}/METADATA +5 -3
  429. {eolib-1.1.1.dist-info → eolib-1.2.0.dist-info}/RECORD +431 -412
  430. {eolib-1.1.1.dist-info → eolib-1.2.0.dist-info}/WHEEL +1 -1
  431. {eolib-1.1.1.dist-info → eolib-1.2.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -94,57 +94,61 @@ class InitInitServerPacket(Packet):
94
94
  writer (EoWriter): The writer that the data will be serialized to.
95
95
  data (InitInitServerPacket): The data to serialize.
96
96
  """
97
- if data._reply_code is None:
98
- raise SerializationError("reply_code must be provided.")
99
- writer.add_byte(int(data._reply_code))
100
- if data._reply_code == InitReply.OutOfDate:
101
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataOutOfDate):
102
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataOutOfDate for reply_code " + InitReply(data._reply_code).name + ".")
103
- InitInitServerPacket.ReplyCodeDataOutOfDate.serialize(writer, data._reply_code_data)
104
- elif data._reply_code == InitReply.Ok:
105
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataOk):
106
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataOk for reply_code " + InitReply(data._reply_code).name + ".")
107
- InitInitServerPacket.ReplyCodeDataOk.serialize(writer, data._reply_code_data)
108
- elif data._reply_code == InitReply.Banned:
109
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataBanned):
110
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataBanned for reply_code " + InitReply(data._reply_code).name + ".")
111
- InitInitServerPacket.ReplyCodeDataBanned.serialize(writer, data._reply_code_data)
112
- elif data._reply_code == InitReply.WarpMap:
113
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataWarpMap):
114
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataWarpMap for reply_code " + InitReply(data._reply_code).name + ".")
115
- InitInitServerPacket.ReplyCodeDataWarpMap.serialize(writer, data._reply_code_data)
116
- elif data._reply_code == InitReply.FileEmf:
117
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEmf):
118
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEmf for reply_code " + InitReply(data._reply_code).name + ".")
119
- InitInitServerPacket.ReplyCodeDataFileEmf.serialize(writer, data._reply_code_data)
120
- elif data._reply_code == InitReply.FileEif:
121
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEif):
122
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEif for reply_code " + InitReply(data._reply_code).name + ".")
123
- InitInitServerPacket.ReplyCodeDataFileEif.serialize(writer, data._reply_code_data)
124
- elif data._reply_code == InitReply.FileEnf:
125
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEnf):
126
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEnf for reply_code " + InitReply(data._reply_code).name + ".")
127
- InitInitServerPacket.ReplyCodeDataFileEnf.serialize(writer, data._reply_code_data)
128
- elif data._reply_code == InitReply.FileEsf:
129
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEsf):
130
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEsf for reply_code " + InitReply(data._reply_code).name + ".")
131
- InitInitServerPacket.ReplyCodeDataFileEsf.serialize(writer, data._reply_code_data)
132
- elif data._reply_code == InitReply.FileEcf:
133
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEcf):
134
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEcf for reply_code " + InitReply(data._reply_code).name + ".")
135
- InitInitServerPacket.ReplyCodeDataFileEcf.serialize(writer, data._reply_code_data)
136
- elif data._reply_code == InitReply.MapMutation:
137
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataMapMutation):
138
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataMapMutation for reply_code " + InitReply(data._reply_code).name + ".")
139
- InitInitServerPacket.ReplyCodeDataMapMutation.serialize(writer, data._reply_code_data)
140
- elif data._reply_code == InitReply.PlayersList:
141
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataPlayersList):
142
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataPlayersList for reply_code " + InitReply(data._reply_code).name + ".")
143
- InitInitServerPacket.ReplyCodeDataPlayersList.serialize(writer, data._reply_code_data)
144
- elif data._reply_code == InitReply.PlayersListFriends:
145
- if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataPlayersListFriends):
146
- raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataPlayersListFriends for reply_code " + InitReply(data._reply_code).name + ".")
147
- InitInitServerPacket.ReplyCodeDataPlayersListFriends.serialize(writer, data._reply_code_data)
97
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
98
+ try:
99
+ if data._reply_code is None:
100
+ raise SerializationError("reply_code must be provided.")
101
+ writer.add_byte(int(data._reply_code))
102
+ if data._reply_code == InitReply.OutOfDate:
103
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataOutOfDate):
104
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataOutOfDate for reply_code " + InitReply(data._reply_code).name + ".")
105
+ InitInitServerPacket.ReplyCodeDataOutOfDate.serialize(writer, data._reply_code_data)
106
+ elif data._reply_code == InitReply.Ok:
107
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataOk):
108
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataOk for reply_code " + InitReply(data._reply_code).name + ".")
109
+ InitInitServerPacket.ReplyCodeDataOk.serialize(writer, data._reply_code_data)
110
+ elif data._reply_code == InitReply.Banned:
111
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataBanned):
112
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataBanned for reply_code " + InitReply(data._reply_code).name + ".")
113
+ InitInitServerPacket.ReplyCodeDataBanned.serialize(writer, data._reply_code_data)
114
+ elif data._reply_code == InitReply.WarpMap:
115
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataWarpMap):
116
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataWarpMap for reply_code " + InitReply(data._reply_code).name + ".")
117
+ InitInitServerPacket.ReplyCodeDataWarpMap.serialize(writer, data._reply_code_data)
118
+ elif data._reply_code == InitReply.FileEmf:
119
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEmf):
120
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEmf for reply_code " + InitReply(data._reply_code).name + ".")
121
+ InitInitServerPacket.ReplyCodeDataFileEmf.serialize(writer, data._reply_code_data)
122
+ elif data._reply_code == InitReply.FileEif:
123
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEif):
124
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEif for reply_code " + InitReply(data._reply_code).name + ".")
125
+ InitInitServerPacket.ReplyCodeDataFileEif.serialize(writer, data._reply_code_data)
126
+ elif data._reply_code == InitReply.FileEnf:
127
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEnf):
128
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEnf for reply_code " + InitReply(data._reply_code).name + ".")
129
+ InitInitServerPacket.ReplyCodeDataFileEnf.serialize(writer, data._reply_code_data)
130
+ elif data._reply_code == InitReply.FileEsf:
131
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEsf):
132
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEsf for reply_code " + InitReply(data._reply_code).name + ".")
133
+ InitInitServerPacket.ReplyCodeDataFileEsf.serialize(writer, data._reply_code_data)
134
+ elif data._reply_code == InitReply.FileEcf:
135
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataFileEcf):
136
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataFileEcf for reply_code " + InitReply(data._reply_code).name + ".")
137
+ InitInitServerPacket.ReplyCodeDataFileEcf.serialize(writer, data._reply_code_data)
138
+ elif data._reply_code == InitReply.MapMutation:
139
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataMapMutation):
140
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataMapMutation for reply_code " + InitReply(data._reply_code).name + ".")
141
+ InitInitServerPacket.ReplyCodeDataMapMutation.serialize(writer, data._reply_code_data)
142
+ elif data._reply_code == InitReply.PlayersList:
143
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataPlayersList):
144
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataPlayersList for reply_code " + InitReply(data._reply_code).name + ".")
145
+ InitInitServerPacket.ReplyCodeDataPlayersList.serialize(writer, data._reply_code_data)
146
+ elif data._reply_code == InitReply.PlayersListFriends:
147
+ if not isinstance(data._reply_code_data, InitInitServerPacket.ReplyCodeDataPlayersListFriends):
148
+ raise SerializationError("Expected reply_code_data to be type InitInitServerPacket.ReplyCodeDataPlayersListFriends for reply_code " + InitReply(data._reply_code).name + ".")
149
+ InitInitServerPacket.ReplyCodeDataPlayersListFriends.serialize(writer, data._reply_code_data)
150
+ finally:
151
+ writer.string_sanitization_mode = old_string_sanitization_mode
148
152
 
149
153
  @staticmethod
150
154
  def deserialize(reader: EoReader) -> "InitInitServerPacket":
@@ -195,10 +199,9 @@ class InitInitServerPacket(Packet):
195
199
  return f"InitInitServerPacket(byte_size={repr(self._byte_size)}, reply_code={repr(self._reply_code)}, reply_code_data={repr(self._reply_code_data)})"
196
200
 
197
201
  ReplyCodeData = Union['InitInitServerPacket.ReplyCodeDataOutOfDate', 'InitInitServerPacket.ReplyCodeDataOk', 'InitInitServerPacket.ReplyCodeDataBanned', 'InitInitServerPacket.ReplyCodeDataWarpMap', 'InitInitServerPacket.ReplyCodeDataFileEmf', 'InitInitServerPacket.ReplyCodeDataFileEif', 'InitInitServerPacket.ReplyCodeDataFileEnf', 'InitInitServerPacket.ReplyCodeDataFileEsf', 'InitInitServerPacket.ReplyCodeDataFileEcf', 'InitInitServerPacket.ReplyCodeDataMapMutation', 'InitInitServerPacket.ReplyCodeDataPlayersList', 'InitInitServerPacket.ReplyCodeDataPlayersListFriends', None]
198
- ReplyCodeData.__doc__ = \
199
- """
200
- Data associated with different values of the `reply_code` field.
201
- """
202
+ """
203
+ Data associated with different values of the `reply_code` field.
204
+ """
202
205
 
203
206
  class ReplyCodeDataOutOfDate:
204
207
  """
@@ -234,9 +237,13 @@ class InitInitServerPacket(Packet):
234
237
  writer (EoWriter): The writer that the data will be serialized to.
235
238
  data (InitInitServerPacket.ReplyCodeDataOutOfDate): The data to serialize.
236
239
  """
237
- if data._version is None:
238
- raise SerializationError("version must be provided.")
239
- Version.serialize(writer, data._version)
240
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
241
+ try:
242
+ if data._version is None:
243
+ raise SerializationError("version must be provided.")
244
+ Version.serialize(writer, data._version)
245
+ finally:
246
+ writer.string_sanitization_mode = old_string_sanitization_mode
240
247
 
241
248
  @staticmethod
242
249
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataOutOfDate":
@@ -389,24 +396,28 @@ class InitInitServerPacket(Packet):
389
396
  writer (EoWriter): The writer that the data will be serialized to.
390
397
  data (InitInitServerPacket.ReplyCodeDataOk): The data to serialize.
391
398
  """
392
- if data._seq1 is None:
393
- raise SerializationError("seq1 must be provided.")
394
- writer.add_byte(data._seq1)
395
- if data._seq2 is None:
396
- raise SerializationError("seq2 must be provided.")
397
- writer.add_byte(data._seq2)
398
- if data._server_encryption_multiple is None:
399
- raise SerializationError("server_encryption_multiple must be provided.")
400
- writer.add_byte(data._server_encryption_multiple)
401
- if data._client_encryption_multiple is None:
402
- raise SerializationError("client_encryption_multiple must be provided.")
403
- writer.add_byte(data._client_encryption_multiple)
404
- if data._player_id is None:
405
- raise SerializationError("player_id must be provided.")
406
- writer.add_short(data._player_id)
407
- if data._challenge_response is None:
408
- raise SerializationError("challenge_response must be provided.")
409
- writer.add_three(data._challenge_response)
399
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
400
+ try:
401
+ if data._seq1 is None:
402
+ raise SerializationError("seq1 must be provided.")
403
+ writer.add_byte(data._seq1)
404
+ if data._seq2 is None:
405
+ raise SerializationError("seq2 must be provided.")
406
+ writer.add_byte(data._seq2)
407
+ if data._server_encryption_multiple is None:
408
+ raise SerializationError("server_encryption_multiple must be provided.")
409
+ writer.add_byte(data._server_encryption_multiple)
410
+ if data._client_encryption_multiple is None:
411
+ raise SerializationError("client_encryption_multiple must be provided.")
412
+ writer.add_byte(data._client_encryption_multiple)
413
+ if data._player_id is None:
414
+ raise SerializationError("player_id must be provided.")
415
+ writer.add_short(data._player_id)
416
+ if data._challenge_response is None:
417
+ raise SerializationError("challenge_response must be provided.")
418
+ writer.add_three(data._challenge_response)
419
+ finally:
420
+ writer.string_sanitization_mode = old_string_sanitization_mode
410
421
 
411
422
  @staticmethod
412
423
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataOk":
@@ -483,17 +494,21 @@ class InitInitServerPacket(Packet):
483
494
  writer (EoWriter): The writer that the data will be serialized to.
484
495
  data (InitInitServerPacket.ReplyCodeDataBanned): The data to serialize.
485
496
  """
486
- if data._ban_type is None:
487
- raise SerializationError("ban_type must be provided.")
488
- writer.add_byte(int(data._ban_type))
489
- if data._ban_type == 0:
490
- if not isinstance(data._ban_type_data, InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0):
491
- raise SerializationError("Expected ban_type_data to be type InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0 for ban_type " + InitBanType(data._ban_type).name + ".")
492
- InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0.serialize(writer, data._ban_type_data)
493
- elif data._ban_type == InitBanType.Temporary:
494
- if not isinstance(data._ban_type_data, InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary):
495
- raise SerializationError("Expected ban_type_data to be type InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary for ban_type " + InitBanType(data._ban_type).name + ".")
496
- InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary.serialize(writer, data._ban_type_data)
497
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
498
+ try:
499
+ if data._ban_type is None:
500
+ raise SerializationError("ban_type must be provided.")
501
+ writer.add_byte(int(data._ban_type))
502
+ if data._ban_type == 0:
503
+ if not isinstance(data._ban_type_data, InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0):
504
+ raise SerializationError("Expected ban_type_data to be type InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0 for ban_type " + InitBanType(data._ban_type).name + ".")
505
+ InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0.serialize(writer, data._ban_type_data)
506
+ elif data._ban_type == InitBanType.Temporary:
507
+ if not isinstance(data._ban_type_data, InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary):
508
+ raise SerializationError("Expected ban_type_data to be type InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary for ban_type " + InitBanType(data._ban_type).name + ".")
509
+ InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary.serialize(writer, data._ban_type_data)
510
+ finally:
511
+ writer.string_sanitization_mode = old_string_sanitization_mode
497
512
 
498
513
  @staticmethod
499
514
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataBanned":
@@ -524,10 +539,9 @@ class InitInitServerPacket(Packet):
524
539
  return f"InitInitServerPacket.ReplyCodeDataBanned(byte_size={repr(self._byte_size)}, ban_type={repr(self._ban_type)}, ban_type_data={repr(self._ban_type_data)})"
525
540
 
526
541
  BanTypeData = Union['InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0', 'InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary', None]
527
- BanTypeData.__doc__ = \
528
- """
529
- Data associated with different values of the `ban_type` field.
530
- """
542
+ """
543
+ Data associated with different values of the `ban_type` field.
544
+ """
531
545
 
532
546
  class BanTypeData0:
533
547
  """
@@ -575,9 +589,13 @@ class InitInitServerPacket(Packet):
575
589
  writer (EoWriter): The writer that the data will be serialized to.
576
590
  data (InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0): The data to serialize.
577
591
  """
578
- if data._minutes_remaining is None:
579
- raise SerializationError("minutes_remaining must be provided.")
580
- writer.add_byte(data._minutes_remaining)
592
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
593
+ try:
594
+ if data._minutes_remaining is None:
595
+ raise SerializationError("minutes_remaining must be provided.")
596
+ writer.add_byte(data._minutes_remaining)
597
+ finally:
598
+ writer.string_sanitization_mode = old_string_sanitization_mode
581
599
 
582
600
  @staticmethod
583
601
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataBanned.BanTypeData0":
@@ -645,9 +663,13 @@ class InitInitServerPacket(Packet):
645
663
  writer (EoWriter): The writer that the data will be serialized to.
646
664
  data (InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary): The data to serialize.
647
665
  """
648
- if data._minutes_remaining is None:
649
- raise SerializationError("minutes_remaining must be provided.")
650
- writer.add_byte(data._minutes_remaining)
666
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
667
+ try:
668
+ if data._minutes_remaining is None:
669
+ raise SerializationError("minutes_remaining must be provided.")
670
+ writer.add_byte(data._minutes_remaining)
671
+ finally:
672
+ writer.string_sanitization_mode = old_string_sanitization_mode
651
673
 
652
674
  @staticmethod
653
675
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataBanned.BanTypeDataTemporary":
@@ -707,9 +729,13 @@ class InitInitServerPacket(Packet):
707
729
  writer (EoWriter): The writer that the data will be serialized to.
708
730
  data (InitInitServerPacket.ReplyCodeDataWarpMap): The data to serialize.
709
731
  """
710
- if data._map_file is None:
711
- raise SerializationError("map_file must be provided.")
712
- MapFile.serialize(writer, data._map_file)
732
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
733
+ try:
734
+ if data._map_file is None:
735
+ raise SerializationError("map_file must be provided.")
736
+ MapFile.serialize(writer, data._map_file)
737
+ finally:
738
+ writer.string_sanitization_mode = old_string_sanitization_mode
713
739
 
714
740
  @staticmethod
715
741
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataWarpMap":
@@ -769,9 +795,13 @@ class InitInitServerPacket(Packet):
769
795
  writer (EoWriter): The writer that the data will be serialized to.
770
796
  data (InitInitServerPacket.ReplyCodeDataFileEmf): The data to serialize.
771
797
  """
772
- if data._map_file is None:
773
- raise SerializationError("map_file must be provided.")
774
- MapFile.serialize(writer, data._map_file)
798
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
799
+ try:
800
+ if data._map_file is None:
801
+ raise SerializationError("map_file must be provided.")
802
+ MapFile.serialize(writer, data._map_file)
803
+ finally:
804
+ writer.string_sanitization_mode = old_string_sanitization_mode
775
805
 
776
806
  @staticmethod
777
807
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataFileEmf":
@@ -831,9 +861,13 @@ class InitInitServerPacket(Packet):
831
861
  writer (EoWriter): The writer that the data will be serialized to.
832
862
  data (InitInitServerPacket.ReplyCodeDataFileEif): The data to serialize.
833
863
  """
834
- if data._pub_file is None:
835
- raise SerializationError("pub_file must be provided.")
836
- PubFile.serialize(writer, data._pub_file)
864
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
865
+ try:
866
+ if data._pub_file is None:
867
+ raise SerializationError("pub_file must be provided.")
868
+ PubFile.serialize(writer, data._pub_file)
869
+ finally:
870
+ writer.string_sanitization_mode = old_string_sanitization_mode
837
871
 
838
872
  @staticmethod
839
873
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataFileEif":
@@ -893,9 +927,13 @@ class InitInitServerPacket(Packet):
893
927
  writer (EoWriter): The writer that the data will be serialized to.
894
928
  data (InitInitServerPacket.ReplyCodeDataFileEnf): The data to serialize.
895
929
  """
896
- if data._pub_file is None:
897
- raise SerializationError("pub_file must be provided.")
898
- PubFile.serialize(writer, data._pub_file)
930
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
931
+ try:
932
+ if data._pub_file is None:
933
+ raise SerializationError("pub_file must be provided.")
934
+ PubFile.serialize(writer, data._pub_file)
935
+ finally:
936
+ writer.string_sanitization_mode = old_string_sanitization_mode
899
937
 
900
938
  @staticmethod
901
939
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataFileEnf":
@@ -955,9 +993,13 @@ class InitInitServerPacket(Packet):
955
993
  writer (EoWriter): The writer that the data will be serialized to.
956
994
  data (InitInitServerPacket.ReplyCodeDataFileEsf): The data to serialize.
957
995
  """
958
- if data._pub_file is None:
959
- raise SerializationError("pub_file must be provided.")
960
- PubFile.serialize(writer, data._pub_file)
996
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
997
+ try:
998
+ if data._pub_file is None:
999
+ raise SerializationError("pub_file must be provided.")
1000
+ PubFile.serialize(writer, data._pub_file)
1001
+ finally:
1002
+ writer.string_sanitization_mode = old_string_sanitization_mode
961
1003
 
962
1004
  @staticmethod
963
1005
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataFileEsf":
@@ -1017,9 +1059,13 @@ class InitInitServerPacket(Packet):
1017
1059
  writer (EoWriter): The writer that the data will be serialized to.
1018
1060
  data (InitInitServerPacket.ReplyCodeDataFileEcf): The data to serialize.
1019
1061
  """
1020
- if data._pub_file is None:
1021
- raise SerializationError("pub_file must be provided.")
1022
- PubFile.serialize(writer, data._pub_file)
1062
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
1063
+ try:
1064
+ if data._pub_file is None:
1065
+ raise SerializationError("pub_file must be provided.")
1066
+ PubFile.serialize(writer, data._pub_file)
1067
+ finally:
1068
+ writer.string_sanitization_mode = old_string_sanitization_mode
1023
1069
 
1024
1070
  @staticmethod
1025
1071
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataFileEcf":
@@ -1079,9 +1125,13 @@ class InitInitServerPacket(Packet):
1079
1125
  writer (EoWriter): The writer that the data will be serialized to.
1080
1126
  data (InitInitServerPacket.ReplyCodeDataMapMutation): The data to serialize.
1081
1127
  """
1082
- if data._map_file is None:
1083
- raise SerializationError("map_file must be provided.")
1084
- MapFile.serialize(writer, data._map_file)
1128
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
1129
+ try:
1130
+ if data._map_file is None:
1131
+ raise SerializationError("map_file must be provided.")
1132
+ MapFile.serialize(writer, data._map_file)
1133
+ finally:
1134
+ writer.string_sanitization_mode = old_string_sanitization_mode
1085
1135
 
1086
1136
  @staticmethod
1087
1137
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataMapMutation":
@@ -1141,9 +1191,15 @@ class InitInitServerPacket(Packet):
1141
1191
  writer (EoWriter): The writer that the data will be serialized to.
1142
1192
  data (InitInitServerPacket.ReplyCodeDataPlayersList): The data to serialize.
1143
1193
  """
1144
- if data._players_list is None:
1145
- raise SerializationError("players_list must be provided.")
1146
- PlayersList.serialize(writer, data._players_list)
1194
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
1195
+ try:
1196
+ writer.string_sanitization_mode = True
1197
+ if data._players_list is None:
1198
+ raise SerializationError("players_list must be provided.")
1199
+ PlayersList.serialize(writer, data._players_list)
1200
+ writer.string_sanitization_mode = False
1201
+ finally:
1202
+ writer.string_sanitization_mode = old_string_sanitization_mode
1147
1203
 
1148
1204
  @staticmethod
1149
1205
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataPlayersList":
@@ -1205,9 +1261,15 @@ class InitInitServerPacket(Packet):
1205
1261
  writer (EoWriter): The writer that the data will be serialized to.
1206
1262
  data (InitInitServerPacket.ReplyCodeDataPlayersListFriends): The data to serialize.
1207
1263
  """
1208
- if data._players_list is None:
1209
- raise SerializationError("players_list must be provided.")
1210
- PlayersListFriends.serialize(writer, data._players_list)
1264
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
1265
+ try:
1266
+ writer.string_sanitization_mode = True
1267
+ if data._players_list is None:
1268
+ raise SerializationError("players_list must be provided.")
1269
+ PlayersListFriends.serialize(writer, data._players_list)
1270
+ writer.string_sanitization_mode = False
1271
+ finally:
1272
+ writer.string_sanitization_mode = old_string_sanitization_mode
1211
1273
 
1212
1274
  @staticmethod
1213
1275
  def deserialize(reader: EoReader) -> "InitInitServerPacket.ReplyCodeDataPlayersListFriends":
@@ -13,6 +13,9 @@ class InitReply(IntEnum, metaclass=ProtocolEnumMeta):
13
13
  OutOfDate = 1
14
14
  Ok = 2
15
15
  Banned = 3
16
+ """
17
+ The official client won't display a message until the connection from the server is closed
18
+ """
16
19
  WarpMap = 4
17
20
  FileEmf = 5
18
21
  FileEif = 6
@@ -81,9 +81,13 @@ class ItemAcceptServerPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (ItemAcceptServerPacket): The data to serialize.
83
83
  """
84
- if data._player_id is None:
85
- raise SerializationError("player_id must be provided.")
86
- writer.add_short(data._player_id)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._player_id is None:
87
+ raise SerializationError("player_id must be provided.")
88
+ writer.add_short(data._player_id)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "ItemAcceptServerPacket":
@@ -125,18 +125,22 @@ class ItemAddServerPacket(Packet):
125
125
  writer (EoWriter): The writer that the data will be serialized to.
126
126
  data (ItemAddServerPacket): The data to serialize.
127
127
  """
128
- if data._item_id is None:
129
- raise SerializationError("item_id must be provided.")
130
- writer.add_short(data._item_id)
131
- if data._item_index is None:
132
- raise SerializationError("item_index must be provided.")
133
- writer.add_short(data._item_index)
134
- if data._item_amount is None:
135
- raise SerializationError("item_amount must be provided.")
136
- writer.add_three(data._item_amount)
137
- if data._coords is None:
138
- raise SerializationError("coords must be provided.")
139
- Coords.serialize(writer, data._coords)
128
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
129
+ try:
130
+ if data._item_id is None:
131
+ raise SerializationError("item_id must be provided.")
132
+ writer.add_short(data._item_id)
133
+ if data._item_index is None:
134
+ raise SerializationError("item_index must be provided.")
135
+ writer.add_short(data._item_index)
136
+ if data._item_amount is None:
137
+ raise SerializationError("item_amount must be provided.")
138
+ writer.add_three(data._item_amount)
139
+ if data._coords is None:
140
+ raise SerializationError("coords must be provided.")
141
+ Coords.serialize(writer, data._coords)
142
+ finally:
143
+ writer.string_sanitization_mode = old_string_sanitization_mode
140
144
 
141
145
  @staticmethod
142
146
  def deserialize(reader: EoReader) -> "ItemAddServerPacket":
@@ -12,7 +12,7 @@ from .....data.eo_reader import EoReader
12
12
 
13
13
  class ItemAgreeServerPacket(Packet):
14
14
  """
15
- Reply to using an item that you don't have
15
+ Reply to using an item that you don't have
16
16
  """
17
17
  _byte_size: int = 0
18
18
  _item_id: int = None # type: ignore [assignment]
@@ -81,9 +81,13 @@ class ItemAgreeServerPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (ItemAgreeServerPacket): The data to serialize.
83
83
  """
84
- if data._item_id is None:
85
- raise SerializationError("item_id must be provided.")
86
- writer.add_short(data._item_id)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._item_id is None:
87
+ raise SerializationError("item_id must be provided.")
88
+ writer.add_short(data._item_id)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "ItemAgreeServerPacket":
@@ -128,21 +128,25 @@ class ItemDropServerPacket(Packet):
128
128
  writer (EoWriter): The writer that the data will be serialized to.
129
129
  data (ItemDropServerPacket): The data to serialize.
130
130
  """
131
- if data._dropped_item is None:
132
- raise SerializationError("dropped_item must be provided.")
133
- ThreeItem.serialize(writer, data._dropped_item)
134
- if data._remaining_amount is None:
135
- raise SerializationError("remaining_amount must be provided.")
136
- writer.add_int(data._remaining_amount)
137
- if data._item_index is None:
138
- raise SerializationError("item_index must be provided.")
139
- writer.add_short(data._item_index)
140
- if data._coords is None:
141
- raise SerializationError("coords must be provided.")
142
- Coords.serialize(writer, data._coords)
143
- if data._weight is None:
144
- raise SerializationError("weight must be provided.")
145
- Weight.serialize(writer, data._weight)
131
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
132
+ try:
133
+ if data._dropped_item is None:
134
+ raise SerializationError("dropped_item must be provided.")
135
+ ThreeItem.serialize(writer, data._dropped_item)
136
+ if data._remaining_amount is None:
137
+ raise SerializationError("remaining_amount must be provided.")
138
+ writer.add_int(data._remaining_amount)
139
+ if data._item_index is None:
140
+ raise SerializationError("item_index must be provided.")
141
+ writer.add_short(data._item_index)
142
+ if data._coords is None:
143
+ raise SerializationError("coords must be provided.")
144
+ Coords.serialize(writer, data._coords)
145
+ if data._weight is None:
146
+ raise SerializationError("weight must be provided.")
147
+ Weight.serialize(writer, data._weight)
148
+ finally:
149
+ writer.string_sanitization_mode = old_string_sanitization_mode
146
150
 
147
151
  @staticmethod
148
152
  def deserialize(reader: EoReader) -> "ItemDropServerPacket":
@@ -101,15 +101,19 @@ class ItemGetServerPacket(Packet):
101
101
  writer (EoWriter): The writer that the data will be serialized to.
102
102
  data (ItemGetServerPacket): The data to serialize.
103
103
  """
104
- if data._taken_item_index is None:
105
- raise SerializationError("taken_item_index must be provided.")
106
- writer.add_short(data._taken_item_index)
107
- if data._taken_item is None:
108
- raise SerializationError("taken_item must be provided.")
109
- ThreeItem.serialize(writer, data._taken_item)
110
- if data._weight is None:
111
- raise SerializationError("weight must be provided.")
112
- Weight.serialize(writer, data._weight)
104
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
105
+ try:
106
+ if data._taken_item_index is None:
107
+ raise SerializationError("taken_item_index must be provided.")
108
+ writer.add_short(data._taken_item_index)
109
+ if data._taken_item is None:
110
+ raise SerializationError("taken_item must be provided.")
111
+ ThreeItem.serialize(writer, data._taken_item)
112
+ if data._weight is None:
113
+ raise SerializationError("weight must be provided.")
114
+ Weight.serialize(writer, data._weight)
115
+ finally:
116
+ writer.string_sanitization_mode = old_string_sanitization_mode
113
117
 
114
118
  @staticmethod
115
119
  def deserialize(reader: EoReader) -> "ItemGetServerPacket":