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
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class PriestRequestServerPacket(Packet):
14
+ """
15
+ Wedding request
16
+ """
14
17
  _byte_size: int = 0
15
18
  _session_id: int = None # type: ignore [assignment]
16
19
  _partner_name: str = None # type: ignore [assignment]
@@ -87,12 +90,16 @@ class PriestRequestServerPacket(Packet):
87
90
  writer (EoWriter): The writer that the data will be serialized to.
88
91
  data (PriestRequestServerPacket): The data to serialize.
89
92
  """
90
- if data._session_id is None:
91
- raise SerializationError("session_id must be provided.")
92
- writer.add_short(data._session_id)
93
- if data._partner_name is None:
94
- raise SerializationError("partner_name must be provided.")
95
- writer.add_string(data._partner_name)
93
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
94
+ try:
95
+ if data._session_id is None:
96
+ raise SerializationError("session_id must be provided.")
97
+ writer.add_short(data._session_id)
98
+ if data._partner_name is None:
99
+ raise SerializationError("partner_name must be provided.")
100
+ writer.add_string(data._partner_name)
101
+ finally:
102
+ writer.string_sanitization_mode = old_string_sanitization_mode
96
103
 
97
104
  @staticmethod
98
105
  def deserialize(reader: EoReader) -> "PriestRequestServerPacket":
@@ -58,12 +58,16 @@ class PubFile:
58
58
  writer (EoWriter): The writer that the data will be serialized to.
59
59
  data (PubFile): The data to serialize.
60
60
  """
61
- if data._file_id is None:
62
- raise SerializationError("file_id must be provided.")
63
- writer.add_char(data._file_id)
64
- if data._content is None:
65
- raise SerializationError("content must be provided.")
66
- writer.add_bytes(data._content)
61
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
62
+ try:
63
+ if data._file_id is None:
64
+ raise SerializationError("file_id must be provided.")
65
+ writer.add_char(data._file_id)
66
+ if data._content is None:
67
+ raise SerializationError("content must be provided.")
68
+ writer.add_bytes(data._content)
69
+ finally:
70
+ writer.string_sanitization_mode = old_string_sanitization_mode
67
71
 
68
72
  @staticmethod
69
73
  def deserialize(reader: EoReader) -> "PubFile":
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class QuestDialogServerPacket(Packet):
17
+ """
18
+ Quest selection dialog
19
+ """
17
20
  _byte_size: int = 0
18
21
  _quest_count: int = None # type: ignore [assignment]
19
22
  _behavior_id: int = None # type: ignore [assignment]
@@ -160,36 +163,40 @@ class QuestDialogServerPacket(Packet):
160
163
  writer (EoWriter): The writer that the data will be serialized to.
161
164
  data (QuestDialogServerPacket): The data to serialize.
