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
@@ -10,6 +10,9 @@ from .....data.eo_writer import EoWriter
10
10
  from .....data.eo_reader import EoReader
11
11
 
12
12
  class PlayersRequestClientPacket(Packet):
13
+ """
14
+ Requesting a list of online players
15
+ """
13
16
  _byte_size: int = 0
14
17
 
15
18
  @property
@@ -60,9 +63,11 @@ class PlayersRequestClientPacket(Packet):
60
63
  writer (EoWriter): The writer that the data will be serialized to.
61
64
  data (PlayersRequestClientPacket): The data to serialize.
62
65
  """
63
- old_writer_length: int = len(writer)
64
- if len(writer) == old_writer_length:
66
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
67
+ try:
65
68
  writer.add_byte(255)
69
+ finally:
70
+ writer.string_sanitization_mode = old_string_sanitization_mode
66
71
 
67
72
  @staticmethod
68
73
  def deserialize(reader: EoReader) -> "PlayersRequestClientPacket":
@@ -79,8 +84,7 @@ class PlayersRequestClientPacket(Packet):
79
84
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
80
85
  try:
81
86
  reader_start_position: int = reader.position
82
- if reader.position == reader_start_position:
83
- reader.get_byte()
87
+ reader.get_byte()
84
88
  data._byte_size = reader.position - reader_start_position
85
89
  return data
86
90
  finally:
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class PriestAcceptClientPacket(Packet):
14
+ """
15
+ Accepting a marriage request
16
+ """
14
17
  _byte_size: int = 0
15
18
  _session_id: int = None # type: ignore [assignment]
16
19
 
@@ -78,9 +81,13 @@ class PriestAcceptClientPacket(Packet):
78
81
  writer (EoWriter): The writer that the data will be serialized to.
79
82
  data (PriestAcceptClientPacket): The data to serialize.
80
83
  """
81
- if data._session_id is None:
82
- raise SerializationError("session_id must be provided.")
83
- writer.add_short(data._session_id)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._session_id is None:
87
+ raise SerializationError("session_id must be provided.")
88
+ writer.add_short(data._session_id)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
84
91
 
85
92
  @staticmethod
86
93
  def deserialize(reader: EoReader) -> "PriestAcceptClientPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class PriestOpenClientPacket(Packet):
14
+ """
15
+ Talking to a priest NPC
16
+ """
14
17
  _byte_size: int = 0
15
18
  _npc_index: int = None # type: ignore [assignment]
16
19
 
@@ -78,9 +81,13 @@ class PriestOpenClientPacket(Packet):
78
81
  writer (EoWriter): The writer that the data will be serialized to.
79
82
  data (PriestOpenClientPacket): The data to serialize.
80
83
  """
81
- if data._npc_index is None:
82
- raise SerializationError("npc_index must be provided.")
83
- writer.add_int(data._npc_index)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._npc_index is None:
87
+ raise SerializationError("npc_index must be provided.")
88
+ writer.add_int(data._npc_index)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
84
91
 
85
92
  @staticmethod
86
93
  def deserialize(reader: EoReader) -> "PriestOpenClientPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class PriestRequestClientPacket(Packet):
14
+ """
15
+ Requesting marriage at a priest
16
+ """
14
17
  _byte_size: int = 0
15
18
  _session_id: int = None # type: ignore [assignment]
16
19
  _name: str = None # type: ignore [assignment]
@@ -87,13 +90,19 @@ class PriestRequestClientPacket(Packet):
87
90
  writer (EoWriter): The writer that the data will be serialized to.
88
91
  data (PriestRequestClientPacket): The data to serialize.
89
92
  """
90
- if data._session_id is None:
91
- raise SerializationError("session_id must be provided.")
92
- writer.add_int(data._session_id)
93
- writer.add_byte(0xFF)
94
- if data._name is None:
95
- raise SerializationError("name must be provided.")
96
- writer.add_string(data._name)
93
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
94
+ try:
95
+ writer.string_sanitization_mode = True
96
+ if data._session_id is None:
97
+ raise SerializationError("session_id must be provided.")
98
+ writer.add_int(data._session_id)
99
+ writer.add_byte(0xFF)
100
+ if data._name is None:
101
+ raise SerializationError("name must be provided.")
102
+ writer.add_string(data._name)
103
+ writer.string_sanitization_mode = False
104
+ finally:
105
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
106
 
