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
@@ -144,27 +144,31 @@ class ServerSettings:
144
144
  writer (EoWriter): The writer that the data will be serialized to.
145
145
  data (ServerSettings): The data to serialize.
146
146
  """
147
- if data._jail_map is None:
148
- raise SerializationError("jail_map must be provided.")
149
- writer.add_short(data._jail_map)
150
- if data._rescue_map is None:
151
- raise SerializationError("rescue_map must be provided.")
152
- writer.add_short(data._rescue_map)
153
- if data._rescue_coords is None:
154
- raise SerializationError("rescue_coords must be provided.")
155
- Coords.serialize(writer, data._rescue_coords)
156
- if data._spy_and_light_guide_flood_rate is None:
157
- raise SerializationError("spy_and_light_guide_flood_rate must be provided.")
158
- writer.add_short(data._spy_and_light_guide_flood_rate)
159
- if data._guardian_flood_rate is None:
160
- raise SerializationError("guardian_flood_rate must be provided.")
161
- writer.add_short(data._guardian_flood_rate)
162
- if data._game_master_flood_rate is None:
163
- raise SerializationError("game_master_flood_rate must be provided.")
164
- writer.add_short(data._game_master_flood_rate)
165
- if data._high_game_master_flood_rate is None:
166
- raise SerializationError("high_game_master_flood_rate must be provided.")
167
- writer.add_short(data._high_game_master_flood_rate)
147
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
148
+ try:
149
+ if data._jail_map is None:
150
+ raise SerializationError("jail_map must be provided.")
151
+ writer.add_short(data._jail_map)
152
+ if data._rescue_map is None:
153
+ raise SerializationError("rescue_map must be provided.")
154
+ writer.add_short(data._rescue_map)
155
+ if data._rescue_coords is None:
156
+ raise SerializationError("rescue_coords must be provided.")
157
+ Coords.serialize(writer, data._rescue_coords)
158
+ if data._spy_and_light_guide_flood_rate is None:
159
+ raise SerializationError("spy_and_light_guide_flood_rate must be provided.")
160
+ writer.add_short(data._spy_and_light_guide_flood_rate)
161
+ if data._guardian_flood_rate is None:
162
+ raise SerializationError("guardian_flood_rate must be provided.")
163
+ writer.add_short(data._guardian_flood_rate)
164
+ if data._game_master_flood_rate is None:
165
+ raise SerializationError("game_master_flood_rate must be provided.")
166
+ writer.add_short(data._game_master_flood_rate)
167
+ if data._high_game_master_flood_rate is None:
168
+ raise SerializationError("high_game_master_flood_rate must be provided.")
169
+ writer.add_short(data._high_game_master_flood_rate)
170
+ finally:
171
+ writer.string_sanitization_mode = old_string_sanitization_mode
168
172
 
169
173
  @staticmethod
170
174
  def deserialize(reader: EoReader) -> "ServerSettings":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class ShopBuyServerPacket(Packet):
16
+ """
17
+ Response to purchasing an item from a shop
18
+ """
16
19
  _byte_size: int = 0
17
20
  _gold_amount: int = None # type: ignore [assignment]
18
21
  _bought_item: Item = None # type: ignore [assignment]
@@ -98,15 +101,19 @@ class ShopBuyServerPacket(Packet):
98
101
  writer (EoWriter): The writer that the data will be serialized to.
99
102
  data (ShopBuyServerPacket): The data to serialize.
100
103
  """
101
- if data._gold_amount is None:
102
- raise SerializationError("gold_amount must be provided.")
103
- writer.add_int(data._gold_amount)
104
- if data._bought_item is None:
105
- raise SerializationError("bought_item must be provided.")
106
- Item.serialize(writer, data._bought_item)
107
- if data._weight is None:
108
- raise SerializationError("weight must be provided.")
109
- Weight.serialize(writer, data._weight)
104
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
105
+ try:
106
+ if data._gold_amount is None:
107
+ raise SerializationError("gold_amount must be provided.")
108
+ writer.add_int(data._gold_amount)
109
+ if data._bought_item is None:
110
+ raise SerializationError("bought_item must be provided.")
111
+ Item.serialize(writer, data._bought_item)
112
+ if data._weight is None:
113
+ raise SerializationError("weight must be provided.")
114
+ Weight.serialize(writer, data._weight)
115
+ finally:
116
+ writer.string_sanitization_mode = old_string_sanitization_mode
110
117
 