162
165
  """
163
- if data._quest_count is None:
164
- raise SerializationError("quest_count must be provided.")
165
- writer.add_char(data._quest_count)
166
- if data._behavior_id is None:
167
- raise SerializationError("behavior_id must be provided.")
168
- writer.add_short(data._behavior_id)
169
- if data._quest_id is None:
170
- raise SerializationError("quest_id must be provided.")
171
- writer.add_short(data._quest_id)
172
- if data._session_id is None:
173
- raise SerializationError("session_id must be provided.")
174
- writer.add_short(data._session_id)
175
- if data._dialog_id is None:
176
- raise SerializationError("dialog_id must be provided.")
177
- writer.add_short(data._dialog_id)
178
- writer.add_byte(0xFF)
179
- if data._quest_entries is None:
180
- raise SerializationError("quest_entries must be provided.")
181
- if len(data._quest_entries) > 252:
182
- raise SerializationError(f"Expected length of quest_entries to be 252 or less, got {len(data._quest_entries)}.")
183
- for i in range(data._quest_count):
184
- if i > 0:
166
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
167
+ try:
168
+ writer.string_sanitization_mode = True
169
+ if data._quest_count is None:
170
+ raise SerializationError("quest_count must be provided.")
171
+ writer.add_char(data._quest_count)
172
+ if data._behavior_id is None:
173
+ raise SerializationError("behavior_id must be provided.")
174
+ writer.add_short(data._behavior_id)
175
+ if data._quest_id is None:
176
+ raise SerializationError("quest_id must be provided.")
177
+ writer.add_short(data._quest_id)
178
+ if data._session_id is None:
179
+ raise SerializationError("session_id must be provided.")
180
+ writer.add_short(data._session_id)
181
+ if data._dialog_id is None:
182
+ raise SerializationError("dialog_id must be provided.")
183
+ writer.add_short(data._dialog_id)
184
+ writer.add_byte(0xFF)
185
+ if data._quest_entries is None:
186
+ raise SerializationError("quest_entries must be provided.")
187
+ if len(data._quest_entries) > 252:
188
+ raise SerializationError(f"Expected length of quest_entries to be 252 or less, got {len(data._quest_entries)}.")
189
+ for i in range(data._quest_count):
190
+ DialogQuestEntry.serialize(writer, data._quest_entries[i])
185
191
  writer.add_byte(0xFF)
186
- DialogQuestEntry.serialize(writer, data._quest_entries[i])
187
- if data._dialog_entries is None:
188
- raise SerializationError("dialog_entries must be provided.")
189
- for i in range(len(data._dialog_entries)):
190
- if i > 0:
192
+ if data._dialog_entries is None:
193
+ raise SerializationError("dialog_entries must be provided.")
194
+ for i in range(len(data._dialog_entries)):
195
+ DialogEntry.serialize(writer, data._dialog_entries[i])
191
196
  writer.add_byte(0xFF)
192
- DialogEntry.serialize(writer, data._dialog_entries[i])
197
+ writer.string_sanitization_mode = False
198
+ finally:
199
+ writer.string_sanitization_mode = old_string_sanitization_mode
193
200
 
194
201
  @staticmethod
195
202
  def deserialize(reader: EoReader) -> "QuestDialogServerPacket":
@@ -216,8 +223,7 @@ class QuestDialogServerPacket(Packet):
216
223
  data._quest_entries = []
217
224
  for i in range(data._quest_count):
218
225
  data._quest_entries.append(DialogQuestEntry.deserialize(reader))
219
- if i + 1 < data._quest_count:
220
- reader.next_chunk()
226
+ reader.next_chunk()
221
227
  data._dialog_entries = []
222
228
  while reader.remaining > 0:
223
229
  data._dialog_entries.append(DialogEntry.deserialize(reader))
@@ -15,6 +15,9 @@ from .....data.eo_writer import EoWriter
15
15
  from .....data.eo_reader import EoReader
16
16
 
17
17
  class QuestListServerPacket(Packet):
18
+ """
19
+ Quest history / progress reply
20
+ """
18
21
  _byte_size: int = 0
19
22
  _page: QuestPage = None # type: ignore [assignment]
20
23
  _quests_count: int = None # type: ignore [assignment]
@@ -103,20 +106,26 @@ class QuestListServerPacket(Packet):
103
106
  writer (EoWriter): The writer that the data will be serialized to.
104
107
  data (QuestListServerPacket): The data to serialize.
105
108
  """