98
107
  @staticmethod
99
108
  def deserialize(reader: EoReader) -> "PriestRequestClientPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class PriestUseClientPacket(Packet):
14
+ """
15
+ Saying "I do" at a wedding
16
+ """
14
17
  _byte_size: int = 0
15
18
  _session_id: int = None # type: ignore [assignment]
16
19
 
@@ -78,9 +81,13 @@ class PriestUseClientPacket(Packet):
78
81
  writer (EoWriter): The writer that the data will be serialized to.
79
82
  data (PriestUseClientPacket): The data to serialize.
80
83
  """
81
- if data._session_id is None:
82
- raise SerializationError("session_id must be provided.")
83
- writer.add_int(data._session_id)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._session_id is None:
87
+ raise SerializationError("session_id must be provided.")
88
+ writer.add_int(data._session_id)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
84
91
 
85
92
  @staticmethod
86
93
  def deserialize(reader: EoReader) -> "PriestUseClientPacket":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class QuestAcceptClientPacket(Packet):
16
+ """
17
+ Response to a quest NPC dialog
18
+ """
16
19
  _byte_size: int = 0
17
20
  _session_id: int = None # type: ignore [assignment]
18
21
  _dialog_id: int = None # type: ignore [assignment]
@@ -152,25 +155,29 @@ class QuestAcceptClientPacket(Packet):
152
155
  writer (EoWriter): The writer that the data will be serialized to.
153
156
  data (QuestAcceptClientPacket): The data to serialize.
154
157
  """
155
- if data._session_id is None:
156
- raise SerializationError("session_id must be provided.")
157
- writer.add_short(data._session_id)
158
- if data._dialog_id is None:
159
- raise SerializationError("dialog_id must be provided.")
160
- writer.add_short(data._dialog_id)
161
- if data._quest_id is None:
162
- raise SerializationError("quest_id must be provided.")
163
- writer.add_short(data._quest_id)
164
- if data._npc_index is None:
165
- raise SerializationError("npc_index must be provided.")
166
- writer.add_short(data._npc_index)
167
- if data._reply_type is None:
168
- raise SerializationError("reply_type must be provided.")
169
- writer.add_char(int(data._reply_type))
170
- if data._reply_type == DialogReply.Link:
171
- if not isinstance(data._reply_type_data, QuestAcceptClientPacket.ReplyTypeDataLink):
172
- raise SerializationError("Expected reply_type_data to be type QuestAcceptClientPacket.ReplyTypeDataLink for reply_type " + DialogReply(data._reply_type).name + ".")
173
- QuestAcceptClientPacket.ReplyTypeDataLink.serialize(writer, data._reply_type_data)
158
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
159
+ try:
160
+ if data._session_id is None:
161
+ raise SerializationError("session_id must be provided.")
162
+ writer.add_short(data._session_id)
163
+ if data._dialog_id is None:
164
+ raise SerializationError("dialog_id must be provided.")
165
+ writer.add_short(data._dialog_id)
166
+ if data._quest_id is None:
167
+ raise SerializationError("quest_id must be provided.")
168
+ writer.add_short(data._quest_id)
169
+ if data._npc_index is None:
170
+ raise SerializationError("npc_index must be provided.")
171
+ writer.add_short(data._npc_index)
172
+ if data._reply_type is None:
173
+ raise SerializationError("reply_type must be provided.")
174
+ writer.add_char(int(data._reply_type))
175
+ if data._reply_type == DialogReply.Link:
176
+ if not isinstance(data._reply_type_data, QuestAcceptClientPacket.ReplyTypeDataLink):
177
+ raise SerializationError("Expected reply_type_data to be type QuestAcceptClientPacket.ReplyTypeDataLink for reply_type " + DialogReply(data._reply_type).name + ".")
178
+ QuestAcceptClientPacket.ReplyTypeDataLink.serialize(writer, data._reply_type_data)
179
+ finally:
180
+ writer.string_sanitization_mode = old_string_sanitization_mode
174
181
 
175
182
  @staticmethod
176
183
  def deserialize(reader: EoReader) -> "QuestAcceptClientPacket":
