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
@@ -121,24 +121,28 @@ class CharacterStatsUpdate:
121
121
  writer (EoWriter): The writer that the data will be serialized to.
122
122
  data (CharacterStatsUpdate): The data to serialize.
123
123
  """
124
- if data._base_stats is None:
125
- raise SerializationError("base_stats must be provided.")
126
- CharacterBaseStats.serialize(writer, data._base_stats)
127
- if data._max_hp is None:
128
- raise SerializationError("max_hp must be provided.")
129
- writer.add_short(data._max_hp)
130
- if data._max_tp is None:
131
- raise SerializationError("max_tp must be provided.")
132
- writer.add_short(data._max_tp)
133
- if data._max_sp is None:
134
- raise SerializationError("max_sp must be provided.")
135
- writer.add_short(data._max_sp)
136
- if data._max_weight is None:
137
- raise SerializationError("max_weight must be provided.")
138
- writer.add_short(data._max_weight)
139
- if data._secondary_stats is None:
140
- raise SerializationError("secondary_stats must be provided.")
141
- CharacterSecondaryStats.serialize(writer, data._secondary_stats)
124
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
125
+ try:
126
+ if data._base_stats is None:
127
+ raise SerializationError("base_stats must be provided.")
128
+ CharacterBaseStats.serialize(writer, data._base_stats)
129
+ if data._max_hp is None:
130
+ raise SerializationError("max_hp must be provided.")
131
+ writer.add_short(data._max_hp)
132
+ if data._max_tp is None:
133
+ raise SerializationError("max_tp must be provided.")
134
+ writer.add_short(data._max_tp)
135
+ if data._max_sp is None:
136
+ raise SerializationError("max_sp must be provided.")
137
+ writer.add_short(data._max_sp)
138
+ if data._max_weight is None:
139
+ raise SerializationError("max_weight must be provided.")
140
+ writer.add_short(data._max_weight)
141
+ if data._secondary_stats is None:
142
+ raise SerializationError("secondary_stats must be provided.")
143
+ CharacterSecondaryStats.serialize(writer, data._secondary_stats)
144
+ finally:
145
+ writer.string_sanitization_mode = old_string_sanitization_mode
142
146
 
143
147
  @staticmethod
144
148
  def deserialize(reader: EoReader) -> "CharacterStatsUpdate":
@@ -189,36 +189,40 @@ class CharacterStatsWelcome:
189
189
  writer (EoWriter): The writer that the data will be serialized to.
190
190
  data (CharacterStatsWelcome): The data to serialize.
191
191
  """
192
- if data._hp is None:
193
- raise SerializationError("hp must be provided.")
194
- writer.add_short(data._hp)
195
- if data._max_hp is None:
196
- raise SerializationError("max_hp must be provided.")
197
- writer.add_short(data._max_hp)
198
- if data._tp is None:
199
- raise SerializationError("tp must be provided.")
200
- writer.add_short(data._tp)
201
- if data._max_tp is None:
202
- raise SerializationError("max_tp must be provided.")
203
- writer.add_short(data._max_tp)
204
- if data._max_sp is None:
205
- raise SerializationError("max_sp must be provided.")
206
- writer.add_short(data._max_sp)
207
- if data._stat_points is None:
208
- raise SerializationError("stat_points must be provided.")
209
- writer.add_short(data._stat_points)
210
- if data._skill_points is None:
211
- raise SerializationError("skill_points must be provided.")
212
- writer.add_short(data._skill_points)
213
- if data._karma is None:
214
- raise SerializationError("karma must be provided.")
215
- writer.add_short(data._karma)
216
- if data._secondary is None:
217
- raise SerializationError("secondary must be provided.")
218
- CharacterSecondaryStats.serialize(writer, data._secondary)
219
- if data._base is None:
220
- raise SerializationError("base must be provided.")
221
- CharacterBaseStatsWelcome.serialize(writer, data._base)
192
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
193
+ try:
194
+ if data._hp is None:
195
+ raise SerializationError("hp must be provided.")
196
+ writer.add_short(data._hp)
197
+ if data._max_hp is None:
198
+ raise SerializationError("max_hp must be provided.")
199
+ writer.add_short(data._max_hp)
200
+ if data._tp is None:
201
+ raise SerializationError("tp must be provided.")
202
+ writer.add_short(data._tp)
203
+ if data._max_tp is None:
204
+ raise SerializationError("max_tp must be provided.")
205
+ writer.add_short(data._max_tp)
206
+ if data._max_sp is None:
207
+ raise SerializationError("max_sp must be provided.")
208
+ writer.add_short(data._max_sp)
209
+ if data._stat_points is None:
210
+ raise SerializationError("stat_points must be provided.")
211
+ writer.add_short(data._stat_points)
212
+ if data._skill_points is None:
213
+ raise SerializationError("skill_points must be provided.")
214
+ writer.add_short(data._skill_points)
215
+ if data._karma is None:
216
+ raise SerializationError("karma must be provided.")
217
+ writer.add_short(data._karma)
218
+ if data._secondary is None:
219
+ raise SerializationError("secondary must be provided.")
220
+ CharacterSecondaryStats.serialize(writer, data._secondary)
221
+ if data._base is None:
222
+ raise SerializationError("base must be provided.")
223
+ CharacterBaseStatsWelcome.serialize(writer, data._base)
224
+ finally:
225
+ writer.string_sanitization_mode = old_string_sanitization_mode
222
226
 