106
- if data._page is None:
107
- raise SerializationError("page must be provided.")
108
- writer.add_char(int(data._page))
109
- if data._quests_count is None:
110
- raise SerializationError("quests_count must be provided.")
111
- writer.add_short(data._quests_count)
112
- if data._page == QuestPage.Progress:
113
- if not isinstance(data._page_data, QuestListServerPacket.PageDataProgress):
114
- raise SerializationError("Expected page_data to be type QuestListServerPacket.PageDataProgress for page " + QuestPage(data._page).name + ".")
115
- QuestListServerPacket.PageDataProgress.serialize(writer, data._page_data)
116
- elif data._page == QuestPage.History:
117
- if not isinstance(data._page_data, QuestListServerPacket.PageDataHistory):
118
- raise SerializationError("Expected page_data to be type QuestListServerPacket.PageDataHistory for page " + QuestPage(data._page).name + ".")
119
- QuestListServerPacket.PageDataHistory.serialize(writer, data._page_data)
109
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
110
+ try:
111
+ writer.string_sanitization_mode = True
112
+ if data._page is None:
113
+ raise SerializationError("page must be provided.")
114
+ writer.add_char(int(data._page))
115
+ if data._quests_count is None:
116
+ raise SerializationError("quests_count must be provided.")
117
+ writer.add_short(data._quests_count)
118
+ if data._page == QuestPage.Progress:
119
+ if not isinstance(data._page_data, QuestListServerPacket.PageDataProgress):
120
+ raise SerializationError("Expected page_data to be type QuestListServerPacket.PageDataProgress for page " + QuestPage(data._page).name + ".")
121
+ QuestListServerPacket.PageDataProgress.serialize(writer, data._page_data)
122
+ elif data._page == QuestPage.History:
123
+ if not isinstance(data._page_data, QuestListServerPacket.PageDataHistory):
124
+ raise SerializationError("Expected page_data to be type QuestListServerPacket.PageDataHistory for page " + QuestPage(data._page).name + ".")
125
+ QuestListServerPacket.PageDataHistory.serialize(writer, data._page_data)
126
+ writer.string_sanitization_mode = False
127
+ finally:
128
+ writer.string_sanitization_mode = old_string_sanitization_mode
120
129
 
121
130
  @staticmethod
122
131
  def deserialize(reader: EoReader) -> "QuestListServerPacket":
@@ -150,10 +159,9 @@ class QuestListServerPacket(Packet):
150
159
  return f"QuestListServerPacket(byte_size={repr(self._byte_size)}, page={repr(self._page)}, quests_count={repr(self._quests_count)}, page_data={repr(self._page_data)})"
151
160
 
152
161
  PageData = Union['QuestListServerPacket.PageDataProgress', 'QuestListServerPacket.PageDataHistory', None]
153
- PageData.__doc__ = \
154
- """
155
- Data associated with different values of the `page` field.
156
- """
162
+ """
163
+ Data associated with different values of the `page` field.
164
+ """
157
165
 
158
166
  class PageDataProgress:
159
167
  """
@@ -189,12 +197,15 @@ class QuestListServerPacket(Packet):
189
197
  writer (EoWriter): The writer that the data will be serialized to.
190
198
  data (QuestListServerPacket.PageDataProgress): The data to serialize.
191
199
  """
192
- if data._quest_progress_entries is None:
193
- raise SerializationError("quest_progress_entries must be provided.")
194
- for i in range(len(data._quest_progress_entries)):
195
- if i > 0:
200
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
201
+ try:
202
+ if data._quest_progress_entries is None:
203
+ raise SerializationError("quest_progress_entries must be provided.")
204
+ for i in range(len(data._quest_progress_entries)):
205
+ QuestProgressEntry.serialize(writer, data._quest_progress_entries[i])
196
206
  writer.add_byte(0xFF)
197
- QuestProgressEntry.serialize(writer, data._quest_progress_entries[i])
207
+ finally:
208
+ writer.string_sanitization_mode = old_string_sanitization_mode
198
209
 
199
210
  @staticmethod
200
211
  def deserialize(reader: EoReader) -> "QuestListServerPacket.PageDataProgress":
@@ -257,12 +268,15 @@ class QuestListServerPacket(Packet):
257
268
  writer (EoWriter): The writer that the data will be serialized to.
258
269
  data (QuestListServerPacket.PageDataHistory): The data to serialize.