111
118
  @staticmethod
112
119
  def deserialize(reader: EoReader) -> "ShopBuyServerPacket":
@@ -68,15 +68,19 @@ class ShopCraftItem:
68
68
  writer (EoWriter): The writer that the data will be serialized to.
69
69
  data (ShopCraftItem): The data to serialize.
70
70
  """
71
- if data._item_id is None:
72
- raise SerializationError("item_id must be provided.")
73
- writer.add_short(data._item_id)
74
- if data._ingredients is None:
75
- raise SerializationError("ingredients must be provided.")
76
- if len(data._ingredients) != 4:
77
- raise SerializationError(f"Expected length of ingredients to be exactly 4, got {len(data._ingredients)}.")
78
- for i in range(4):
79
- CharItem.serialize(writer, data._ingredients[i])
71
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
72
+ try:
73
+ if data._item_id is None:
74
+ raise SerializationError("item_id must be provided.")
75
+ writer.add_short(data._item_id)
76
+ if data._ingredients is None:
77
+ raise SerializationError("ingredients must be provided.")
78
+ if len(data._ingredients) != 4:
79
+ raise SerializationError(f"Expected length of ingredients to be exactly 4, got {len(data._ingredients)}.")
80
+ for i in range(4):
81
+ CharItem.serialize(writer, data._ingredients[i])
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
80
84
 
81
85
  @staticmethod
82
86
  def deserialize(reader: EoReader) -> "ShopCraftItem":
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class ShopCreateServerPacket(Packet):
17
+ """
18
+ Response to crafting an item from a shop
19
+ """
17
20
  _byte_size: int = 0
18
21
  _craft_item_id: int = None # type: ignore [assignment]
19
22
  _weight: Weight = None # type: ignore [assignment]
@@ -107,18 +110,22 @@ class ShopCreateServerPacket(Packet):
107
110
  writer (EoWriter): The writer that the data will be serialized to.
108
111
  data (ShopCreateServerPacket): The data to serialize.
109
112
  """
110
- if data._craft_item_id is None:
111
- raise SerializationError("craft_item_id must be provided.")
112
- writer.add_short(data._craft_item_id)
113
- if data._weight is None:
114
- raise SerializationError("weight must be provided.")
115
- Weight.serialize(writer, data._weight)
116
- if data._ingredients is None:
117
- raise SerializationError("ingredients must be provided.")
118
- if len(data._ingredients) != 4:
119
- raise SerializationError(f"Expected length of ingredients to be exactly 4, got {len(data._ingredients)}.")
120
- for i in range(4):
121
- Item.serialize(writer, data._ingredients[i])
113
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
114
+ try:
115
+ if data._craft_item_id is None:
116
+ raise SerializationError("craft_item_id must be provided.")
117
+ writer.add_short(data._craft_item_id)
118
+ if data._weight is None:
119
+ raise SerializationError("weight must be provided.")
120
+ Weight.serialize(writer, data._weight)
121
+ if data._ingredients is None:
122
+ raise SerializationError("ingredients must be provided.")
123
+ if len(data._ingredients) != 4:
124
+ raise SerializationError(f"Expected length of ingredients to be exactly 4, got {len(data._ingredients)}.")
125
+ for i in range(4):
126
+ Item.serialize(writer, data._ingredients[i])
127
+ finally:
128
+ writer.string_sanitization_mode = old_string_sanitization_mode
122
129
 
123
130
  @staticmethod
124
131
  def deserialize(reader: EoReader) -> "ShopCreateServerPacket":
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class ShopOpenServerPacket(Packet):
17
+ """
18
+ Response from talking to a shop NPC
19
+ """
17
20
  _byte_size: int = 0
18
21
  _session_id: int = None # type: ignore [assignment]
19
22
  _shop_name: str = None # type: ignore [assignment]
@@ -108,23 +111,29 @@ class ShopOpenServerPacket(Packet):
108
111
  writer (EoWriter): The writer that the data will be serialized to.
109
112
  data (ShopOpenServerPacket): The data to serialize.