@@ -203,10 +210,9 @@ class QuestAcceptClientPacket(Packet):
203
210
  return f"QuestAcceptClientPacket(byte_size={repr(self._byte_size)}, session_id={repr(self._session_id)}, dialog_id={repr(self._dialog_id)}, quest_id={repr(self._quest_id)}, npc_index={repr(self._npc_index)}, reply_type={repr(self._reply_type)}, reply_type_data={repr(self._reply_type_data)})"
204
211
 
205
212
  ReplyTypeData = Union['QuestAcceptClientPacket.ReplyTypeDataLink', None]
206
- ReplyTypeData.__doc__ = \
207
- """
208
- Data associated with different values of the `reply_type` field.
209
- """
213
+ """
214
+ Data associated with different values of the `reply_type` field.
215
+ """
210
216
 
211
217
  class ReplyTypeDataLink:
212
218
  """
@@ -250,9 +256,13 @@ class QuestAcceptClientPacket(Packet):
250
256
  writer (EoWriter): The writer that the data will be serialized to.
251
257
  data (QuestAcceptClientPacket.ReplyTypeDataLink): The data to serialize.
252
258
  """
253
- if data._action is None:
254
- raise SerializationError("action must be provided.")
255
- writer.add_char(data._action)
259
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
260
+ try:
261
+ if data._action is None:
262
+ raise SerializationError("action must be provided.")
263
+ writer.add_char(data._action)
264
+ finally:
265
+ writer.string_sanitization_mode = old_string_sanitization_mode
256
266
 
257
267
  @staticmethod
258
268
  def deserialize(reader: EoReader) -> "QuestAcceptClientPacket.ReplyTypeDataLink":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class QuestListClientPacket(Packet):
15
+ """
16
+ Quest history / progress request
17
+ """
15
18
  _byte_size: int = 0
16
19
  _page: QuestPage = None # type: ignore [assignment]
17
20
 
@@ -71,9 +74,13 @@ class QuestListClientPacket(Packet):
71
74
  writer (EoWriter): The writer that the data will be serialized to.
72
75
  data (QuestListClientPacket): The data to serialize.
73
76
  """
74
- if data._page is None:
75
- raise SerializationError("page must be provided.")
76
- writer.add_char(int(data._page))
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._page is None:
80
+ raise SerializationError("page must be provided.")
81
+ writer.add_char(int(data._page))
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
77
84
 
78
85
  @staticmethod
79
86
  def deserialize(reader: EoReader) -> "QuestListClientPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class QuestUseClientPacket(Packet):
14
+ """
15
+ Talking to a quest NPC
16
+ """
14
17
  _byte_size: int = 0
15
18
  _npc_index: int = None # type: ignore [assignment]
16
19
  _quest_id: int = None # type: ignore [assignment]
@@ -99,12 +102,16 @@ class QuestUseClientPacket(Packet):
99
102
  writer (EoWriter): The writer that the data will be serialized to.
100
103
  data (QuestUseClientPacket): The data to serialize.
101
104
  """
102
- if data._npc_index is None:
103
- raise SerializationError("npc_index must be provided.")
104
- writer.add_short(data._npc_index)
105
- if data._quest_id is None:
106
- raise SerializationError("quest_id must be provided.")
107
- writer.add_short(data._quest_id)
105
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
106
+ try:
107
+ if data._npc_index is None:
108
+ raise SerializationError("npc_index must be provided.")
109
+ writer.add_short(data._npc_index)
110
+ if data._quest_id is None:
111
+ raise SerializationError("quest_id must be provided.")
112
+ writer.add_short(data._quest_id)
113
+ finally:
114
+ writer.string_sanitization_mode = old_string_sanitization_mode
108
115
 
109
116
  @staticmethod
110
117
  def deserialize(reader: EoReader) -> "QuestUseClientPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class RangeRequestClientPacket(Packet):
15
+ """
16
+ Requesting info about nearby players and NPCs
17
+ """
15
18
  _byte_size: int = 0
16
19
  _player_ids: list[int] = None # type: ignore [assignment]
17
20
  _npc_indexes: list[int] = None # type: ignore [assignment]
@@ -96,15 +99,21 @@ class RangeRequestClientPacket(Packet):
96
99
  writer (EoWriter): The writer that the data will be serialized to.
97
100
  data (RangeRequestClientPacket): The data to serialize.