259
270
  """
260
- if data._completed_quests is None:
261
- raise SerializationError("completed_quests must be provided.")
262
- for i in range(len(data._completed_quests)):
263
- if i > 0:
271
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
272
+ try:
273
+ if data._completed_quests is None:
274
+ raise SerializationError("completed_quests must be provided.")
275
+ for i in range(len(data._completed_quests)):
276
+ writer.add_string(data._completed_quests[i])
264
277
  writer.add_byte(0xFF)
265
- writer.add_string(data._completed_quests[i])
278
+ finally:
279
+ writer.string_sanitization_mode = old_string_sanitization_mode
266
280
 
267
281
  @staticmethod
268
282
  def deserialize(reader: EoReader) -> "QuestListServerPacket.PageDataHistory":
@@ -94,23 +94,29 @@ class QuestProgressEntry:
94
94
  writer (EoWriter): The writer that the data will be serialized to.
95
95
  data (QuestProgressEntry): The data to serialize.
96
96
  """
97
- if data._name is None:
98
- raise SerializationError("name must be provided.")
99
- writer.add_string(data._name)
100
- writer.add_byte(0xFF)
101
- if data._description is None:
102
- raise SerializationError("description must be provided.")
103
- writer.add_string(data._description)
104
- writer.add_byte(0xFF)
105
- if data._icon is None:
106
- raise SerializationError("icon must be provided.")
107
- writer.add_short(int(data._icon))
108
- if data._progress is None:
109
- raise SerializationError("progress must be provided.")
110
- writer.add_short(data._progress)
111
- if data._target is None:
112
- raise SerializationError("target must be provided.")
113
- writer.add_short(data._target)
97
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
98
+ try:
99
+ writer.string_sanitization_mode = True
100
+ if data._name is None:
101
+ raise SerializationError("name must be provided.")
102
+ writer.add_string(data._name)
103
+ writer.add_byte(0xFF)
104
+ if data._description is None:
105
+ raise SerializationError("description must be provided.")
106
+ writer.add_string(data._description)
107
+ writer.add_byte(0xFF)
108
+ if data._icon is None:
109
+ raise SerializationError("icon must be provided.")
110
+ writer.add_short(int(data._icon))
111
+ if data._progress is None:
112
+ raise SerializationError("progress must be provided.")
113
+ writer.add_short(data._progress)
114
+ if data._target is None:
115
+ raise SerializationError("target must be provided.")
116
+ writer.add_short(data._target)
117
+ writer.string_sanitization_mode = False
118
+ finally:
119
+ writer.string_sanitization_mode = old_string_sanitization_mode
114
120
 
115
121
  @staticmethod
116
122
  def deserialize(reader: EoReader) -> "QuestProgressEntry":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class QuestReportServerPacket(Packet):
15
+ """
16
+ NPC chat messages
17
+ """
15
18
  _byte_size: int = 0
16
19
  _npc_id: int = None # type: ignore [assignment]
17
20
  _messages: list[str] = None # type: ignore [assignment]
@@ -88,16 +91,21 @@ class QuestReportServerPacket(Packet):
88
91
  writer (EoWriter): The writer that the data will be serialized to.
89
92
  data (QuestReportServerPacket): The data to serialize.