223
227
  @staticmethod
224
228
  def deserialize(reader: EoReader) -> "CharacterStatsWelcome":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class ChestAgreeServerPacket(Packet):
16
+ """
17
+ Chest contents updating
18
+ """
16
19
  _byte_size: int = 0
17
20
  _items: list[ThreeItem] = None # type: ignore [assignment]
18
21
 
@@ -72,10 +75,14 @@ class ChestAgreeServerPacket(Packet):
72
75
  writer (EoWriter): The writer that the data will be serialized to.
73
76
  data (ChestAgreeServerPacket): The data to serialize.
74
77
  """
75
- if data._items is None:
76
- raise SerializationError("items must be provided.")
77
- for i in range(len(data._items)):
78
- ThreeItem.serialize(writer, data._items[i])
78
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
79
+ try:
80
+ if data._items is None:
81
+ raise SerializationError("items must be provided.")
82
+ for i in range(len(data._items)):
83
+ ThreeItem.serialize(writer, data._items[i])
84
+ finally:
85
+ writer.string_sanitization_mode = old_string_sanitization_mode
79
86
 
80
87
  @staticmethod
81
88
  def deserialize(reader: EoReader) -> "ChestAgreeServerPacket":
@@ -12,6 +12,10 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class ChestCloseServerPacket(Packet):
15
+ """
16
+ Reply to trying to interact with a locked or "broken" chest.
17
+ The official client assumes a broken chest if the packet is under 2 bytes in length.
18
+ """
15
19
  _byte_size: int = 0
16
20
  _key: Optional[int] = None # type: ignore [assignment]
17
21
 
@@ -83,10 +87,16 @@ class ChestCloseServerPacket(Packet):
83
87
  writer (EoWriter): The writer that the data will be serialized to.
84
88
  data (ChestCloseServerPacket): The data to serialize.
85
89
  """
86
- reached_missing_optional = data._key is None
87
- if not reached_missing_optional:
88
- writer.add_short(cast(int, data._key))
89
- writer.add_string("N")
90
+ old_writer_length: int = len(writer)
91
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
92
+ try:
93
+ reached_missing_optional = data._key is None
94
+ if not reached_missing_optional:
95
+ writer.add_short(cast(int, data._key))
96
+ if len(writer) == old_writer_length:
97
+ writer.add_string("N")
98
+ finally:
99
+ writer.string_sanitization_mode = old_string_sanitization_mode
90
100
 
91
101
  @staticmethod
92
102
  def deserialize(reader: EoReader) -> "ChestCloseServerPacket":
@@ -105,7 +115,8 @@ class ChestCloseServerPacket(Packet):
105
115
  reader_start_position: int = reader.position
106
116
  if reader.remaining > 0:
107
117
  data._key = reader.get_short()
108
- reader.get_string()
118
+ if reader.position == reader_start_position:
119
+ reader.get_string()
109
120
  data._byte_size = reader.position - reader_start_position