110
113
  """
111
- if data._session_id is None:
112
- raise SerializationError("session_id must be provided.")
113
- writer.add_short(data._session_id)
114
- if data._shop_name is None:
115
- raise SerializationError("shop_name must be provided.")
116
- writer.add_string(data._shop_name)
117
- writer.add_byte(0xFF)
118
- if data._trade_items is None:
119
- raise SerializationError("trade_items must be provided.")
120
- for i in range(len(data._trade_items)):
121
- ShopTradeItem.serialize(writer, data._trade_items[i])
122
- writer.add_byte(0xFF)
123
- if data._craft_items is None:
124
- raise SerializationError("craft_items must be provided.")
125
- for i in range(len(data._craft_items)):
126
- ShopCraftItem.serialize(writer, data._craft_items[i])
127
- writer.add_byte(0xFF)
114
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
115
+ try:
116
+ writer.string_sanitization_mode = True
117
+ if data._session_id is None:
118
+ raise SerializationError("session_id must be provided.")
119
+ writer.add_short(data._session_id)
120
+ if data._shop_name is None:
121
+ raise SerializationError("shop_name must be provided.")
122
+ writer.add_string(data._shop_name)
123
+ writer.add_byte(0xFF)
124
+ if data._trade_items is None:
125
+ raise SerializationError("trade_items must be provided.")
126
+ for i in range(len(data._trade_items)):
127
+ ShopTradeItem.serialize(writer, data._trade_items[i])
128
+ writer.add_byte(0xFF)
129
+ if data._craft_items is None:
130
+ raise SerializationError("craft_items must be provided.")
131
+ for i in range(len(data._craft_items)):
132
+ ShopCraftItem.serialize(writer, data._craft_items[i])
133
+ writer.add_byte(0xFF)
134
+ writer.string_sanitization_mode = False
135
+ finally:
136
+ writer.string_sanitization_mode = old_string_sanitization_mode
128
137
 
129
138
  @staticmethod
130
139
  def deserialize(reader: EoReader) -> "ShopOpenServerPacket":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class ShopSellServerPacket(Packet):
16
+ """
17
+ Response to selling an item to a shop
18
+ """
16
19
  _byte_size: int = 0
17
20
  _sold_item: ShopSoldItem = None # type: ignore [assignment]
18
21
  _gold_amount: int = None # type: ignore [assignment]
@@ -98,15 +101,19 @@ class ShopSellServerPacket(Packet):
98
101
  writer (EoWriter): The writer that the data will be serialized to.
99
102
  data (ShopSellServerPacket): The data to serialize.
100
103
  """
101
- if data._sold_item is None:
102
- raise SerializationError("sold_item must be provided.")
103
- ShopSoldItem.serialize(writer, data._sold_item)
104
- if data._gold_amount is None:
105
- raise SerializationError("gold_amount must be provided.")
106
- writer.add_int(data._gold_amount)
107
- if data._weight is None:
108
- raise SerializationError("weight must be provided.")
109
- Weight.serialize(writer, data._weight)
104
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
105
+ try:
106
+ if data._sold_item is None:
107
+ raise SerializationError("sold_item must be provided.")
108
+ ShopSoldItem.serialize(writer, data._sold_item)
109
+ if data._gold_amount is None:
110
+ raise SerializationError("gold_amount must be provided.")
111
+ writer.add_int(data._gold_amount)
112
+ if data._weight is None:
113
+ raise SerializationError("weight must be provided.")
114
+ Weight.serialize(writer, data._weight)
115
+ finally:
116
+ writer.string_sanitization_mode = old_string_sanitization_mode
110
117
 
111
118
  @staticmethod
112
119
  def deserialize(reader: EoReader) -> "ShopSellServerPacket":
@@ -66,12 +66,16 @@ class ShopSoldItem:
66
66
  writer (EoWriter): The writer that the data will be serialized to.
67
67
  data (ShopSoldItem): The data to serialize.