98
101
  """
99
- if data._player_ids is None:
100
- raise SerializationError("player_ids must be provided.")
101
- for i in range(len(data._player_ids)):
102
- writer.add_short(data._player_ids[i])
103
- writer.add_byte(0xFF)
104
- if data._npc_indexes is None:
105
- raise SerializationError("npc_indexes must be provided.")
106
- for i in range(len(data._npc_indexes)):
107
- writer.add_char(data._npc_indexes[i])
102
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
103
+ try:
104
+ writer.string_sanitization_mode = True
105
+ if data._player_ids is None:
106
+ raise SerializationError("player_ids must be provided.")
107
+ for i in range(len(data._player_ids)):
108
+ writer.add_short(data._player_ids[i])
109
+ writer.add_byte(0xFF)
110
+ if data._npc_indexes is None:
111
+ raise SerializationError("npc_indexes must be provided.")
112
+ for i in range(len(data._npc_indexes)):
113
+ writer.add_char(data._npc_indexes[i])
114
+ writer.string_sanitization_mode = False
115
+ finally:
116
+ writer.string_sanitization_mode = old_string_sanitization_mode
108
117
 
109
118
  @staticmethod
110
119
  def deserialize(reader: EoReader) -> "RangeRequestClientPacket":
@@ -10,6 +10,9 @@ from .....data.eo_writer import EoWriter
10
10
  from .....data.eo_reader import EoReader
11
11
 
12
12
  class RefreshRequestClientPacket(Packet):
13
+ """
14
+ Requesting new info about nearby objects
15
+ """
13
16
  _byte_size: int = 0
14
17
 
15
18
  @property
@@ -60,9 +63,11 @@ class RefreshRequestClientPacket(Packet):
60
63
  writer (EoWriter): The writer that the data will be serialized to.
61
64
  data (RefreshRequestClientPacket): The data to serialize.
62
65
  """
63
- old_writer_length: int = len(writer)
64
- if len(writer) == old_writer_length:
66
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
67
+ try:
65
68
  writer.add_byte(255)
69
+ finally:
70
+ writer.string_sanitization_mode = old_string_sanitization_mode
66
71
 
67
72
  @staticmethod
68
73
  def deserialize(reader: EoReader) -> "RefreshRequestClientPacket":
@@ -79,8 +84,7 @@ class RefreshRequestClientPacket(Packet):
79
84
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
80
85
  try:
81
86
  reader_start_position: int = reader.position
82
- if reader.position == reader_start_position:
83
- reader.get_byte()
87
+ reader.get_byte()
84
88
  data._byte_size = reader.position - reader_start_position
85
89
  return data
86
90
  finally:
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class ShopBuyClientPacket(Packet):
15
+ """
16
+ Purchasing an item from a shop
17
+ """
15
18
  _byte_size: int = 0
16
19
  _buy_item: Item = None # type: ignore [assignment]
17
20
  _session_id: int = None # type: ignore [assignment]
@@ -88,12 +91,16 @@ class ShopBuyClientPacket(Packet):
88
91
  writer (EoWriter): The writer that the data will be serialized to.
89
92
  data (ShopBuyClientPacket): The data to serialize.
90
93
  """
91
- if data._buy_item is None:
92
- raise SerializationError("buy_item must be provided.")
93
- Item.serialize(writer, data._buy_item)
94
- if data._session_id is None:
95
- raise SerializationError("session_id must be provided.")
96
- writer.add_int(data._session_id)
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._buy_item is None:
97
+ raise SerializationError("buy_item must be provided.")
98
+ Item.serialize(writer, data._buy_item)
99
+ if data._session_id is None:
100
+ raise SerializationError("session_id must be provided.")
101
+ writer.add_int(data._session_id)
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
104
 
98
105
  @staticmethod
99
106
  def deserialize(reader: EoReader) -> "ShopBuyClientPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class ShopCreateClientPacket(Packet):
14
+ """
15
+ Crafting an item from a shop
16
+ """
14
17
  _byte_size: int = 0
15
18
  _craft_item_id: int = None # type: ignore [assignment]
16
19
  _session_id: int = None # type: ignore [assignment]
@@ -95,12 +98,16 @@ class ShopCreateClientPacket(Packet):
95
98
  writer (EoWriter): The writer that the data will be serialized to.
96
99
  data (ShopCreateClientPacket): The data to serialize.
97
100
  """