110
121
  return data
111
122
  finally:
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class ChestGetServerPacket(Packet):
17
+ """
18
+ Reply to removing an item from a chest
19
+ """
17
20
  _byte_size: int = 0
18
21
  _taken_item: ThreeItem = None # type: ignore [assignment]
19
22
  _weight: Weight = None # type: ignore [assignment]
@@ -91,16 +94,20 @@ class ChestGetServerPacket(Packet):
91
94
  writer (EoWriter): The writer that the data will be serialized to.
92
95
  data (ChestGetServerPacket): The data to serialize.
93
96
  """
94
- if data._taken_item is None:
95
- raise SerializationError("taken_item must be provided.")
96
- ThreeItem.serialize(writer, data._taken_item)
97
- if data._weight is None:
98
- raise SerializationError("weight must be provided.")
99
- Weight.serialize(writer, data._weight)
100
- if data._items is None:
101
- raise SerializationError("items must be provided.")
102
- for i in range(len(data._items)):
103
- ThreeItem.serialize(writer, data._items[i])
97
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
98
+ try:
99
+ if data._taken_item is None:
100
+ raise SerializationError("taken_item must be provided.")
101
+ ThreeItem.serialize(writer, data._taken_item)
102
+ if data._weight is None:
103
+ raise SerializationError("weight must be provided.")
104
+ Weight.serialize(writer, data._weight)
105
+ if data._items is None:
106
+ raise SerializationError("items must be provided.")
107
+ for i in range(len(data._items)):
108
+ ThreeItem.serialize(writer, data._items[i])
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
104
111
 
105
112
  @staticmethod
106
113
  def deserialize(reader: EoReader) -> "ChestGetServerPacket":
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class ChestOpenServerPacket(Packet):
17
+ """
18
+ Reply to opening a chest
19
+ """
17
20
  _byte_size: int = 0
18
21
  _coords: Coords = None # type: ignore [assignment]
19
22
  _items: list[ThreeItem] = None # type: ignore [assignment]
@@ -82,13 +85,17 @@ class ChestOpenServerPacket(Packet):
82
85
  writer (EoWriter): The writer that the data will be serialized to.
83
86
  data (ChestOpenServerPacket): The data to serialize.
84
87
  """
85
- if data._coords is None:
86
- raise SerializationError("coords must be provided.")
87
- Coords.serialize(writer, data._coords)
88
- if data._items is None:
89
- raise SerializationError("items must be provided.")
90
- for i in range(len(data._items)):
91
- ThreeItem.serialize(writer, data._items[i])
88
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
89
+ try:
90
+ if data._coords is None:
91
+ raise SerializationError("coords must be provided.")
92
+ Coords.serialize(writer, data._coords)
93
+ if data._items is None:
94
+ raise SerializationError("items must be provided.")
95
+ for i in range(len(data._items)):
96
+ ThreeItem.serialize(writer, data._items[i])
97
+ finally:
98
+ writer.string_sanitization_mode = old_string_sanitization_mode
92
99
 
93
100
  @staticmethod
94
101
  def deserialize(reader: EoReader) -> "ChestOpenServerPacket":
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class ChestReplyServerPacket(Packet):
17
+ """
18
+ Reply to placing an item in to a chest
19
+ """
17
20
  _byte_size: int = 0
18
21
  _added_item_id: int = None # type: ignore [assignment]
19
22
  _remaining_amount: int = None # type: ignore [assignment]
@@ -116,19 +119,23 @@ class ChestReplyServerPacket(Packet):
116
119
  writer (EoWriter): The writer that the data will be serialized to.
117
120
  data (ChestReplyServerPacket): The data to serialize.
