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
@@ -15,6 +15,9 @@ from .....data.eo_writer import EoWriter
15
15
  from .....data.eo_reader import EoReader
16
16
 
17
17
  class NpcReplyServerPacket(Packet):
18
+ """
19
+ Nearby NPC hit by a player
20
+ """
18
21
  _byte_size: int = 0
19
22
  _player_id: int = None # type: ignore [assignment]
20
23
  _player_direction: Direction = None # type: ignore [assignment]
@@ -151,24 +154,28 @@ class NpcReplyServerPacket(Packet):
151
154
  writer (EoWriter): The writer that the data will be serialized to.
152
155
  data (NpcReplyServerPacket): The data to serialize.
153
156
  """
154
- if data._player_id is None:
155
- raise SerializationError("player_id must be provided.")
156
- writer.add_short(data._player_id)
157
- if data._player_direction is None:
158
- raise SerializationError("player_direction must be provided.")
159
- writer.add_char(int(data._player_direction))
160
- if data._npc_index is None:
161
- raise SerializationError("npc_index must be provided.")
162
- writer.add_short(data._npc_index)
163
- if data._damage is None:
164
- raise SerializationError("damage must be provided.")
165
- writer.add_three(data._damage)
166
- if data._hp_percentage is None:
167
- raise SerializationError("hp_percentage must be provided.")
168
- writer.add_short(data._hp_percentage)
169
- reached_missing_optional = data._kill_steal_protection is None
170
- if not reached_missing_optional:
171
- writer.add_char(int(cast(NpcKillStealProtectionState, data._kill_steal_protection)))
157
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
158
+ try:
159
+ if data._player_id is None:
160
+ raise SerializationError("player_id must be provided.")
161
+ writer.add_short(data._player_id)
162
+ if data._player_direction is None:
163
+ raise SerializationError("player_direction must be provided.")
164
+ writer.add_char(int(data._player_direction))
165
+ if data._npc_index is None:
166
+ raise SerializationError("npc_index must be provided.")
167
+ writer.add_short(data._npc_index)
168
+ if data._damage is None:
169
+ raise SerializationError("damage must be provided.")
170
+ writer.add_three(data._damage)
171
+ if data._hp_percentage is None:
172
+ raise SerializationError("hp_percentage must be provided.")
173
+ writer.add_short(data._hp_percentage)
174
+ reached_missing_optional = data._kill_steal_protection is None
175
+ if not reached_missing_optional:
176
+ writer.add_char(int(cast(NpcKillStealProtectionState, data._kill_steal_protection)))
177
+ finally:
178
+ writer.string_sanitization_mode = old_string_sanitization_mode
172
179
 
173
180
  @staticmethod
174
181
  def deserialize(reader: EoReader) -> "NpcReplyServerPacket":
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class NpcSpecServerPacket(Packet):
17
+ """
18
+ Nearby NPC killed by player
19
+ """
17
20
  _byte_size: int = 0
18
21
  _npc_killed_data: NpcKilledData = None # type: ignore [assignment]
19
22
  _experience: Optional[int] = None # type: ignore [assignment]
@@ -90,12 +93,16 @@ class NpcSpecServerPacket(Packet):
90
93
  writer (EoWriter): The writer that the data will be serialized to.
91
94
  data (NpcSpecServerPacket): The data to serialize.
92
95
  """
93
- if data._npc_killed_data is None:
94
- raise SerializationError("npc_killed_data must be provided.")
95
- NpcKilledData.serialize(writer, data._npc_killed_data)
96
- reached_missing_optional = data._experience is None
97
- if not reached_missing_optional:
98
- writer.add_int(cast(int, data._experience))
96
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
97
+ try:
98
+ if data._npc_killed_data is None:
99
+ raise SerializationError("npc_killed_data must be provided.")
100
+ NpcKilledData.serialize(writer, data._npc_killed_data)
101
+ reached_missing_optional = data._experience is None
102
+ if not reached_missing_optional:
103
+ writer.add_int(cast(int, data._experience))
104
+ finally:
105
+ writer.string_sanitization_mode = old_string_sanitization_mode
99
106
 
100
107
  @staticmethod
101
108
  def deserialize(reader: EoReader) -> "NpcSpecServerPacket":