68
68
  """
69
- if data._amount is None:
70
- raise SerializationError("amount must be provided.")
71
- writer.add_int(data._amount)
72
- if data._id is None:
73
- raise SerializationError("id must be provided.")
74
- writer.add_short(data._id)
69
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
70
+ try:
71
+ if data._amount is None:
72
+ raise SerializationError("amount must be provided.")
73
+ writer.add_int(data._amount)
74
+ if data._id is None:
75
+ raise SerializationError("id must be provided.")
76
+ writer.add_short(data._id)
77
+ finally:
78
+ writer.string_sanitization_mode = old_string_sanitization_mode
75
79
 
76
80
  @staticmethod
77
81
  def deserialize(reader: EoReader) -> "ShopSoldItem":
@@ -100,18 +100,22 @@ class ShopTradeItem:
100
100
  writer (EoWriter): The writer that the data will be serialized to.
101
101
  data (ShopTradeItem): The data to serialize.
102
102
  """
103
- if data._item_id is None:
104
- raise SerializationError("item_id must be provided.")
105
- writer.add_short(data._item_id)
106
- if data._buy_price is None:
107
- raise SerializationError("buy_price must be provided.")
108
- writer.add_three(data._buy_price)
109
- if data._sell_price is None:
110
- raise SerializationError("sell_price must be provided.")
111
- writer.add_three(data._sell_price)
112
- if data._max_buy_amount is None:
113
- raise SerializationError("max_buy_amount must be provided.")
114
- writer.add_char(data._max_buy_amount)
103
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
104
+ try:
105
+ if data._item_id is None:
106
+ raise SerializationError("item_id must be provided.")
107
+ writer.add_short(data._item_id)
108
+ if data._buy_price is None:
109
+ raise SerializationError("buy_price must be provided.")
110
+ writer.add_three(data._buy_price)
111
+ if data._sell_price is None:
112
+ raise SerializationError("sell_price must be provided.")
113
+ writer.add_three(data._sell_price)
114
+ if data._max_buy_amount is None:
115
+ raise SerializationError("max_buy_amount must be provided.")
116
+ writer.add_char(data._max_buy_amount)
117
+ finally:
118
+ writer.string_sanitization_mode = old_string_sanitization_mode
115
119
 
116
120
  @staticmethod
117
121
  def deserialize(reader: EoReader) -> "ShopTradeItem":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class SitCloseServerPacket(Packet):
15
+ """
16
+ Your character standing up
17
+ """
15
18
  _byte_size: int = 0
16
19
  _player_id: int = None # type: ignore [assignment]
17
20
  _coords: Coords = None # type: ignore [assignment]
@@ -88,12 +91,16 @@ class SitCloseServerPacket(Packet):
88
91
  writer (EoWriter): The writer that the data will be serialized to.
89
92
  data (SitCloseServerPacket): The data to serialize.
90
93
  """
91
- if data._player_id is None:
92
- raise SerializationError("player_id must be provided.")
93
- writer.add_short(data._player_id)
94
- if data._coords is None:
95
- raise SerializationError("coords must be provided.")
96
- Coords.serialize(writer, data._coords)
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._player_id is None:
97
+ raise SerializationError("player_id must be provided.")
98
+ writer.add_short(data._player_id)
99
+ if data._coords is None:
100
+ raise SerializationError("coords must be provided.")
101
+ Coords.serialize(writer, data._coords)
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
104
 
98
105
  @staticmethod
99
106
  def deserialize(reader: EoReader) -> "SitCloseServerPacket":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class SitPlayerServerPacket(Packet):
16
+ """
17
+ Nearby player sitting down
18
+ """
16
19
  _byte_size: int = 0
17
20
  _player_id: int = None # type: ignore [assignment]
18
21
  _coords: Coords = None # type: ignore [assignment]
@@ -98,16 +101,20 @@ class SitPlayerServerPacket(Packet):
98
101
  writer (EoWriter): The writer that the data will be serialized to.
99
102
  data (SitPlayerServerPacket): The data to serialize.
100
103
  """