118
121
  """
119
- if data._added_item_id is None:
120
- raise SerializationError("added_item_id must be provided.")
121
- writer.add_short(data._added_item_id)
122
- if data._remaining_amount is None:
123
- raise SerializationError("remaining_amount must be provided.")
124
- writer.add_int(data._remaining_amount)
125
- if data._weight is None:
126
- raise SerializationError("weight must be provided.")
127
- Weight.serialize(writer, data._weight)
128
- if data._items is None:
129
- raise SerializationError("items must be provided.")
130
- for i in range(len(data._items)):
131
- ThreeItem.serialize(writer, data._items[i])
122
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
123
+ try:
124
+ if data._added_item_id is None:
125
+ raise SerializationError("added_item_id must be provided.")
126
+ writer.add_short(data._added_item_id)
127
+ if data._remaining_amount is None:
128
+ raise SerializationError("remaining_amount must be provided.")
129
+ writer.add_int(data._remaining_amount)
130
+ if data._weight is None:
131
+ raise SerializationError("weight must be provided.")
132
+ Weight.serialize(writer, data._weight)
133
+ if data._items is None:
134
+ raise SerializationError("items must be provided.")
135
+ for i in range(len(data._items)):
136
+ ThreeItem.serialize(writer, data._items[i])
137
+ finally:
138
+ writer.string_sanitization_mode = old_string_sanitization_mode
132
139
 
133
140
  @staticmethod
134
141
  def deserialize(reader: EoReader) -> "ChestReplyServerPacket":
@@ -10,6 +10,9 @@ from .....data.eo_writer import EoWriter
10
10
  from .....data.eo_reader import EoReader
11
11
 
12
12
  class ChestSpecServerPacket(Packet):
13
+ """
14
+ Reply to trying to add an item to a full chest
15
+ """
13
16
  _byte_size: int = 0
14
17
 
15
18
  @property
@@ -60,9 +63,11 @@ class ChestSpecServerPacket(Packet):
60
63
  writer (EoWriter): The writer that the data will be serialized to.
61
64
  data (ChestSpecServerPacket): 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(0)
69
+ finally:
70
+ writer.string_sanitization_mode = old_string_sanitization_mode
66
71
 
67
72
  @staticmethod
68
73
  def deserialize(reader: EoReader) -> "ChestSpecServerPacket":
@@ -79,8 +84,7 @@ class ChestSpecServerPacket(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 CitizenAcceptServerPacket(Packet):
14
+ """
15
+ Sleeping at an inn
16
+ """
14
17
  _byte_size: int = 0
15
18
  _gold_amount: int = None # type: ignore [assignment]
16
19
 
@@ -78,9 +81,13 @@ class CitizenAcceptServerPacket(Packet):
78
81
  writer (EoWriter): The writer that the data will be serialized to.
79
82
  data (CitizenAcceptServerPacket): The data to serialize.
80
83
  """
81
- if data._gold_amount is None:
82
- raise SerializationError("gold_amount must be provided.")
83
- writer.add_int(data._gold_amount)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._gold_amount is None:
87
+ raise SerializationError("gold_amount must be provided.")
88
+ writer.add_int(data._gold_amount)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
84
91
 
85
92
  @staticmethod
86
93
  def deserialize(reader: EoReader) -> "CitizenAcceptServerPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class CitizenOpenServerPacket(Packet):
15
+ """
16
+ Response from talking to a citizenship NPC
17
+ """
15
18
  _byte_size: int = 0
16
19
  _behavior_id: int = None # type: ignore [assignment]
17
20
  _current_home_id: int = None # type: ignore [assignment]
@@ -130,24 +133,30 @@ class CitizenOpenServerPacket(Packet):
130
133
  writer (EoWriter): The writer that the data will be serialized to.
131
134
  data (CitizenOpenServerPacket): The data to serialize.