@@ -120,24 +120,28 @@ class NpcUpdateAttack:
120
120
  writer (EoWriter): The writer that the data will be serialized to.
121
121
  data (NpcUpdateAttack): The data to serialize.
122
122
  """
123
- if data._npc_index is None:
124
- raise SerializationError("npc_index must be provided.")
125
- writer.add_char(data._npc_index)
126
- if data._killed is None:
127
- raise SerializationError("killed must be provided.")
128
- writer.add_char(int(data._killed))
129
- if data._direction is None:
130
- raise SerializationError("direction must be provided.")
131
- writer.add_char(int(data._direction))
132
- if data._player_id is None:
133
- raise SerializationError("player_id must be provided.")
134
- writer.add_short(data._player_id)
135
- if data._damage is None:
136
- raise SerializationError("damage must be provided.")
137
- writer.add_three(data._damage)
138
- if data._hp_percentage is None:
139
- raise SerializationError("hp_percentage must be provided.")
140
- writer.add_char(data._hp_percentage)
123
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
124
+ try:
125
+ if data._npc_index is None:
126
+ raise SerializationError("npc_index must be provided.")
127
+ writer.add_char(data._npc_index)
128
+ if data._killed is None:
129
+ raise SerializationError("killed must be provided.")
130
+ writer.add_char(int(data._killed))
131
+ if data._direction is None:
132
+ raise SerializationError("direction must be provided.")
133
+ writer.add_char(int(data._direction))
134
+ if data._player_id is None:
135
+ raise SerializationError("player_id must be provided.")
136
+ writer.add_short(data._player_id)
137
+ if data._damage is None:
138
+ raise SerializationError("damage must be provided.")
139
+ writer.add_three(data._damage)
140
+ if data._hp_percentage is None:
141
+ raise SerializationError("hp_percentage must be provided.")
142
+ writer.add_char(data._hp_percentage)
143
+ finally:
144
+ writer.string_sanitization_mode = old_string_sanitization_mode
141
145
 
142
146
  @staticmethod
143
147
  def deserialize(reader: EoReader) -> "NpcUpdateAttack":
@@ -68,17 +68,21 @@ class NpcUpdateChat:
68
68
  writer (EoWriter): The writer that the data will be serialized to.
69
69
  data (NpcUpdateChat): The data to serialize.
70
70
  """
71
- if data._npc_index is None:
72
- raise SerializationError("npc_index must be provided.")
73
- writer.add_char(data._npc_index)
74
- if data._message_length is None:
75
- raise SerializationError("message_length must be provided.")
76
- writer.add_char(data._message_length)
77
- if data._message is None:
78
- raise SerializationError("message must be provided.")
79
- if len(data._message) > 252:
80
- raise SerializationError(f"Expected length of message to be 252 or less, got {len(data._message)}.")
81
- writer.add_fixed_string(data._message, data._message_length, False)
71
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
72
+ try:
73
+ if data._npc_index is None:
74
+ raise SerializationError("npc_index must be provided.")
75
+ writer.add_char(data._npc_index)
76
+ if data._message_length is None:
77
+ raise SerializationError("message_length must be provided.")
78
+ writer.add_char(data._message_length)
79
+ if data._message is None:
80
+ raise SerializationError("message must be provided.")
81
+ if len(data._message) > 252:
82
+ raise SerializationError(f"Expected length of message to be 252 or less, got {len(data._message)}.")
83
+ writer.add_fixed_string(data._message, data._message_length, False)
84
+ finally:
85
+ writer.string_sanitization_mode = old_string_sanitization_mode
82
86
 
83
87
  @staticmethod
84
88
  def deserialize(reader: EoReader) -> "NpcUpdateChat":
@@ -69,15 +69,19 @@ class NpcUpdatePosition:
69
69
  writer (EoWriter): The writer that the data will be serialized to.
70
70
  data (NpcUpdatePosition): The data to serialize.