101
- if data._player_id is None:
102
- raise SerializationError("player_id must be provided.")
103
- writer.add_short(data._player_id)
104
- if data._coords is None:
105
- raise SerializationError("coords must be provided.")
106
- Coords.serialize(writer, data._coords)
107
- if data._direction is None:
108
- raise SerializationError("direction must be provided.")
109
- writer.add_char(int(data._direction))
110
- writer.add_char(0)
104
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
105
+ try:
106
+ if data._player_id is None:
107
+ raise SerializationError("player_id must be provided.")
108
+ writer.add_short(data._player_id)
109
+ if data._coords is None:
110
+ raise SerializationError("coords must be provided.")
111
+ Coords.serialize(writer, data._coords)
112
+ if data._direction is None:
113
+ raise SerializationError("direction must be provided.")
114
+ writer.add_char(int(data._direction))
115
+ writer.add_char(0)
116
+ finally:
117
+ writer.string_sanitization_mode = old_string_sanitization_mode
111
118
 
112
119
  @staticmethod
113
120
  def deserialize(reader: EoReader) -> "SitPlayerServerPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class SitRemoveServerPacket(Packet):
15
+ """
16
+ Nearby player standing up
17
+ """
15
18
  _byte_size: int = 0
16
19
  _player_id: int = None # type: ignore [assignment]
17
20
  _coords: Coords = None # type: ignore [assignment]
@@ -88,12 +91,16 @@ class SitRemoveServerPacket(Packet):
88
91
  writer (EoWriter): The writer that the data will be serialized to.
89
92
  data (SitRemoveServerPacket): The data to serialize.
90
93
  """
91
- if data._player_id is None:
92
- raise SerializationError("player_id must be provided.")
93
- writer.add_short(data._player_id)
94
- if data._coords is None:
95
- raise SerializationError("coords must be provided.")
96
- Coords.serialize(writer, data._coords)
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._player_id is None:
97
+ raise SerializationError("player_id must be provided.")
98
+ writer.add_short(data._player_id)
99
+ if data._coords is None:
100
+ raise SerializationError("coords must be provided.")
101
+ Coords.serialize(writer, data._coords)
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
104
 
98
105
  @staticmethod
99
106
  def deserialize(reader: EoReader) -> "SitRemoveServerPacket":
@@ -13,6 +13,9 @@ from .....data.eo_writer import EoWriter
13
13
  from .....data.eo_reader import EoReader
14
14
 
15
15
  class SitReplyServerPacket(Packet):
16
+ """
17
+ Your character sitting down
18
+ """
16
19
  _byte_size: int = 0
17
20
  _player_id: int = None # type: ignore [assignment]
18
21
  _coords: Coords = None # type: ignore [assignment]
@@ -98,16 +101,20 @@ class SitReplyServerPacket(Packet):
98
101
  writer (EoWriter): The writer that the data will be serialized to.
99
102
  data (SitReplyServerPacket): The data to serialize.
100
103
  """
101
- if data._player_id is None:
102
- raise SerializationError("player_id must be provided.")
103
- writer.add_short(data._player_id)
104
- if data._coords is None:
105
- raise SerializationError("coords must be provided.")
106
- Coords.serialize(writer, data._coords)
107
- if data._direction is None:
108
- raise SerializationError("direction must be provided.")
109
- writer.add_char(int(data._direction))
110
- writer.add_char(0)
104
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
105
+ try:
106
+ if data._player_id is None:
107
+ raise SerializationError("player_id must be provided.")
108
+ writer.add_short(data._player_id)
109
+ if data._coords is None:
110
+ raise SerializationError("coords must be provided.")
111
+ Coords.serialize(writer, data._coords)
112
+ if data._direction is None:
113
+ raise SerializationError("direction must be provided.")
114
+ writer.add_char(int(data._direction))
115
+ writer.add_char(0)
116
+ finally:
117
+ writer.string_sanitization_mode = old_string_sanitization_mode
111
118
 
112
119
  @staticmethod
113
120
  def deserialize(reader: EoReader) -> "SitReplyServerPacket":
@@ -130,27 +130,31 @@ class SkillLearn:
130
130
  writer (EoWriter): The writer that the data will be serialized to.
131
131
  data (SkillLearn): The data to serialize.