98
- if data._craft_item_id is None:
99
- raise SerializationError("craft_item_id must be provided.")
100
- writer.add_short(data._craft_item_id)
101
- if data._session_id is None:
102
- raise SerializationError("session_id must be provided.")
103
- writer.add_int(data._session_id)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._craft_item_id is None:
104
+ raise SerializationError("craft_item_id must be provided.")
105
+ writer.add_short(data._craft_item_id)
106
+ if data._session_id is None:
107
+ raise SerializationError("session_id must be provided.")
108
+ writer.add_int(data._session_id)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
104
111
 
105
112
  @staticmethod
106
113
  def deserialize(reader: EoReader) -> "ShopCreateClientPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class ShopOpenClientPacket(Packet):
14
+ """
15
+ Talking to a shop NPC
16
+ """
14
17
  _byte_size: int = 0
15
18
  _npc_index: int = None # type: ignore [assignment]
16
19
 
@@ -78,9 +81,13 @@ class ShopOpenClientPacket(Packet):
78
81
  writer (EoWriter): The writer that the data will be serialized to.
79
82
  data (ShopOpenClientPacket): The data to serialize.
80
83
  """
81
- if data._npc_index is None:
82
- raise SerializationError("npc_index must be provided.")
83
- writer.add_short(data._npc_index)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._npc_index is None:
87
+ raise SerializationError("npc_index must be provided.")
88
+ writer.add_short(data._npc_index)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
84
91
 
85
92
  @staticmethod
86
93
  def deserialize(reader: EoReader) -> "ShopOpenClientPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class ShopSellClientPacket(Packet):
15
+ """
16
+ Selling an item to a shop
17
+ """
15
18
  _byte_size: int = 0
16
19
  _sell_item: Item = None # type: ignore [assignment]
17
20
  _session_id: int = None # type: ignore [assignment]
@@ -88,12 +91,16 @@ class ShopSellClientPacket(Packet):
88
91
  writer (EoWriter): The writer that the data will be serialized to.
89
92
  data (ShopSellClientPacket): The data to serialize.
90
93
  """
91
- if data._sell_item is None:
92
- raise SerializationError("sell_item must be provided.")
93
- Item.serialize(writer, data._sell_item)
94
- if data._session_id is None:
95
- raise SerializationError("session_id must be provided.")
96
- writer.add_int(data._session_id)
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._sell_item is None:
97
+ raise SerializationError("sell_item must be provided.")
98
+ Item.serialize(writer, data._sell_item)
99
+ if data._session_id is None:
100
+ raise SerializationError("session_id must be provided.")
101
+ writer.add_int(data._session_id)
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
104
 
98
105
  @staticmethod
99
106
  def deserialize(reader: EoReader) -> "ShopSellClientPacket":
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class SitRequestClientPacket(Packet):
17
+ """
18
+ Sit/stand request
19
+ """
17
20
  _byte_size: int = 0
18
21
  _sit_action: SitAction = None # type: ignore [assignment]
19
22
  _sit_action_data: 'SitRequestClientPacket.SitActionData' = None
@@ -85,13 +88,17 @@ class SitRequestClientPacket(Packet):
85
88
  writer (EoWriter): The writer that the data will be serialized to.
86
89
  data (SitRequestClientPacket): The data to serialize.
87
90
  """
88
- if data._sit_action is None:
89
- raise SerializationError("sit_action must be provided.")
90
- writer.add_char(int(data._sit_action))
91
- if data._sit_action == SitAction.Sit:
92
- if not isinstance(data._sit_action_data, SitRequestClientPacket.SitActionDataSit):
93
- raise SerializationError("Expected sit_action_data to be type SitRequestClientPacket.SitActionDataSit for sit_action " + SitAction(data._sit_action).name + ".")
94
- SitRequestClientPacket.SitActionDataSit.serialize(writer, data._sit_action_data)
91
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
92
+ try:
93
+ if data._sit_action is None:
94
+ raise SerializationError("sit_action must be provided.")
95
+ writer.add_char(int(data._sit_action))
96
+ if data._sit_action == SitAction.Sit:
97
+ if not isinstance(data._sit_action_data, SitRequestClientPacket.SitActionDataSit):
98
+ raise SerializationError("Expected sit_action_data to be type SitRequestClientPacket.SitActionDataSit for sit_action " + SitAction(data._sit_action).name + ".")
99
+ SitRequestClientPacket.SitActionDataSit.serialize(writer, data._sit_action_data)
100
+ finally:
101
+ writer.string_sanitization_mode = old_string_sanitization_mode
95
102
 
96
103
  @staticmethod
97
104
  def deserialize(reader: EoReader) -> "SitRequestClientPacket":
@@ -120,10 +127,9 @@ class SitRequestClientPacket(Packet):
120
127
  return f"SitRequestClientPacket(byte_size={repr(self._byte_size)}, sit_action={repr(self._sit_action)}, sit_action_data={repr(self._sit_action_data)})"
121
128
 
122
129
  SitActionData = Union['SitRequestClientPacket.SitActionDataSit', None]
123
- SitActionData.__doc__ = \
124
- """
125
- Data associated with different values of the `sit_action` field.
126
- """
130
+ """
131
+ Data associated with different values of the `sit_action` field.
132
+ """
127
133
 
128
134
  class SitActionDataSit:
129
135
  """