90
93
  """
91
- if data._npc_id is None:
92
- raise SerializationError("npc_id must be provided.")
93
- writer.add_short(data._npc_id)
94
- writer.add_byte(0xFF)
95
- if data._messages is None:
96
- raise SerializationError("messages must be provided.")
97
- for i in range(len(data._messages)):
98
- if i > 0:
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ writer.string_sanitization_mode = True
97
+ if data._npc_id is None:
98
+ raise SerializationError("npc_id must be provided.")
99
+ writer.add_short(data._npc_id)
100
+ writer.add_byte(0xFF)
101
+ if data._messages is None:
102
+ raise SerializationError("messages must be provided.")
103
+ for i in range(len(data._messages)):
104
+ writer.add_string(data._messages[i])
99
105
  writer.add_byte(0xFF)
100
- writer.add_string(data._messages[i])
106
+ writer.string_sanitization_mode = False
107
+ finally:
108
+ writer.string_sanitization_mode = old_string_sanitization_mode
101
109
 
102
110
  @staticmethod
103
111
  def deserialize(reader: EoReader) -> "QuestReportServerPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class RangeReplyServerPacket(Packet):
15
+ """
16
+ Reply to request for information about nearby players and NPCs
17
+ """
15
18
  _byte_size: int = 0
16
19
  _nearby: NearbyInfo = None # type: ignore [assignment]
17
20
 
@@ -71,9 +74,13 @@ class RangeReplyServerPacket(Packet):
71
74
  writer (EoWriter): The writer that the data will be serialized to.
72
75
  data (RangeReplyServerPacket): The data to serialize.
73
76
  """
74
- if data._nearby is None:
75
- raise SerializationError("nearby must be provided.")
76
- NearbyInfo.serialize(writer, data._nearby)
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._nearby is None:
80
+ raise SerializationError("nearby must be provided.")
81
+ NearbyInfo.serialize(writer, data._nearby)
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
77
84
 
78
85
  @staticmethod
79
86
  def deserialize(reader: EoReader) -> "RangeReplyServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class RecoverAgreeServerPacket(Packet):
14
+ """
15
+ Nearby player gained HP
16
+ """
14
17
  _byte_size: int = 0
15
18
  _player_id: int = None # type: ignore [assignment]
16
19
  _heal_hp: int = None # type: ignore [assignment]
@@ -112,15 +115,19 @@ class RecoverAgreeServerPacket(Packet):
112
115
  writer (EoWriter): The writer that the data will be serialized to.
113
116
  data (RecoverAgreeServerPacket): The data to serialize.
114
117
  """
115
- if data._player_id is None:
116
- raise SerializationError("player_id must be provided.")
117
- writer.add_short(data._player_id)
118
- if data._heal_hp is None:
119
- raise SerializationError("heal_hp must be provided.")
120
- writer.add_int(data._heal_hp)
121
- if data._hp_percentage is None:
122
- raise SerializationError("hp_percentage must be provided.")
123
- writer.add_char(data._hp_percentage)
118
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
119
+ try:
120
+ if data._player_id is None:
121
+ raise SerializationError("player_id must be provided.")
122
+ writer.add_short(data._player_id)
123
+ if data._heal_hp is None:
124
+ raise SerializationError("heal_hp must be provided.")
125
+ writer.add_int(data._heal_hp)
126
+ if data._hp_percentage is None:
127
+ raise SerializationError("hp_percentage must be provided.")
128
+ writer.add_char(data._hp_percentage)
129
+ finally:
130
+ writer.string_sanitization_mode = old_string_sanitization_mode
124
131
 
125
132
  @staticmethod
126
133
  def deserialize(reader: EoReader) -> "RecoverAgreeServerPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class RecoverListServerPacket(Packet):
15
+ """
16
+ Stats update
17
+ """
15
18
  _byte_size: int = 0
16
19
  _class_id: int = None # type: ignore [assignment]
17
20
  _stats: CharacterStatsUpdate = None # type: ignore [assignment]
@@ -88,12 +91,16 @@ class RecoverListServerPacket(Packet):
88
91
  writer (EoWriter): The writer that the data will be serialized to.
89
92
  data (RecoverListServerPacket): The data to serialize.
90
93
  """
91
- if data._class_id is None:
92
- raise SerializationError("class_id must be provided.")
93
- writer.add_short(data._class_id)
94
- if data._stats is None:
95
- raise SerializationError("stats must be provided.")
96
- CharacterStatsUpdate.serialize(writer, data._stats)
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._class_id is None:
97
+ raise SerializationError("class_id must be provided.")
98
+ writer.add_short(data._class_id)
99
+ if data._stats is None:
100
+ raise SerializationError("stats must be provided.")
101
+ CharacterStatsUpdate.serialize(writer, data._stats)
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
104
 