132
132
  """
133
- if data._id is None:
134
- raise SerializationError("id must be provided.")
135
- writer.add_short(data._id)
136
- if data._level_requirement is None:
137
- raise SerializationError("level_requirement must be provided.")
138
- writer.add_char(data._level_requirement)
139
- if data._class_requirement is None:
140
- raise SerializationError("class_requirement must be provided.")
141
- writer.add_char(data._class_requirement)
142
- if data._cost is None:
143
- raise SerializationError("cost must be provided.")
144
- writer.add_int(data._cost)
145
- if data._skill_requirements is None:
146
- raise SerializationError("skill_requirements must be provided.")
147
- if len(data._skill_requirements) != 4:
148
- raise SerializationError(f"Expected length of skill_requirements to be exactly 4, got {len(data._skill_requirements)}.")
149
- for i in range(4):
150
- writer.add_short(data._skill_requirements[i])
151
- if data._stat_requirements is None:
152
- raise SerializationError("stat_requirements must be provided.")
153
- CharacterBaseStats.serialize(writer, data._stat_requirements)
133
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
134
+ try:
135
+ if data._id is None:
136
+ raise SerializationError("id must be provided.")
137
+ writer.add_short(data._id)
138
+ if data._level_requirement is None:
139
+ raise SerializationError("level_requirement must be provided.")
140
+ writer.add_char(data._level_requirement)
141
+ if data._class_requirement is None:
142
+ raise SerializationError("class_requirement must be provided.")
143
+ writer.add_char(data._class_requirement)
144
+ if data._cost is None:
145
+ raise SerializationError("cost must be provided.")
146
+ writer.add_int(data._cost)
147
+ if data._skill_requirements is None:
148
+ raise SerializationError("skill_requirements must be provided.")
149
+ if len(data._skill_requirements) != 4:
150
+ raise SerializationError(f"Expected length of skill_requirements to be exactly 4, got {len(data._skill_requirements)}.")
151
+ for i in range(4):
152
+ writer.add_short(data._skill_requirements[i])
153
+ if data._stat_requirements is None:
154
+ raise SerializationError("stat_requirements must be provided.")
155
+ CharacterBaseStats.serialize(writer, data._stat_requirements)
156
+ finally:
157
+ writer.string_sanitization_mode = old_string_sanitization_mode
154
158
 
155
159
  @staticmethod
156
160
  def deserialize(reader: EoReader) -> "SkillLearn":
@@ -10,6 +10,9 @@ from .....data.eo_writer import EoWriter
10
10
  from .....data.eo_reader import EoReader
11
11
 
12
12
  class SpellErrorServerPacket(Packet):
13
+ """
14
+ Show flood protection message (vestigial)
15
+ """
13
16
  _byte_size: int = 0
14
17
 
15
18
  @property
@@ -60,9 +63,11 @@ class SpellErrorServerPacket(Packet):
60
63
  writer (EoWriter): The writer that the data will be serialized to.
61
64
  data (SpellErrorServerPacket): 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) -> "SpellErrorServerPacket":
@@ -79,8 +84,7 @@ class SpellErrorServerPacket(Packet):
79
84
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
80
85
  try:
81
86
  reader_start_position: int = reader.position
82
- if reader.position == reader_start_position:
83
- reader.get_byte()
87
+ reader.get_byte()
84
88
  data._byte_size = reader.position - reader_start_position
85
89
  return data
86
90
  finally:
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class SpellPlayerServerPacket(Packet):
15
+ """
16
+ Nearby player raising their arm to cast a spell (vestigial)
17
+ """
15
18
  _byte_size: int = 0
16
19
  _player_id: int = None # type: ignore [assignment]
17
20
  _direction: Direction = None # type: ignore [assignment]
@@ -88,12 +91,16 @@ class SpellPlayerServerPacket(Packet):
88
91
  writer (EoWriter): The writer that the data will be serialized to.
89
92
  data (SpellPlayerServerPacket): The data to serialize.
90
93
  """
91
- if data._player_id is None:
92
- raise SerializationError("player_id must be provided.")
93
- writer.add_short(data._player_id)
94
- if data._direction is None:
95
- raise SerializationError("direction must be provided.")
96
- writer.add_char(int(data._direction))
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._player_id is None:
97
+ raise SerializationError("player_id must be provided.")
98
+ writer.add_short(data._player_id)
99
+ if data._direction is None:
100
+ raise SerializationError("direction must be provided.")
101
+ writer.add_char(int(data._direction))
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
104
 
98
105
  @staticmethod
99
106
  def deserialize(reader: EoReader) -> "SpellPlayerServerPacket":