132
135
  """
133
- if data._behavior_id is None:
134
- raise SerializationError("behavior_id must be provided.")
135
- writer.add_three(data._behavior_id)
136
- if data._current_home_id is None:
137
- raise SerializationError("current_home_id must be provided.")
138
- writer.add_char(data._current_home_id)
139
- if data._session_id is None:
140
- raise SerializationError("session_id must be provided.")
141
- writer.add_short(data._session_id)
142
- writer.add_byte(0xFF)
143
- if data._questions is None:
144
- raise SerializationError("questions must be provided.")
145
- if len(data._questions) != 3:
146
- raise SerializationError(f"Expected length of questions to be exactly 3, got {len(data._questions)}.")
147
- for i in range(3):
148
- if i > 0:
149
- writer.add_byte(0xFF)
150
- writer.add_string(data._questions[i])
136
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
137
+ try:
138
+ writer.string_sanitization_mode = True
139
+ if data._behavior_id is None:
140
+ raise SerializationError("behavior_id must be provided.")
141
+ writer.add_three(data._behavior_id)
142
+ if data._current_home_id is None:
143
+ raise SerializationError("current_home_id must be provided.")
144
+ writer.add_char(data._current_home_id)
145
+ if data._session_id is None:
146
+ raise SerializationError("session_id must be provided.")
147
+ writer.add_short(data._session_id)
148
+ writer.add_byte(0xFF)
149
+ if data._questions is None:
150
+ raise SerializationError("questions must be provided.")
151
+ if len(data._questions) != 3:
152
+ raise SerializationError(f"Expected length of questions to be exactly 3, got {len(data._questions)}.")
153
+ for i in range(3):
154
+ if i > 0:
155
+ writer.add_byte(0xFF)
156
+ writer.add_string(data._questions[i])
157
+ writer.string_sanitization_mode = False
158
+ finally:
159
+ writer.string_sanitization_mode = old_string_sanitization_mode
151
160
 
152
161
  @staticmethod
153
162
  def deserialize(reader: EoReader) -> "CitizenOpenServerPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class CitizenRemoveServerPacket(Packet):
15
+ """
16
+ Response to giving up citizenship of a town
17
+ """
15
18
  _byte_size: int = 0
16
19
  _reply_code: InnUnsubscribeReply = None # type: ignore [assignment]
17
20
 
@@ -71,9 +74,13 @@ class CitizenRemoveServerPacket(Packet):
71
74
  writer (EoWriter): The writer that the data will be serialized to.
72
75
  data (CitizenRemoveServerPacket): The data to serialize.
73
76
  """
74
- if data._reply_code is None:
75
- raise SerializationError("reply_code must be provided.")
76
- writer.add_char(int(data._reply_code))
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._reply_code is None:
80
+ raise SerializationError("reply_code must be provided.")
81
+ writer.add_char(int(data._reply_code))
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
77
84
 
78
85
  @staticmethod
79
86
  def deserialize(reader: EoReader) -> "CitizenRemoveServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class CitizenReplyServerPacket(Packet):
14
+ """
15
+ Response to subscribing to a town
16
+ """
14
17
  _byte_size: int = 0
15
18
  _questions_wrong: int = None # type: ignore [assignment]
16
19
 
@@ -78,9 +81,13 @@ class CitizenReplyServerPacket(Packet):
78
81
  writer (EoWriter): The writer that the data will be serialized to.
79
82
  data (CitizenReplyServerPacket): The data to serialize.
80
83
  """
81
- if data._questions_wrong is None:
82
- raise SerializationError("questions_wrong must be provided.")
83
- writer.add_char(data._questions_wrong)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._questions_wrong is None:
87
+ raise SerializationError("questions_wrong must be provided.")
88
+ writer.add_char(data._questions_wrong)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
84
91
 
85
92
  @staticmethod
86
93
  def deserialize(reader: EoReader) -> "CitizenReplyServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class CitizenRequestServerPacket(Packet):
14
+ """
15
+ Reply to requesting sleeping at an inn
16
+ """
14
17
  _byte_size: int = 0
15
18
  _cost: int = None # type: ignore [assignment]
16
19
 
@@ -78,9 +81,13 @@ class CitizenRequestServerPacket(Packet):
78
81
  writer (EoWriter): The writer that the data will be serialized to.
79
82
  data (CitizenRequestServerPacket): The data to serialize.
80
83
  """
81
- if data._cost is None:
82
- raise SerializationError("cost must be provided.")
83
- writer.add_int(data._cost)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._cost is None:
87
+ raise SerializationError("cost must be provided.")
88
+ writer.add_int(data._cost)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
84
91
 
85
92
  @staticmethod
86
93
  def deserialize(reader: EoReader) -> "CitizenRequestServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class ConnectionPlayerServerPacket(Packet):
14
+ """
15
+ Ping request
16
+ """
14
17
  _byte_size: int = 0
15
18
  _seq1: int = None # type: ignore [assignment]
16
19
  _seq2: int = None # type: ignore [assignment]