@@ -165,9 +171,13 @@ class SitRequestClientPacket(Packet):
165
171
  writer (EoWriter): The writer that the data will be serialized to.
166
172
  data (SitRequestClientPacket.SitActionDataSit): The data to serialize.
167
173
  """
168
- if data._cursor_coords is None:
169
- raise SerializationError("cursor_coords must be provided.")
170
- Coords.serialize(writer, data._cursor_coords)
174
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
175
+ try:
176
+ if data._cursor_coords is None:
177
+ raise SerializationError("cursor_coords must be provided.")
178
+ Coords.serialize(writer, data._cursor_coords)
179
+ finally:
180
+ writer.string_sanitization_mode = old_string_sanitization_mode
171
181
 
172
182
  @staticmethod
173
183
  def deserialize(reader: EoReader) -> "SitRequestClientPacket.SitActionDataSit":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class SpellRequestClientPacket(Packet):
14
+ """
15
+ Begin spell chanting
16
+ """
14
17
  _byte_size: int = 0
15
18
  _spell_id: int = None # type: ignore [assignment]
16
19
  _timestamp: int = None # type: ignore [assignment]
@@ -95,12 +98,16 @@ class SpellRequestClientPacket(Packet):
95
98
  writer (EoWriter): The writer that the data will be serialized to.
96
99
  data (SpellRequestClientPacket): The data to serialize.
97
100
  """
98
- if data._spell_id is None:
99
- raise SerializationError("spell_id must be provided.")
100
- writer.add_short(data._spell_id)
101
- if data._timestamp is None:
102
- raise SerializationError("timestamp must be provided.")
103
- writer.add_three(data._timestamp)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._spell_id is None:
104
+ raise SerializationError("spell_id must be provided.")
105
+ writer.add_short(data._spell_id)
106
+ if data._timestamp is None:
107
+ raise SerializationError("timestamp must be provided.")
108
+ writer.add_three(data._timestamp)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
104
111
 
105
112
  @staticmethod
106
113
  def deserialize(reader: EoReader) -> "SpellRequestClientPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class SpellTargetGroupClientPacket(Packet):
14
+ """
15
+ Group spell cast
16
+ """
14
17
  _byte_size: int = 0
15
18
  _spell_id: int = None # type: ignore [assignment]
16
19
  _timestamp: int = None # type: ignore [assignment]
@@ -95,12 +98,16 @@ class SpellTargetGroupClientPacket(Packet):
95
98
  writer (EoWriter): The writer that the data will be serialized to.
96
99
  data (SpellTargetGroupClientPacket): The data to serialize.
97
100
  """
98
- if data._spell_id is None:
99
- raise SerializationError("spell_id must be provided.")
100
- writer.add_short(data._spell_id)
101
- if data._timestamp is None:
102
- raise SerializationError("timestamp must be provided.")
103
- writer.add_three(data._timestamp)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._spell_id is None:
104
+ raise SerializationError("spell_id must be provided.")
105
+ writer.add_short(data._spell_id)
106
+ if data._timestamp is None:
107
+ raise SerializationError("timestamp must be provided.")
108
+ writer.add_three(data._timestamp)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
104
111
 
105
112
  @staticmethod
106
113
  def deserialize(reader: EoReader) -> "SpellTargetGroupClientPacket":