71
71
  """
72
- if data._npc_index is None:
73
- raise SerializationError("npc_index must be provided.")
74
- writer.add_char(data._npc_index)
75
- if data._coords is None:
76
- raise SerializationError("coords must be provided.")
77
- Coords.serialize(writer, data._coords)
78
- if data._direction is None:
79
- raise SerializationError("direction must be provided.")
80
- writer.add_char(int(data._direction))
72
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
73
+ try:
74
+ if data._npc_index is None:
75
+ raise SerializationError("npc_index must be provided.")
76
+ writer.add_char(data._npc_index)
77
+ if data._coords is None:
78
+ raise SerializationError("coords must be provided.")
79
+ Coords.serialize(writer, data._coords)
80
+ if data._direction is None:
81
+ raise SerializationError("direction must be provided.")
82
+ writer.add_char(int(data._direction))
83
+ finally:
84
+ writer.string_sanitization_mode = old_string_sanitization_mode
81
85
 
82
86
  @staticmethod
83
87
  def deserialize(reader: EoReader) -> "NpcUpdatePosition":
@@ -103,26 +103,32 @@ class OnlinePlayer:
103
103
  writer (EoWriter): The writer that the data will be serialized to.
104
104
  data (OnlinePlayer): The data to serialize.
105
105
  """
106
- if data._name is None:
107
- raise SerializationError("name must be provided.")
108
- writer.add_string(data._name)
109
- writer.add_byte(0xFF)
110
- if data._title is None:
111
- raise SerializationError("title must be provided.")
112
- writer.add_string(data._title)
113
- writer.add_byte(0xFF)
114
- if data._level is None:
115
- raise SerializationError("level must be provided.")
116
- writer.add_char(data._level)
117
- if data._icon is None:
118
- raise SerializationError("icon must be provided.")
119
- writer.add_char(int(data._icon))
120
- if data._class_id is None:
121
- raise SerializationError("class_id must be provided.")
122
- writer.add_char(data._class_id)
123
- if data._guild_tag is None:
124
- raise SerializationError("guild_tag must be provided.")
125
- writer.add_string(data._guild_tag)
106
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
107
+ try:
108
+ writer.string_sanitization_mode = True
109
+ if data._name is None:
110
+ raise SerializationError("name must be provided.")
111
+ writer.add_string(data._name)
112
+ writer.add_byte(0xFF)
113
+ if data._title is None:
114
+ raise SerializationError("title must be provided.")
115
+ writer.add_string(data._title)
116
+ writer.add_byte(0xFF)
117
+ if data._level is None:
118
+ raise SerializationError("level must be provided.")
119
+ writer.add_char(data._level)
120
+ if data._icon is None:
121
+ raise SerializationError("icon must be provided.")
122
+ writer.add_char(int(data._icon))
123
+ if data._class_id is None:
124
+ raise SerializationError("class_id must be provided.")
125
+ writer.add_char(data._class_id)
126
+ if data._guild_tag is None:
127
+ raise SerializationError("guild_tag must be provided.")
128
+ writer.add_string(data._guild_tag)
129
+ writer.string_sanitization_mode = False
130
+ finally:
131
+ writer.string_sanitization_mode = old_string_sanitization_mode
126
132
 
127
133
  @staticmethod
128
134
  def deserialize(reader: EoReader) -> "OnlinePlayer":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class PaperdollAgreeServerPacket(Packet):
16
+ """
17
+ Reply to equipping an item
18
+ """
16
19
  _byte_size: int = 0
17
20
  _change: AvatarChange = None # type: ignore [assignment]
18
21
  _item_id: int = None # type: ignore [assignment]
@@ -132,21 +135,25 @@ class PaperdollAgreeServerPacket(Packet):
132
135
  writer (EoWriter): The writer that the data will be serialized to.
133
136
  data (PaperdollAgreeServerPacket): The data to serialize.