98
105
  @staticmethod
99
106
  def deserialize(reader: EoReader) -> "RecoverListServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class RecoverPlayerServerPacket(Packet):
14
+ """
15
+ HP/TP update
16
+ """
14
17
  _byte_size: int = 0
15
18
  _hp: int = None # type: ignore [assignment]
16
19
  _tp: int = None # type: ignore [assignment]
@@ -95,12 +98,16 @@ class RecoverPlayerServerPacket(Packet):
95
98
  writer (EoWriter): The writer that the data will be serialized to.
96
99
  data (RecoverPlayerServerPacket): The data to serialize.
97
100
  """
98
- if data._hp is None:
99
- raise SerializationError("hp must be provided.")
100
- writer.add_short(data._hp)
101
- if data._tp is None:
102
- raise SerializationError("tp must be provided.")
103
- writer.add_short(data._tp)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._hp is None:
104
+ raise SerializationError("hp must be provided.")
105
+ writer.add_short(data._hp)
106
+ if data._tp is None:
107
+ raise SerializationError("tp must be provided.")
108
+ writer.add_short(data._tp)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
104
111
 
105
112
  @staticmethod
106
113
  def deserialize(reader: EoReader) -> "RecoverPlayerServerPacket":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class RecoverReplyServerPacket(Packet):
16
+ """
17
+ Karma/experience update
18
+ """
16
19
  _byte_size: int = 0
17
20
  _experience: int = None # type: ignore [assignment]
18
21
  _karma: int = None # type: ignore [assignment]
@@ -65,7 +68,7 @@ class RecoverReplyServerPacket(Packet):
65
68
  @property
66
69
  def level_up(self) -> Optional[int]:
67
70
  """
68
- A value greater than 0 is &quot;new level&quot; and indicates the player leveled up.
71
+ A value greater than 0 is "new level" and indicates the player leveled up.
69
72
  The official client reads this if the packet is larger than 6 bytes.
70
73
 
71
74
  Note:
@@ -76,7 +79,7 @@ class RecoverReplyServerPacket(Packet):
76
79
  @level_up.setter
77
80
  def level_up(self, level_up: Optional[int]) -> None:
78
81
  """
79
- A value greater than 0 is &quot;new level&quot; and indicates the player leveled up.
82
+ A value greater than 0 is "new level" and indicates the player leveled up.
80
83
  The official client reads this if the packet is larger than 6 bytes.
81
84
 
82
85
  Note:
@@ -162,21 +165,25 @@ class RecoverReplyServerPacket(Packet):
162
165
  writer (EoWriter): The writer that the data will be serialized to.
163
166
  data (RecoverReplyServerPacket): The data to serialize.
164
167
  """
165
- if data._experience is None:
166
- raise SerializationError("experience must be provided.")
167
- writer.add_int(data._experience)
168
- if data._karma is None:
169
- raise SerializationError("karma must be provided.")
170
- writer.add_short(data._karma)
171
- reached_missing_optional = data._level_up is None
172
- if not reached_missing_optional:
173
- writer.add_char(cast(int, data._level_up))
174
- reached_missing_optional = reached_missing_optional or data._stat_points is None
175
- if not reached_missing_optional:
176
- writer.add_short(cast(int, data._stat_points))
177
- reached_missing_optional = reached_missing_optional or data._skill_points is None
178
- if not reached_missing_optional:
179
- writer.add_short(cast(int, data._skill_points))
168
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
169
+ try:
170
+ if data._experience is None:
171
+ raise SerializationError("experience must be provided.")
172
+ writer.add_int(data._experience)
173
+ if data._karma is None:
174
+ raise SerializationError("karma must be provided.")
175
+ writer.add_short(data._karma)
176
+ reached_missing_optional = data._level_up is None
177
+ if not reached_missing_optional:
178
+ writer.add_char(cast(int, data._level_up))
179
+ reached_missing_optional = reached_missing_optional or data._stat_points is None
180
+ if not reached_missing_optional:
181
+ writer.add_short(cast(int, data._stat_points))
182
+ reached_missing_optional = reached_missing_optional or data._skill_points is None
183
+ if not reached_missing_optional:
184
+ writer.add_short(cast(int, data._skill_points))
185
+ finally:
186
+ writer.string_sanitization_mode = old_string_sanitization_mode
180
187
 
