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