134
137
  """
135
- if data._change is None:
136
- raise SerializationError("change must be provided.")
137
- AvatarChange.serialize(writer, data._change)
138
- if data._item_id is None:
139
- raise SerializationError("item_id must be provided.")
140
- writer.add_short(data._item_id)
141
- if data._remaining_amount is None:
142
- raise SerializationError("remaining_amount must be provided.")
143
- writer.add_three(data._remaining_amount)
144
- if data._sub_loc is None:
145
- raise SerializationError("sub_loc must be provided.")
146
- writer.add_char(data._sub_loc)
147
- if data._stats is None:
148
- raise SerializationError("stats must be provided.")
149
- CharacterStatsEquipmentChange.serialize(writer, data._stats)
138
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
139
+ try:
140
+ if data._change is None:
141
+ raise SerializationError("change must be provided.")
142
+ AvatarChange.serialize(writer, data._change)
143
+ if data._item_id is None:
144
+ raise SerializationError("item_id must be provided.")
145
+ writer.add_short(data._item_id)
146
+ if data._remaining_amount is None:
147
+ raise SerializationError("remaining_amount must be provided.")
148
+ writer.add_three(data._remaining_amount)
149
+ if data._sub_loc is None:
150
+ raise SerializationError("sub_loc must be provided.")
151
+ writer.add_char(data._sub_loc)
152
+ if data._stats is None:
153
+ raise SerializationError("stats must be provided.")
154
+ CharacterStatsEquipmentChange.serialize(writer, data._stats)
155
+ finally:
156
+ writer.string_sanitization_mode = old_string_sanitization_mode
150
157
 
151
158
  @staticmethod
152
159
  def deserialize(reader: EoReader) -> "PaperdollAgreeServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class PaperdollPingServerPacket(Packet):
14
+ """
15
+ Failed to equip an item due to being the incorrect class
16
+ """
14
17
  _byte_size: int = 0
15
18
  _class_id: int = None # type: ignore [assignment]
16
19
 
@@ -27,7 +30,7 @@ class PaperdollPingServerPacket(Packet):
27
30
  @property
28
31
  def class_id(self) -> int:
29
32
  """
30
- The player's current class ID (not the item's required class ID)
33
+ The player's current class ID (not the item's required class ID)
31
34
 
32
35
  Note:
33
36
  - Value range is 0-252.
@@ -37,7 +40,7 @@ class PaperdollPingServerPacket(Packet):
37
40
  @class_id.setter
38
41
  def class_id(self, class_id: int) -> None:
39
42
  """
40
- The player's current class ID (not the item's required class ID)
43
+ The player's current class ID (not the item's required class ID)
41
44
 
42
45
  Note:
43
46
  - Value range is 0-252.
@@ -82,9 +85,13 @@ class PaperdollPingServerPacket(Packet):
82
85
  writer (EoWriter): The writer that the data will be serialized to.
83
86
  data (PaperdollPingServerPacket): The data to serialize.
84
87
  """
85
- if data._class_id is None:
86
- raise SerializationError("class_id must be provided.")
87
- writer.add_char(data._class_id)
88
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
89
+ try:
90
+ if data._class_id is None:
91
+ raise SerializationError("class_id must be provided.")
92
+ writer.add_char(data._class_id)
93
+ finally:
94
+ writer.string_sanitization_mode = old_string_sanitization_mode
88
95
 
89
96
  @staticmethod
90
97
  def deserialize(reader: EoReader) -> "PaperdollPingServerPacket":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class PaperdollRemoveServerPacket(Packet):
16
+ """
17
+ Reply to unequipping an item
18
+ """
16
19
  _byte_size: int = 0
17
20
  _change: AvatarChange = None # type: ignore [assignment]
18
21
  _item_id: int = None # type: ignore [assignment]
@@ -115,18 +118,22 @@ class PaperdollRemoveServerPacket(Packet):
115
118
  writer (EoWriter): The writer that the data will be serialized to.
116
119
  data (PaperdollRemoveServerPacket): The data to serialize.
117
120
  """
118
- if data._change is None:
119
- raise SerializationError("change must be provided.")
120
- AvatarChange.serialize(writer, data._change)
121
- if data._item_id is None:
122
- raise SerializationError("item_id must be provided.")
123
- writer.add_short(data._item_id)
124
- if data._sub_loc is None:
125
- raise SerializationError("sub_loc must be provided.")
126
- writer.add_char(data._sub_loc)
127
- if data._stats is None:
128
- raise SerializationError("stats must be provided.")
129
- CharacterStatsEquipmentChange.serialize(writer, data._stats)
121
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
122
+ try:
123
+ if data._change is None:
124
+ raise SerializationError("change must be provided.")
125
+ AvatarChange.serialize(writer, data._change)
126
+ if data._item_id is None:
127
+ raise SerializationError("item_id must be provided.")
128
+ writer.add_short(data._item_id)
129
+ if data._sub_loc is None:
130
+ raise SerializationError("sub_loc must be provided.")
131
+ writer.add_char(data._sub_loc)
132
+ if data._stats is None:
133
+ raise SerializationError("stats must be provided.")
134
+ CharacterStatsEquipmentChange.serialize(writer, data._stats)
135
+ finally:
136
+ writer.string_sanitization_mode = old_string_sanitization_mode
130
137
 
131
138
  @staticmethod
132
139
  def deserialize(reader: EoReader) -> "PaperdollRemoveServerPacket":
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class PaperdollReplyServerPacket(Packet):
17
+ """
18
+ Reply to requesting a paperdoll
19
+ """
17
20
  _byte_size: int = 0
18
21
  _details: CharacterDetails = None # type: ignore [assignment]
19
22
  _equipment: EquipmentPaperdoll = None # type: ignore [assignment]
@@ -91,15 +94,21 @@ class PaperdollReplyServerPacket(Packet):
91
94
  writer (EoWriter): The writer that the data will be serialized to.
92
95
  data (PaperdollReplyServerPacket): The data to serialize.
93
96
  """