181
188
  @staticmethod
182
189
  def deserialize(reader: EoReader) -> "RecoverReplyServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class RecoverTargetGroupServerPacket(Packet):
14
+ """
15
+ Updated stats when levelling up from party experience
16
+ """
14
17
  _byte_size: int = 0
15
18
  _stat_points: int = None # type: ignore [assignment]
16
19
  _skill_points: int = None # type: ignore [assignment]
@@ -146,21 +149,25 @@ class RecoverTargetGroupServerPacket(Packet):
146
149
  writer (EoWriter): The writer that the data will be serialized to.
147
150
  data (RecoverTargetGroupServerPacket): The data to serialize.
148
151
  """
149
- if data._stat_points is None:
150
- raise SerializationError("stat_points must be provided.")
151
- writer.add_short(data._stat_points)
152
- if data._skill_points is None:
153
- raise SerializationError("skill_points must be provided.")
154
- writer.add_short(data._skill_points)
155
- if data._max_hp is None:
156
- raise SerializationError("max_hp must be provided.")
157
- writer.add_short(data._max_hp)
158
- if data._max_tp is None:
159
- raise SerializationError("max_tp must be provided.")
160
- writer.add_short(data._max_tp)
161
- if data._max_sp is None:
162
- raise SerializationError("max_sp must be provided.")
163
- writer.add_short(data._max_sp)
152
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
153
+ try:
154
+ if data._stat_points is None:
155
+ raise SerializationError("stat_points must be provided.")
156
+ writer.add_short(data._stat_points)
157
+ if data._skill_points is None:
158
+ raise SerializationError("skill_points must be provided.")
159
+ writer.add_short(data._skill_points)
160
+ if data._max_hp is None:
161
+ raise SerializationError("max_hp must be provided.")
162
+ writer.add_short(data._max_hp)
163
+ if data._max_tp is None:
164
+ raise SerializationError("max_tp must be provided.")
165
+ writer.add_short(data._max_tp)
166
+ if data._max_sp is None:
167
+ raise SerializationError("max_sp must be provided.")
168
+ writer.add_short(data._max_sp)
169
+ finally:
170
+ writer.string_sanitization_mode = old_string_sanitization_mode
164
171
 
165
172
  @staticmethod
166
173
  def deserialize(reader: EoReader) -> "RecoverTargetGroupServerPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class RefreshReplyServerPacket(Packet):
15
+ """
16
+ Reply to request for new info about nearby objects
17
+ """
15
18
  _byte_size: int = 0
16
19
  _nearby: NearbyInfo = None # type: ignore [assignment]
17
20
 
@@ -71,9 +74,13 @@ class RefreshReplyServerPacket(Packet):
71
74
  writer (EoWriter): The writer that the data will be serialized to.
72
75
  data (RefreshReplyServerPacket): The data to serialize.
73
76
  """
74
- if data._nearby is None:
75
- raise SerializationError("nearby must be provided.")
76
- NearbyInfo.serialize(writer, data._nearby)
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._nearby is None:
80
+ raise SerializationError("nearby must be provided.")
81
+ NearbyInfo.serialize(writer, data._nearby)
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
77
84
 
78
85
  @staticmethod
79
86
  def deserialize(reader: EoReader) -> "RefreshReplyServerPacket":