@@ -95,12 +98,16 @@ class ConnectionPlayerServerPacket(Packet):
95
98
  writer (EoWriter): The writer that the data will be serialized to.
96
99
  data (ConnectionPlayerServerPacket): The data to serialize.
97
100
  """
98
- if data._seq1 is None:
99
- raise SerializationError("seq1 must be provided.")
100
- writer.add_short(data._seq1)
101
- if data._seq2 is None:
102
- raise SerializationError("seq2 must be provided.")
103
- writer.add_char(data._seq2)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._seq1 is None:
104
+ raise SerializationError("seq1 must be provided.")
105
+ writer.add_short(data._seq1)
106
+ if data._seq2 is None:
107
+ raise SerializationError("seq2 must be provided.")
108
+ writer.add_char(data._seq2)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
104
111
 
105
112
  @staticmethod
106
113
  def deserialize(reader: EoReader) -> "ConnectionPlayerServerPacket":
@@ -64,16 +64,20 @@ class DialogEntry:
64
64
  writer (EoWriter): The writer that the data will be serialized to.
65
65
  data (DialogEntry): The data to serialize.
66
66
  """
67
- if data._entry_type is None:
68
- raise SerializationError("entry_type must be provided.")
69
- writer.add_short(int(data._entry_type))
70
- if data._entry_type == DialogEntryType.Link:
71
- if not isinstance(data._entry_type_data, DialogEntry.EntryTypeDataLink):
72
- raise SerializationError("Expected entry_type_data to be type DialogEntry.EntryTypeDataLink for entry_type " + DialogEntryType(data._entry_type).name + ".")
73
- DialogEntry.EntryTypeDataLink.serialize(writer, data._entry_type_data)
74
- if data._line is None:
75
- raise SerializationError("line must be provided.")
76
- writer.add_string(data._line)
67
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
68
+ try:
69
+ if data._entry_type is None:
70
+ raise SerializationError("entry_type must be provided.")
71
+ writer.add_short(int(data._entry_type))
72
+ if data._entry_type == DialogEntryType.Link:
73
+ if not isinstance(data._entry_type_data, DialogEntry.EntryTypeDataLink):
74
+ raise SerializationError("Expected entry_type_data to be type DialogEntry.EntryTypeDataLink for entry_type " + DialogEntryType(data._entry_type).name + ".")
75
+ DialogEntry.EntryTypeDataLink.serialize(writer, data._entry_type_data)
76
+ if data._line is None:
77
+ raise SerializationError("line must be provided.")
78
+ writer.add_string(data._line)
79
+ finally:
80
+ writer.string_sanitization_mode = old_string_sanitization_mode
77
81
 
78
82
  @staticmethod
79
83
  def deserialize(reader: EoReader) -> "DialogEntry":
@@ -103,10 +107,9 @@ class DialogEntry:
103
107
  return f"DialogEntry(byte_size={repr(self._byte_size)}, entry_type={repr(self._entry_type)}, entry_type_data={repr(self._entry_type_data)}, line={repr(self._line)})"
104
108
 
105
109
  EntryTypeData = Union['DialogEntry.EntryTypeDataLink', None]
106
- EntryTypeData.__doc__ = \
107
- """
108
- Data associated with different values of the `entry_type` field.
109
- """
110
+ """
111
+ Data associated with different values of the `entry_type` field.
112
+ """
110
113
 
111
114
  class EntryTypeDataLink:
112
115
  """
@@ -150,9 +153,13 @@ class DialogEntry:
150
153
  writer (EoWriter): The writer that the data will be serialized to.
151
154
  data (DialogEntry.EntryTypeDataLink): The data to serialize.
152
155
  """
153
- if data._link_id is None:
154
- raise SerializationError("link_id must be provided.")
155
- writer.add_short(data._link_id)
156
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
157
+ try:
158
+ if data._link_id is None:
159
+ raise SerializationError("link_id must be provided.")
160
+ writer.add_short(data._link_id)
161
+ finally:
162
+ writer.string_sanitization_mode = old_string_sanitization_mode
156
163
 
157
164
  @staticmethod
158
165
  def deserialize(reader: EoReader) -> "DialogEntry.EntryTypeDataLink":