94
- if data._details is None:
95
- raise SerializationError("details must be provided.")
96
- CharacterDetails.serialize(writer, data._details)
97
- if data._equipment is None:
98
- raise SerializationError("equipment must be provided.")
99
- EquipmentPaperdoll.serialize(writer, data._equipment)
100
- if data._icon is None:
101
- raise SerializationError("icon must be provided.")
102
- writer.add_char(int(data._icon))
97
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
98
+ try:
99
+ writer.string_sanitization_mode = True
100
+ if data._details is None:
101
+ raise SerializationError("details must be provided.")
102
+ CharacterDetails.serialize(writer, data._details)
103
+ if data._equipment is None:
104
+ raise SerializationError("equipment must be provided.")
105
+ EquipmentPaperdoll.serialize(writer, data._equipment)
106
+ if data._icon is None:
107
+ raise SerializationError("icon must be provided.")
108
+ writer.add_char(int(data._icon))
109
+ writer.string_sanitization_mode = False
110
+ finally:
111
+ writer.string_sanitization_mode = old_string_sanitization_mode
103
112
 
104
113
  @staticmethod
105
114
  def deserialize(reader: EoReader) -> "PaperdollReplyServerPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class PartyAddServerPacket(Packet):
15
+ """
16
+ New player joined the party
17
+ """
15
18
  _byte_size: int = 0
16
19
  _member: PartyMember = None # type: ignore [assignment]
17
20
 
@@ -71,9 +74,13 @@ class PartyAddServerPacket(Packet):
71
74
  writer (EoWriter): The writer that the data will be serialized to.
72
75
  data (PartyAddServerPacket): The data to serialize.
73
76
  """
74
- if data._member is None:
75
- raise SerializationError("member must be provided.")
76
- PartyMember.serialize(writer, data._member)
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._member is None:
80
+ raise SerializationError("member must be provided.")
81
+ PartyMember.serialize(writer, data._member)
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
77
84
 
78
85
  @staticmethod
79
86
  def deserialize(reader: EoReader) -> "PartyAddServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class PartyAgreeServerPacket(Packet):
14
+ """
15
+ Party member list update
16
+ """
14
17
  _byte_size: int = 0
15
18
  _player_id: int = None # type: ignore [assignment]
16
19
  _hp_percentage: int = None # type: ignore [assignment]
@@ -95,12 +98,16 @@ class PartyAgreeServerPacket(Packet):
95
98
  writer (EoWriter): The writer that the data will be serialized to.
96
99
  data (PartyAgreeServerPacket): The data to serialize.
97
100
  """
98
- if data._player_id is None:
99
- raise SerializationError("player_id must be provided.")
100
- writer.add_short(data._player_id)
101
- if data._hp_percentage is None:
102
- raise SerializationError("hp_percentage must be provided.")
103
- writer.add_char(data._hp_percentage)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._player_id is None:
104
+ raise SerializationError("player_id must be provided.")
105
+ writer.add_short(data._player_id)
106
+ if data._hp_percentage is None:
107
+ raise SerializationError("hp_percentage must be provided.")
108
+ writer.add_char(data._hp_percentage)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
104
111
 
105
112
  @staticmethod
106
113
  def deserialize(reader: EoReader) -> "PartyAgreeServerPacket":
@@ -10,6 +10,9 @@ from .....data.eo_writer import EoWriter
10
10
  from .....data.eo_reader import EoReader
11
11
 
12
12
  class PartyCloseServerPacket(Packet):
13
+ """
14
+ Left / disbanded a party
15
+ """
13
16
  _byte_size: int = 0
14
17
 
15
18
  @property
@@ -60,9 +63,11 @@ class PartyCloseServerPacket(Packet):
60
63
  writer (EoWriter): The writer that the data will be serialized to.
61
64
  data (PartyCloseServerPacket): 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) -> "PartyCloseServerPacket":
@@ -79,8 +84,7 @@ class PartyCloseServerPacket(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:
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class PartyCreateServerPacket(Packet):
16
+ """
17
+ Member list received when party is first joined
18
+ """
16
19
  _byte_size: int = 0
17
20
  _members: list[PartyMember] = None # type: ignore [assignment]
18
21
 
@@ -72,12 +75,17 @@ class PartyCreateServerPacket(Packet):
72
75
  writer (EoWriter): The writer that the data will be serialized to.
73
76
  data (PartyCreateServerPacket): The data to serialize.
74
77
  """
75
- if data._members is None:
76
- raise SerializationError("members must be provided.")
77
- for i in range(len(data._members)):
78
- if i > 0:
78
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
79
+ try:
80
+ writer.string_sanitization_mode = True
81
+ if data._members is None:
82
+ raise SerializationError("members must be provided.")
83
+ for i in range(len(data._members)):
84
+ PartyMember.serialize(writer, data._members[i])
79
85
  writer.add_byte(0xFF)
80
- PartyMember.serialize(writer, data._members[i])
86
+ writer.string_sanitization_mode = False
87
+ finally:
88
+ writer.string_sanitization_mode = old_string_sanitization_mode
81
89
 
82
90
  @staticmethod
83
91
  def deserialize(reader: EoReader) -> "PartyCreateServerPacket":
@@ -9,7 +9,7 @@ from .....data.eo_reader import EoReader
9
9
 
10
10
  class PartyExpShare:
11
11
  """
12
- EXP gain for a member of the player's party
12
+ EXP gain for a member of the player's party
13
13
  """
14
14
  _byte_size: int = 0
15
15
  _player_id: int = None # type: ignore [assignment]
@@ -61,7 +61,7 @@ class PartyExpShare:
61
61
  @property
62
62
  def level_up(self) -> int:
63
63
  """
64
- A value greater than 0 is "new level" and indicates the player leveled up.
64
+ A value greater than 0 is "new level" and indicates the player leveled up.
65
65
 
66
66
  Note:
67
67
  - Value range is 0-252.
@@ -71,7 +71,7 @@ class PartyExpShare:
71
71
  @level_up.setter
72
72
  def level_up(self, level_up: int) -> None:
73
73
  """
74
- A value greater than 0 is "new level" and indicates the player leveled up.
74
+ A value greater than 0 is "new level" and indicates the player leveled up.
75
75
 
76
76
  Note:
77
77
  - Value range is 0-252.
@@ -87,15 +87,19 @@ class PartyExpShare:
87
87
  writer (EoWriter): The writer that the data will be serialized to.
88
88
  data (PartyExpShare): The data to serialize.
89
89
  """
90
- if data._player_id is None:
91
- raise SerializationError("player_id must be provided.")
92
- writer.add_short(data._player_id)
93
- if data._experience is None:
94
- raise SerializationError("experience must be provided.")
95
- writer.add_int(data._experience)
96
- if data._level_up is None:
97
- raise SerializationError("level_up must be provided.")
98
- writer.add_char(data._level_up)
90
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
91
+ try:
92
+ if data._player_id is None:
93
+ raise SerializationError("player_id must be provided.")
94
+ writer.add_short(data._player_id)
95
+ if data._experience is None:
96
+ raise SerializationError("experience must be provided.")
97
+ writer.add_int(data._experience)
98
+ if data._level_up is None:
99
+ raise SerializationError("level_up must be provided.")
100
+ writer.add_char(data._level_up)
101
+ finally:
102
+ writer.string_sanitization_mode = old_string_sanitization_mode
99
103
 
100
104
  @staticmethod
101
105
  def deserialize(reader: EoReader) -> "PartyExpShare":