eolib 1.1.1__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 (431) hide show
  1. eolib/__about__.py +1 -1
  2. eolib/protocol/_generated/coords.py +10 -6
  3. eolib/protocol/_generated/emote.py +1 -1
  4. eolib/protocol/_generated/map/emf.py +113 -109
  5. eolib/protocol/_generated/map/map_graphic_layer.py +13 -9
  6. eolib/protocol/_generated/map/map_graphic_row.py +16 -12
  7. eolib/protocol/_generated/map/map_graphic_row_tile.py +10 -6
  8. eolib/protocol/_generated/map/map_item.py +22 -18
  9. eolib/protocol/_generated/map/map_legacy_door_key.py +10 -6
  10. eolib/protocol/_generated/map/map_npc.py +19 -15
  11. eolib/protocol/_generated/map/map_sign.py +18 -14
  12. eolib/protocol/_generated/map/map_tile_spec_row.py +16 -12
  13. eolib/protocol/_generated/map/map_tile_spec_row_tile.py +10 -6
  14. eolib/protocol/_generated/map/map_warp.py +16 -12
  15. eolib/protocol/_generated/map/map_warp_row.py +16 -12
  16. eolib/protocol/_generated/map/map_warp_row_tile.py +10 -6
  17. eolib/protocol/_generated/net/char_item.py +10 -6
  18. eolib/protocol/_generated/net/client/account_agree_client_packet.py +18 -12
  19. eolib/protocol/_generated/net/client/account_create_client_packet.py +38 -32
  20. eolib/protocol/_generated/net/client/account_request_client_packet.py +7 -3
  21. eolib/protocol/_generated/net/client/admin_interact_report_client_packet.py +13 -7
  22. eolib/protocol/_generated/net/client/admin_interact_tell_client_packet.py +7 -3
  23. eolib/protocol/_generated/net/client/attack_use_client_packet.py +10 -6
  24. eolib/protocol/_generated/net/client/bank_add_client_packet.py +10 -6
  25. eolib/protocol/_generated/net/client/bank_open_client_packet.py +7 -3
  26. eolib/protocol/_generated/net/client/bank_take_client_packet.py +10 -6
  27. eolib/protocol/_generated/net/client/barber_buy_client_packet.py +13 -9
  28. eolib/protocol/_generated/net/client/barber_open_client_packet.py +7 -3
  29. eolib/protocol/_generated/net/client/board_create_client_packet.py +18 -12
  30. eolib/protocol/_generated/net/client/board_open_client_packet.py +7 -3
  31. eolib/protocol/_generated/net/client/board_remove_client_packet.py +10 -6
  32. eolib/protocol/_generated/net/client/board_take_client_packet.py +10 -6
  33. eolib/protocol/_generated/net/client/book_request_client_packet.py +8 -4
  34. eolib/protocol/_generated/net/client/byte_coords.py +10 -6
  35. eolib/protocol/_generated/net/client/chair_request_client_packet.py +21 -14
  36. eolib/protocol/_generated/net/client/character_create_client_packet.py +26 -20
  37. eolib/protocol/_generated/net/client/character_remove_client_packet.py +10 -6
  38. eolib/protocol/_generated/net/client/character_request_client_packet.py +8 -2
  39. eolib/protocol/_generated/net/client/character_take_client_packet.py +7 -3
  40. eolib/protocol/_generated/net/client/chest_add_client_packet.py +10 -6
  41. eolib/protocol/_generated/net/client/chest_open_client_packet.py +7 -3
  42. eolib/protocol/_generated/net/client/chest_take_client_packet.py +10 -6
  43. eolib/protocol/_generated/net/client/citizen_accept_client_packet.py +10 -6
  44. eolib/protocol/_generated/net/client/citizen_open_client_packet.py +7 -3
  45. eolib/protocol/_generated/net/client/citizen_remove_client_packet.py +7 -3
  46. eolib/protocol/_generated/net/client/citizen_reply_client_packet.py +22 -16
  47. eolib/protocol/_generated/net/client/citizen_request_client_packet.py +10 -6
  48. eolib/protocol/_generated/net/client/connection_accept_client_packet.py +13 -9
  49. eolib/protocol/_generated/net/client/connection_ping_client_packet.py +5 -4
  50. eolib/protocol/_generated/net/client/door_open_client_packet.py +7 -3
  51. eolib/protocol/_generated/net/client/emote_report_client_packet.py +7 -3
  52. eolib/protocol/_generated/net/client/face_player_client_packet.py +7 -3
  53. eolib/protocol/_generated/net/client/global_close_client_packet.py +5 -4
  54. eolib/protocol/_generated/net/client/global_open_client_packet.py +5 -4
  55. eolib/protocol/_generated/net/client/global_player_client_packet.py +5 -4
  56. eolib/protocol/_generated/net/client/global_remove_client_packet.py +5 -4
  57. eolib/protocol/_generated/net/client/guild_accept_client_packet.py +8 -4
  58. eolib/protocol/_generated/net/client/guild_agree_client_packet.py +41 -30
  59. eolib/protocol/_generated/net/client/guild_buy_client_packet.py +10 -6
  60. eolib/protocol/_generated/net/client/guild_create_client_packet.py +22 -16
  61. eolib/protocol/_generated/net/client/guild_junk_client_packet.py +7 -3
  62. eolib/protocol/_generated/net/client/guild_kick_client_packet.py +10 -6
  63. eolib/protocol/_generated/net/client/guild_open_client_packet.py +7 -3
  64. eolib/protocol/_generated/net/client/guild_player_client_packet.py +18 -12
  65. eolib/protocol/_generated/net/client/guild_rank_client_packet.py +14 -10
  66. eolib/protocol/_generated/net/client/guild_remove_client_packet.py +7 -3
  67. eolib/protocol/_generated/net/client/guild_report_client_packet.py +10 -6
  68. eolib/protocol/_generated/net/client/guild_request_client_packet.py +18 -12
  69. eolib/protocol/_generated/net/client/guild_take_client_packet.py +34 -7
  70. eolib/protocol/_generated/net/client/guild_tell_client_packet.py +10 -6
  71. eolib/protocol/_generated/net/client/guild_use_client_packet.py +7 -3
  72. eolib/protocol/_generated/net/client/init_init_client_packet.py +19 -15
  73. eolib/protocol/_generated/net/client/item_drop_client_packet.py +12 -8
  74. eolib/protocol/_generated/net/client/item_get_client_packet.py +7 -3
  75. eolib/protocol/_generated/net/client/item_junk_client_packet.py +7 -3
  76. eolib/protocol/_generated/net/client/item_use_client_packet.py +7 -3
  77. eolib/protocol/_generated/net/client/jukebox_msg_client_packet.py +13 -7
  78. eolib/protocol/_generated/net/client/jukebox_open_client_packet.py +7 -3
  79. eolib/protocol/_generated/net/client/jukebox_use_client_packet.py +10 -6
  80. eolib/protocol/_generated/net/client/locker_add_client_packet.py +10 -6
  81. eolib/protocol/_generated/net/client/locker_buy_client_packet.py +5 -4
  82. eolib/protocol/_generated/net/client/locker_open_client_packet.py +7 -3
  83. eolib/protocol/_generated/net/client/locker_take_client_packet.py +10 -6
  84. eolib/protocol/_generated/net/client/login_request_client_packet.py +14 -8
  85. eolib/protocol/_generated/net/client/marriage_open_client_packet.py +7 -3
  86. eolib/protocol/_generated/net/client/marriage_request_client_packet.py +16 -10
  87. eolib/protocol/_generated/net/client/message_ping_client_packet.py +5 -4
  88. eolib/protocol/_generated/net/client/npc_range_request_client_packet.py +14 -10
  89. eolib/protocol/_generated/net/client/paperdoll_add_client_packet.py +10 -6
  90. eolib/protocol/_generated/net/client/paperdoll_remove_client_packet.py +10 -6
  91. eolib/protocol/_generated/net/client/paperdoll_request_client_packet.py +8 -4
  92. eolib/protocol/_generated/net/client/party_accept_client_packet.py +10 -6
  93. eolib/protocol/_generated/net/client/party_remove_client_packet.py +7 -3
  94. eolib/protocol/_generated/net/client/party_request_client_packet.py +10 -6
  95. eolib/protocol/_generated/net/client/party_take_client_packet.py +7 -3
  96. eolib/protocol/_generated/net/client/player_range_request_client_packet.py +8 -4
  97. eolib/protocol/_generated/net/client/players_accept_client_packet.py +7 -3
  98. eolib/protocol/_generated/net/client/players_list_client_packet.py +5 -4
  99. eolib/protocol/_generated/net/client/players_request_client_packet.py +5 -4
  100. eolib/protocol/_generated/net/client/priest_accept_client_packet.py +7 -3
  101. eolib/protocol/_generated/net/client/priest_open_client_packet.py +7 -3
  102. eolib/protocol/_generated/net/client/priest_request_client_packet.py +13 -7
  103. eolib/protocol/_generated/net/client/priest_use_client_packet.py +8 -4
  104. eolib/protocol/_generated/net/client/quest_accept_client_packet.py +33 -26
  105. eolib/protocol/_generated/net/client/quest_list_client_packet.py +7 -3
  106. eolib/protocol/_generated/net/client/quest_use_client_packet.py +10 -6
  107. eolib/protocol/_generated/net/client/range_request_client_packet.py +15 -9
  108. eolib/protocol/_generated/net/client/refresh_request_client_packet.py +5 -4
  109. eolib/protocol/_generated/net/client/shop_buy_client_packet.py +10 -6
  110. eolib/protocol/_generated/net/client/shop_create_client_packet.py +10 -6
  111. eolib/protocol/_generated/net/client/shop_open_client_packet.py +7 -3
  112. eolib/protocol/_generated/net/client/shop_sell_client_packet.py +10 -6
  113. eolib/protocol/_generated/net/client/sit_request_client_packet.py +21 -14
  114. eolib/protocol/_generated/net/client/spell_request_client_packet.py +10 -6
  115. eolib/protocol/_generated/net/client/spell_target_group_client_packet.py +10 -6
  116. eolib/protocol/_generated/net/client/spell_target_other_client_packet.py +19 -15
  117. eolib/protocol/_generated/net/client/spell_target_self_client_packet.py +13 -9
  118. eolib/protocol/_generated/net/client/spell_use_client_packet.py +7 -3
  119. eolib/protocol/_generated/net/client/stat_skill_add_client_packet.py +32 -21
  120. eolib/protocol/_generated/net/client/stat_skill_junk_client_packet.py +7 -3
  121. eolib/protocol/_generated/net/client/stat_skill_open_client_packet.py +7 -3
  122. eolib/protocol/_generated/net/client/stat_skill_remove_client_packet.py +10 -6
  123. eolib/protocol/_generated/net/client/stat_skill_take_client_packet.py +10 -6
  124. eolib/protocol/_generated/net/client/talk_admin_client_packet.py +7 -3
  125. eolib/protocol/_generated/net/client/talk_announce_client_packet.py +7 -3
  126. eolib/protocol/_generated/net/client/talk_msg_client_packet.py +7 -3
  127. eolib/protocol/_generated/net/client/talk_open_client_packet.py +7 -3
  128. eolib/protocol/_generated/net/client/talk_player_client_packet.py +7 -3
  129. eolib/protocol/_generated/net/client/talk_report_client_packet.py +7 -3
  130. eolib/protocol/_generated/net/client/talk_request_client_packet.py +7 -3
  131. eolib/protocol/_generated/net/client/talk_tell_client_packet.py +13 -7
  132. eolib/protocol/_generated/net/client/talk_use_client_packet.py +7 -3
  133. eolib/protocol/_generated/net/client/trade_accept_client_packet.py +8 -4
  134. eolib/protocol/_generated/net/client/trade_add_client_packet.py +7 -3
  135. eolib/protocol/_generated/net/client/trade_agree_client_packet.py +7 -3
  136. eolib/protocol/_generated/net/client/trade_close_client_packet.py +5 -4
  137. eolib/protocol/_generated/net/client/trade_remove_client_packet.py +7 -3
  138. eolib/protocol/_generated/net/client/trade_request_client_packet.py +8 -4
  139. eolib/protocol/_generated/net/client/walk_action.py +13 -9
  140. eolib/protocol/_generated/net/client/walk_admin_client_packet.py +7 -3
  141. eolib/protocol/_generated/net/client/walk_player_client_packet.py +7 -3
  142. eolib/protocol/_generated/net/client/walk_spec_client_packet.py +7 -3
  143. eolib/protocol/_generated/net/client/warp_accept_client_packet.py +10 -6
  144. eolib/protocol/_generated/net/client/warp_take_client_packet.py +10 -6
  145. eolib/protocol/_generated/net/client/welcome_agree_client_packet.py +68 -45
  146. eolib/protocol/_generated/net/client/welcome_msg_client_packet.py +10 -6
  147. eolib/protocol/_generated/net/client/welcome_request_client_packet.py +7 -3
  148. eolib/protocol/_generated/net/item.py +10 -6
  149. eolib/protocol/_generated/net/server/account_reply_server_packet.py +88 -57
  150. eolib/protocol/_generated/net/server/admin_interact_agree_server_packet.py +7 -3
  151. eolib/protocol/_generated/net/server/admin_interact_list_server_packet.py +27 -21
  152. eolib/protocol/_generated/net/server/admin_interact_remove_server_packet.py +7 -3
  153. eolib/protocol/_generated/net/server/admin_interact_reply_server_packet.py +49 -36
  154. eolib/protocol/_generated/net/server/admin_interact_tell_server_packet.py +33 -27
  155. eolib/protocol/_generated/net/server/arena_accept_server_packet.py +21 -15
  156. eolib/protocol/_generated/net/server/arena_drop_server_packet.py +6 -5
  157. eolib/protocol/_generated/net/server/arena_spec_server_packet.py +25 -19
  158. eolib/protocol/_generated/net/server/arena_use_server_packet.py +7 -3
  159. eolib/protocol/_generated/net/server/attack_error_server_packet.py +5 -4
  160. eolib/protocol/_generated/net/server/attack_player_server_packet.py +10 -6
  161. eolib/protocol/_generated/net/server/avatar_admin_server_packet.py +36 -32
  162. eolib/protocol/_generated/net/server/avatar_agree_server_packet.py +7 -3
  163. eolib/protocol/_generated/net/server/avatar_change.py +53 -38
  164. eolib/protocol/_generated/net/server/avatar_change_type.py +1 -1
  165. eolib/protocol/_generated/net/server/avatar_remove_server_packet.py +10 -6
  166. eolib/protocol/_generated/net/server/avatar_reply_server_packet.py +22 -18
  167. eolib/protocol/_generated/net/server/bank_open_server_packet.py +13 -9
  168. eolib/protocol/_generated/net/server/bank_reply_server_packet.py +10 -6
  169. eolib/protocol/_generated/net/server/barber_agree_server_packet.py +10 -6
  170. eolib/protocol/_generated/net/server/barber_open_server_packet.py +7 -3
  171. eolib/protocol/_generated/net/server/big_coords.py +10 -6
  172. eolib/protocol/_generated/net/server/board_open_server_packet.py +19 -15
  173. eolib/protocol/_generated/net/server/board_player_server_packet.py +12 -6
  174. eolib/protocol/_generated/net/server/board_post_listing.py +17 -11
  175. eolib/protocol/_generated/net/server/book_reply_server_packet.py +17 -12
  176. eolib/protocol/_generated/net/server/cast_accept_server_packet.py +19 -15
  177. eolib/protocol/_generated/net/server/cast_reply_server_packet.py +28 -24
  178. eolib/protocol/_generated/net/server/cast_spec_server_packet.py +16 -12
  179. eolib/protocol/_generated/net/server/chair_close_server_packet.py +10 -6
  180. eolib/protocol/_generated/net/server/chair_player_server_packet.py +13 -9
  181. eolib/protocol/_generated/net/server/chair_remove_server_packet.py +10 -6
  182. eolib/protocol/_generated/net/server/chair_reply_server_packet.py +13 -9
  183. eolib/protocol/_generated/net/server/character_base_stats.py +22 -18
  184. eolib/protocol/_generated/net/server/character_base_stats_welcome.py +22 -18
  185. eolib/protocol/_generated/net/server/character_details.py +42 -36
  186. eolib/protocol/_generated/net/server/character_elemental_stats.py +22 -18
  187. eolib/protocol/_generated/net/server/character_map_info.py +70 -64
  188. eolib/protocol/_generated/net/server/character_player_server_packet.py +10 -6
  189. eolib/protocol/_generated/net/server/character_reply_server_packet.py +108 -79
  190. eolib/protocol/_generated/net/server/character_secondary_stats.py +19 -15
  191. eolib/protocol/_generated/net/server/character_secondary_stats_info_lookup.py +19 -15
  192. eolib/protocol/_generated/net/server/character_selection_list_entry.py +34 -28
  193. eolib/protocol/_generated/net/server/character_stats_equipment_change.py +16 -12
  194. eolib/protocol/_generated/net/server/character_stats_info_lookup.py +25 -21
  195. eolib/protocol/_generated/net/server/character_stats_reset.py +31 -27
  196. eolib/protocol/_generated/net/server/character_stats_update.py +22 -18
  197. eolib/protocol/_generated/net/server/character_stats_welcome.py +34 -30
  198. eolib/protocol/_generated/net/server/chest_agree_server_packet.py +8 -4
  199. eolib/protocol/_generated/net/server/chest_close_server_packet.py +13 -6
  200. eolib/protocol/_generated/net/server/chest_get_server_packet.py +14 -10
  201. eolib/protocol/_generated/net/server/chest_open_server_packet.py +11 -7
  202. eolib/protocol/_generated/net/server/chest_reply_server_packet.py +17 -13
  203. eolib/protocol/_generated/net/server/chest_spec_server_packet.py +5 -4
  204. eolib/protocol/_generated/net/server/citizen_accept_server_packet.py +7 -3
  205. eolib/protocol/_generated/net/server/citizen_open_server_packet.py +24 -18
  206. eolib/protocol/_generated/net/server/citizen_remove_server_packet.py +7 -3
  207. eolib/protocol/_generated/net/server/citizen_reply_server_packet.py +7 -3
  208. eolib/protocol/_generated/net/server/citizen_request_server_packet.py +7 -3
  209. eolib/protocol/_generated/net/server/connection_player_server_packet.py +10 -6
  210. eolib/protocol/_generated/net/server/dialog_entry.py +24 -17
  211. eolib/protocol/_generated/net/server/dialog_quest_entry.py +10 -6
  212. eolib/protocol/_generated/net/server/door_close_server_packet.py +7 -3
  213. eolib/protocol/_generated/net/server/door_open_server_packet.py +8 -4
  214. eolib/protocol/_generated/net/server/effect_admin_server_packet.py +16 -12
  215. eolib/protocol/_generated/net/server/effect_agree_server_packet.py +10 -6
  216. eolib/protocol/_generated/net/server/effect_player_server_packet.py +10 -6
  217. eolib/protocol/_generated/net/server/effect_report_server_packet.py +5 -4
  218. eolib/protocol/_generated/net/server/effect_spec_server_packet.py +44 -33
  219. eolib/protocol/_generated/net/server/effect_target_other_server_packet.py +17 -13
  220. eolib/protocol/_generated/net/server/effect_use_server_packet.py +21 -14
  221. eolib/protocol/_generated/net/server/emote_player_server_packet.py +10 -6
  222. eolib/protocol/_generated/net/server/equipment_change.py +20 -16
  223. eolib/protocol/_generated/net/server/equipment_character_select.py +19 -15
  224. eolib/protocol/_generated/net/server/equipment_map_info.py +23 -19
  225. eolib/protocol/_generated/net/server/equipment_paperdoll.py +50 -46
  226. eolib/protocol/_generated/net/server/equipment_welcome.py +49 -45
  227. eolib/protocol/_generated/net/server/face_player_server_packet.py +10 -6
  228. eolib/protocol/_generated/net/server/global_backfill_message.py +13 -7
  229. eolib/protocol/_generated/net/server/group_heal_target_player.py +13 -9
  230. eolib/protocol/_generated/net/server/guild_accept_server_packet.py +7 -3
  231. eolib/protocol/_generated/net/server/guild_agree_server_packet.py +22 -16
  232. eolib/protocol/_generated/net/server/guild_buy_server_packet.py +8 -4
  233. eolib/protocol/_generated/net/server/guild_create_server_packet.py +25 -19
  234. eolib/protocol/_generated/net/server/guild_kick_server_packet.py +5 -4
  235. eolib/protocol/_generated/net/server/guild_member.py +17 -11
  236. eolib/protocol/_generated/net/server/guild_open_server_packet.py +7 -3
  237. eolib/protocol/_generated/net/server/guild_rank_server_packet.py +13 -9
  238. eolib/protocol/_generated/net/server/guild_reply_server_packet.py +46 -31
  239. eolib/protocol/_generated/net/server/guild_report_server_packet.py +44 -42
  240. eolib/protocol/_generated/net/server/guild_request_server_packet.py +10 -6
  241. eolib/protocol/_generated/net/server/guild_sell_server_packet.py +7 -3
  242. eolib/protocol/_generated/net/server/guild_staff.py +13 -7
  243. eolib/protocol/_generated/net/server/guild_take_server_packet.py +7 -3
  244. eolib/protocol/_generated/net/server/guild_tell_server_packet.py +17 -13
  245. eolib/protocol/_generated/net/server/init_ban_type.py +1 -1
  246. eolib/protocol/_generated/net/server/init_init_server_packet.py +186 -124
  247. eolib/protocol/_generated/net/server/init_reply.py +3 -0
  248. eolib/protocol/_generated/net/server/item_accept_server_packet.py +7 -3
  249. eolib/protocol/_generated/net/server/item_add_server_packet.py +16 -12
  250. eolib/protocol/_generated/net/server/item_agree_server_packet.py +8 -4
  251. eolib/protocol/_generated/net/server/item_drop_server_packet.py +19 -15
  252. eolib/protocol/_generated/net/server/item_get_server_packet.py +13 -9
  253. eolib/protocol/_generated/net/server/item_junk_server_packet.py +13 -9
  254. eolib/protocol/_generated/net/server/item_kick_server_packet.py +10 -6
  255. eolib/protocol/_generated/net/server/item_map_info.py +16 -12
  256. eolib/protocol/_generated/net/server/item_obtain_server_packet.py +10 -6
  257. eolib/protocol/_generated/net/server/item_remove_server_packet.py +7 -3
  258. eolib/protocol/_generated/net/server/item_reply_server_packet.py +97 -74
  259. eolib/protocol/_generated/net/server/item_spec_server_packet.py +5 -4
  260. eolib/protocol/_generated/net/server/jukebox_agree_server_packet.py +7 -3
  261. eolib/protocol/_generated/net/server/jukebox_msg_server_packet.py +16 -12
  262. eolib/protocol/_generated/net/server/jukebox_open_server_packet.py +10 -6
  263. eolib/protocol/_generated/net/server/jukebox_player_server_packet.py +7 -3
  264. eolib/protocol/_generated/net/server/jukebox_reply_server_packet.py +5 -4
  265. eolib/protocol/_generated/net/server/jukebox_use_server_packet.py +11 -3
  266. eolib/protocol/_generated/net/server/level_up_stats.py +22 -18
  267. eolib/protocol/_generated/net/server/locker_buy_server_packet.py +10 -6
  268. eolib/protocol/_generated/net/server/locker_get_server_packet.py +14 -10
  269. eolib/protocol/_generated/net/server/locker_open_server_packet.py +11 -7
  270. eolib/protocol/_generated/net/server/locker_reply_server_packet.py +14 -10
  271. eolib/protocol/_generated/net/server/locker_spec_server_packet.py +7 -3
  272. eolib/protocol/_generated/net/server/login_reply.py +6 -0
  273. eolib/protocol/_generated/net/server/login_reply_server_packet.py +77 -50
  274. eolib/protocol/_generated/net/server/map_drain_damage_other.py +13 -9
  275. eolib/protocol/_generated/net/server/map_file.py +7 -3
  276. eolib/protocol/_generated/net/server/marriage_open_server_packet.py +7 -3
  277. eolib/protocol/_generated/net/server/marriage_reply_server_packet.py +21 -14
  278. eolib/protocol/_generated/net/server/message_accept_server_packet.py +13 -9
  279. eolib/protocol/_generated/net/server/message_close_server_packet.py +5 -4
  280. eolib/protocol/_generated/net/server/message_open_server_packet.py +7 -3
  281. eolib/protocol/_generated/net/server/message_pong_server_packet.py +5 -4
  282. eolib/protocol/_generated/net/server/music_player_server_packet.py +7 -3
  283. eolib/protocol/_generated/net/server/nearby_info.py +26 -22
  284. eolib/protocol/_generated/net/server/npc_accept_server_packet.py +13 -9
  285. eolib/protocol/_generated/net/server/npc_agree_server_packet.py +16 -12
  286. eolib/protocol/_generated/net/server/npc_dialog_server_packet.py +10 -6
  287. eolib/protocol/_generated/net/server/npc_junk_server_packet.py +7 -3
  288. eolib/protocol/_generated/net/server/npc_killed_data.py +28 -24
  289. eolib/protocol/_generated/net/server/npc_map_info.py +16 -12
  290. eolib/protocol/_generated/net/server/npc_player_server_packet.py +27 -21
  291. eolib/protocol/_generated/net/server/npc_reply_server_packet.py +22 -18
  292. eolib/protocol/_generated/net/server/npc_spec_server_packet.py +10 -6
  293. eolib/protocol/_generated/net/server/npc_update_attack.py +22 -18
  294. eolib/protocol/_generated/net/server/npc_update_chat.py +15 -11
  295. eolib/protocol/_generated/net/server/npc_update_position.py +13 -9
  296. eolib/protocol/_generated/net/server/online_player.py +26 -20
  297. eolib/protocol/_generated/net/server/paperdoll_agree_server_packet.py +19 -15
  298. eolib/protocol/_generated/net/server/paperdoll_ping_server_packet.py +9 -5
  299. eolib/protocol/_generated/net/server/paperdoll_remove_server_packet.py +16 -12
  300. eolib/protocol/_generated/net/server/paperdoll_reply_server_packet.py +15 -9
  301. eolib/protocol/_generated/net/server/party_add_server_packet.py +7 -3
  302. eolib/protocol/_generated/net/server/party_agree_server_packet.py +10 -6
  303. eolib/protocol/_generated/net/server/party_close_server_packet.py +5 -4
  304. eolib/protocol/_generated/net/server/party_create_server_packet.py +10 -5
  305. eolib/protocol/_generated/net/server/party_exp_share.py +16 -12
  306. eolib/protocol/_generated/net/server/party_list_server_packet.py +10 -5
  307. eolib/protocol/_generated/net/server/party_member.py +20 -16
  308. eolib/protocol/_generated/net/server/party_remove_server_packet.py +7 -3
  309. eolib/protocol/_generated/net/server/party_reply_server_packet.py +32 -21
  310. eolib/protocol/_generated/net/server/party_request_server_packet.py +13 -9
  311. eolib/protocol/_generated/net/server/party_target_group_server_packet.py +8 -4
  312. eolib/protocol/_generated/net/server/players_agree_server_packet.py +7 -3
  313. eolib/protocol/_generated/net/server/players_list.py +17 -13
  314. eolib/protocol/_generated/net/server/players_list_friends.py +17 -13
  315. eolib/protocol/_generated/net/server/players_list_server_packet.py +9 -3
  316. eolib/protocol/_generated/net/server/players_net242_server_packet.py +7 -3
  317. eolib/protocol/_generated/net/server/players_ping_server_packet.py +7 -3
  318. eolib/protocol/_generated/net/server/players_pong_server_packet.py +7 -3
  319. eolib/protocol/_generated/net/server/players_remove_server_packet.py +7 -3
  320. eolib/protocol/_generated/net/server/players_reply_server_packet.py +9 -3
  321. eolib/protocol/_generated/net/server/priest_open_server_packet.py +7 -3
  322. eolib/protocol/_generated/net/server/priest_reply_server_packet.py +7 -3
  323. eolib/protocol/_generated/net/server/priest_request_server_packet.py +10 -6
  324. eolib/protocol/_generated/net/server/pub_file.py +10 -6
  325. eolib/protocol/_generated/net/server/quest_dialog_server_packet.py +33 -30
  326. eolib/protocol/_generated/net/server/quest_list_server_packet.py +39 -28
  327. eolib/protocol/_generated/net/server/quest_progress_entry.py +23 -17
  328. eolib/protocol/_generated/net/server/quest_report_server_packet.py +14 -9
  329. eolib/protocol/_generated/net/server/range_reply_server_packet.py +7 -3
  330. eolib/protocol/_generated/net/server/recover_agree_server_packet.py +13 -9
  331. eolib/protocol/_generated/net/server/recover_list_server_packet.py +10 -6
  332. eolib/protocol/_generated/net/server/recover_player_server_packet.py +10 -6
  333. eolib/protocol/_generated/net/server/recover_reply_server_packet.py +21 -17
  334. eolib/protocol/_generated/net/server/recover_target_group_server_packet.py +19 -15
  335. eolib/protocol/_generated/net/server/refresh_reply_server_packet.py +7 -3
  336. eolib/protocol/_generated/net/server/server_settings.py +25 -21
  337. eolib/protocol/_generated/net/server/shop_buy_server_packet.py +13 -9
  338. eolib/protocol/_generated/net/server/shop_craft_item.py +13 -9
  339. eolib/protocol/_generated/net/server/shop_create_server_packet.py +16 -12
  340. eolib/protocol/_generated/net/server/shop_open_server_packet.py +23 -17
  341. eolib/protocol/_generated/net/server/shop_sell_server_packet.py +13 -9
  342. eolib/protocol/_generated/net/server/shop_sold_item.py +10 -6
  343. eolib/protocol/_generated/net/server/shop_trade_item.py +16 -12
  344. eolib/protocol/_generated/net/server/sit_close_server_packet.py +10 -6
  345. eolib/protocol/_generated/net/server/sit_player_server_packet.py +14 -10
  346. eolib/protocol/_generated/net/server/sit_remove_server_packet.py +10 -6
  347. eolib/protocol/_generated/net/server/sit_reply_server_packet.py +14 -10
  348. eolib/protocol/_generated/net/server/skill_learn.py +25 -21
  349. eolib/protocol/_generated/net/server/spell_error_server_packet.py +5 -4
  350. eolib/protocol/_generated/net/server/spell_player_server_packet.py +10 -6
  351. eolib/protocol/_generated/net/server/spell_request_server_packet.py +10 -6
  352. eolib/protocol/_generated/net/server/spell_target_group_server_packet.py +20 -16
  353. eolib/protocol/_generated/net/server/spell_target_other_server_packet.py +25 -21
  354. eolib/protocol/_generated/net/server/spell_target_self_server_packet.py +22 -18
  355. eolib/protocol/_generated/net/server/stat_skill_accept_server_packet.py +10 -6
  356. eolib/protocol/_generated/net/server/stat_skill_junk_server_packet.py +7 -3
  357. eolib/protocol/_generated/net/server/stat_skill_open_server_packet.py +17 -11
  358. eolib/protocol/_generated/net/server/stat_skill_player_server_packet.py +10 -6
  359. eolib/protocol/_generated/net/server/stat_skill_remove_server_packet.py +7 -3
  360. eolib/protocol/_generated/net/server/stat_skill_reply_server_packet.py +21 -14
  361. eolib/protocol/_generated/net/server/stat_skill_take_server_packet.py +10 -6
  362. eolib/protocol/_generated/net/server/talk_admin_server_packet.py +13 -7
  363. eolib/protocol/_generated/net/server/talk_announce_server_packet.py +13 -7
  364. eolib/protocol/_generated/net/server/talk_list_server_packet.py +10 -5
  365. eolib/protocol/_generated/net/server/talk_msg_server_packet.py +13 -7
  366. eolib/protocol/_generated/net/server/talk_open_server_packet.py +10 -6
  367. eolib/protocol/_generated/net/server/talk_player_server_packet.py +10 -6
  368. eolib/protocol/_generated/net/server/talk_reply_server_packet.py +10 -6
  369. eolib/protocol/_generated/net/server/talk_request_server_packet.py +13 -7
  370. eolib/protocol/_generated/net/server/talk_server_server_packet.py +7 -3
  371. eolib/protocol/_generated/net/server/talk_spec_server_packet.py +7 -3
  372. eolib/protocol/_generated/net/server/talk_tell_server_packet.py +13 -7
  373. eolib/protocol/_generated/net/server/trade_admin_server_packet.py +7 -3
  374. eolib/protocol/_generated/net/server/trade_agree_server_packet.py +10 -6
  375. eolib/protocol/_generated/net/server/trade_close_server_packet.py +7 -3
  376. eolib/protocol/_generated/net/server/trade_item_data.py +22 -16
  377. eolib/protocol/_generated/net/server/trade_open_server_packet.py +20 -14
  378. eolib/protocol/_generated/net/server/trade_reply_server_packet.py +7 -3
  379. eolib/protocol/_generated/net/server/trade_request_server_packet.py +11 -7
  380. eolib/protocol/_generated/net/server/trade_spec_server_packet.py +7 -3
  381. eolib/protocol/_generated/net/server/trade_use_server_packet.py +7 -3
  382. eolib/protocol/_generated/net/server/walk_close_server_packet.py +5 -4
  383. eolib/protocol/_generated/net/server/walk_open_server_packet.py +5 -4
  384. eolib/protocol/_generated/net/server/walk_player_server_packet.py +13 -9
  385. eolib/protocol/_generated/net/server/walk_reply_server_packet.py +20 -14
  386. eolib/protocol/_generated/net/server/warp_agree_server_packet.py +29 -20
  387. eolib/protocol/_generated/net/server/warp_create_server_packet.py +7 -3
  388. eolib/protocol/_generated/net/server/warp_player_server_packet.py +7 -3
  389. eolib/protocol/_generated/net/server/warp_request_server_packet.py +33 -26
  390. eolib/protocol/_generated/net/server/welcome_net242_server_packet.py +7 -3
  391. eolib/protocol/_generated/net/server/welcome_net243_server_packet.py +7 -3
  392. eolib/protocol/_generated/net/server/welcome_net244_server_packet.py +7 -3
  393. eolib/protocol/_generated/net/server/welcome_ping_server_packet.py +7 -3
  394. eolib/protocol/_generated/net/server/welcome_pong_server_packet.py +7 -3
  395. eolib/protocol/_generated/net/server/welcome_reply_server_packet.py +158 -147
  396. eolib/protocol/_generated/net/spell.py +10 -6
  397. eolib/protocol/_generated/net/three_item.py +10 -6
  398. eolib/protocol/_generated/net/version.py +13 -9
  399. eolib/protocol/_generated/net/weight.py +10 -6
  400. eolib/protocol/_generated/pub/ecf.py +21 -17
  401. eolib/protocol/_generated/pub/ecf_record.py +36 -32
  402. eolib/protocol/_generated/pub/eif.py +21 -17
  403. eolib/protocol/_generated/pub/eif_record.py +130 -126
  404. eolib/protocol/_generated/pub/enf.py +21 -17
  405. eolib/protocol/_generated/pub/enf_record.py +72 -68
  406. eolib/protocol/_generated/pub/esf.py +21 -17
  407. eolib/protocol/_generated/pub/esf_record.py +106 -102
  408. eolib/protocol/_generated/pub/server/__init__.py +30 -0
  409. eolib/protocol/_generated/pub/server/drop_file.py +81 -0
  410. eolib/protocol/_generated/pub/server/drop_npc_record.py +116 -0
  411. eolib/protocol/_generated/pub/server/drop_record.py +149 -0
  412. eolib/protocol/_generated/pub/server/inn_file.py +81 -0
  413. eolib/protocol/_generated/pub/server/inn_question_record.py +119 -0
  414. eolib/protocol/_generated/pub/server/inn_record.py +383 -0
  415. eolib/protocol/_generated/pub/server/shop_craft_ingredient_record.py +107 -0
  416. eolib/protocol/_generated/pub/server/shop_craft_record.py +110 -0
  417. eolib/protocol/_generated/pub/server/shop_file.py +81 -0
  418. eolib/protocol/_generated/pub/server/shop_record.py +253 -0
  419. eolib/protocol/_generated/pub/server/shop_trade_record.py +157 -0
  420. eolib/protocol/_generated/pub/server/skill_master_file.py +81 -0
  421. eolib/protocol/_generated/pub/server/skill_master_record.py +224 -0
  422. eolib/protocol/_generated/pub/server/skill_master_skill_record.py +336 -0
  423. eolib/protocol/_generated/pub/server/talk_file.py +81 -0
  424. eolib/protocol/_generated/pub/server/talk_message_record.py +90 -0
  425. eolib/protocol/_generated/pub/server/talk_record.py +145 -0
  426. eolib/protocol/protocol_enum_meta.py +1 -3
  427. eolib/protocol/pub/server/__init__.py +8 -0
  428. {eolib-1.1.1.dist-info → eolib-1.2.0.dist-info}/METADATA +5 -3
  429. {eolib-1.1.1.dist-info → eolib-1.2.0.dist-info}/RECORD +431 -412
  430. {eolib-1.1.1.dist-info → eolib-1.2.0.dist-info}/WHEEL +1 -1
  431. {eolib-1.1.1.dist-info → eolib-1.2.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -121,24 +121,28 @@ class CharacterStatsUpdate:
121
121
  writer (EoWriter): The writer that the data will be serialized to.
122
122
  data (CharacterStatsUpdate): The data to serialize.
123
123
  """
124
- if data._base_stats is None:
125
- raise SerializationError("base_stats must be provided.")
126
- CharacterBaseStats.serialize(writer, data._base_stats)
127
- if data._max_hp is None:
128
- raise SerializationError("max_hp must be provided.")
129
- writer.add_short(data._max_hp)
130
- if data._max_tp is None:
131
- raise SerializationError("max_tp must be provided.")
132
- writer.add_short(data._max_tp)
133
- if data._max_sp is None:
134
- raise SerializationError("max_sp must be provided.")
135
- writer.add_short(data._max_sp)
136
- if data._max_weight is None:
137
- raise SerializationError("max_weight must be provided.")
138
- writer.add_short(data._max_weight)
139
- if data._secondary_stats is None:
140
- raise SerializationError("secondary_stats must be provided.")
141
- CharacterSecondaryStats.serialize(writer, data._secondary_stats)
124
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
125
+ try:
126
+ if data._base_stats is None:
127
+ raise SerializationError("base_stats must be provided.")
128
+ CharacterBaseStats.serialize(writer, data._base_stats)
129
+ if data._max_hp is None:
130
+ raise SerializationError("max_hp must be provided.")
131
+ writer.add_short(data._max_hp)
132
+ if data._max_tp is None:
133
+ raise SerializationError("max_tp must be provided.")
134
+ writer.add_short(data._max_tp)
135
+ if data._max_sp is None:
136
+ raise SerializationError("max_sp must be provided.")
137
+ writer.add_short(data._max_sp)
138
+ if data._max_weight is None:
139
+ raise SerializationError("max_weight must be provided.")
140
+ writer.add_short(data._max_weight)
141
+ if data._secondary_stats is None:
142
+ raise SerializationError("secondary_stats must be provided.")
143
+ CharacterSecondaryStats.serialize(writer, data._secondary_stats)
144
+ finally:
145
+ writer.string_sanitization_mode = old_string_sanitization_mode
142
146
 
143
147
  @staticmethod
144
148
  def deserialize(reader: EoReader) -> "CharacterStatsUpdate":
@@ -189,36 +189,40 @@ class CharacterStatsWelcome:
189
189
  writer (EoWriter): The writer that the data will be serialized to.
190
190
  data (CharacterStatsWelcome): The data to serialize.
191
191
  """
192
- if data._hp is None:
193
- raise SerializationError("hp must be provided.")
194
- writer.add_short(data._hp)
195
- if data._max_hp is None:
196
- raise SerializationError("max_hp must be provided.")
197
- writer.add_short(data._max_hp)
198
- if data._tp is None:
199
- raise SerializationError("tp must be provided.")
200
- writer.add_short(data._tp)
201
- if data._max_tp is None:
202
- raise SerializationError("max_tp must be provided.")
203
- writer.add_short(data._max_tp)
204
- if data._max_sp is None:
205
- raise SerializationError("max_sp must be provided.")
206
- writer.add_short(data._max_sp)
207
- if data._stat_points is None:
208
- raise SerializationError("stat_points must be provided.")
209
- writer.add_short(data._stat_points)
210
- if data._skill_points is None:
211
- raise SerializationError("skill_points must be provided.")
212
- writer.add_short(data._skill_points)
213
- if data._karma is None:
214
- raise SerializationError("karma must be provided.")
215
- writer.add_short(data._karma)
216
- if data._secondary is None:
217
- raise SerializationError("secondary must be provided.")
218
- CharacterSecondaryStats.serialize(writer, data._secondary)
219
- if data._base is None:
220
- raise SerializationError("base must be provided.")
221
- CharacterBaseStatsWelcome.serialize(writer, data._base)
192
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
193
+ try:
194
+ if data._hp is None:
195
+ raise SerializationError("hp must be provided.")
196
+ writer.add_short(data._hp)
197
+ if data._max_hp is None:
198
+ raise SerializationError("max_hp must be provided.")
199
+ writer.add_short(data._max_hp)
200
+ if data._tp is None:
201
+ raise SerializationError("tp must be provided.")
202
+ writer.add_short(data._tp)
203
+ if data._max_tp is None:
204
+ raise SerializationError("max_tp must be provided.")
205
+ writer.add_short(data._max_tp)
206
+ if data._max_sp is None:
207
+ raise SerializationError("max_sp must be provided.")
208
+ writer.add_short(data._max_sp)
209
+ if data._stat_points is None:
210
+ raise SerializationError("stat_points must be provided.")
211
+ writer.add_short(data._stat_points)
212
+ if data._skill_points is None:
213
+ raise SerializationError("skill_points must be provided.")
214
+ writer.add_short(data._skill_points)
215
+ if data._karma is None:
216
+ raise SerializationError("karma must be provided.")
217
+ writer.add_short(data._karma)
218
+ if data._secondary is None:
219
+ raise SerializationError("secondary must be provided.")
220
+ CharacterSecondaryStats.serialize(writer, data._secondary)
221
+ if data._base is None:
222
+ raise SerializationError("base must be provided.")
223
+ CharacterBaseStatsWelcome.serialize(writer, data._base)
224
+ finally:
225
+ writer.string_sanitization_mode = old_string_sanitization_mode
222
226
 
223
227
  @staticmethod
224
228
  def deserialize(reader: EoReader) -> "CharacterStatsWelcome":
@@ -75,10 +75,14 @@ class ChestAgreeServerPacket(Packet):
75
75
  writer (EoWriter): The writer that the data will be serialized to.
76
76
  data (ChestAgreeServerPacket): The data to serialize.
77
77
  """
78
- if data._items is None:
79
- raise SerializationError("items must be provided.")
80
- for i in range(len(data._items)):
81
- ThreeItem.serialize(writer, data._items[i])
78
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
79
+ try:
80
+ if data._items is None:
81
+ raise SerializationError("items must be provided.")
82
+ for i in range(len(data._items)):
83
+ ThreeItem.serialize(writer, data._items[i])
84
+ finally:
85
+ writer.string_sanitization_mode = old_string_sanitization_mode
82
86
 
83
87
  @staticmethod
84
88
  def deserialize(reader: EoReader) -> "ChestAgreeServerPacket":
@@ -13,7 +13,7 @@ from .....data.eo_reader import EoReader
13
13
 
14
14
  class ChestCloseServerPacket(Packet):
15
15
  """
16
- Reply to trying to interact with a locked or "broken" chest.
16
+ Reply to trying to interact with a locked or "broken" chest.
17
17
  The official client assumes a broken chest if the packet is under 2 bytes in length.
18
18
  """
19
19
  _byte_size: int = 0
@@ -87,10 +87,16 @@ class ChestCloseServerPacket(Packet):
87
87
  writer (EoWriter): The writer that the data will be serialized to.
88
88
  data (ChestCloseServerPacket): The data to serialize.
89
89
  """
90
- reached_missing_optional = data._key is None
91
- if not reached_missing_optional:
92
- writer.add_short(cast(int, data._key))
93
- writer.add_string("N")
90
+ old_writer_length: int = len(writer)
91
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
92
+ try:
93
+ reached_missing_optional = data._key is None
94
+ if not reached_missing_optional:
95
+ writer.add_short(cast(int, data._key))
96
+ if len(writer) == old_writer_length:
97
+ writer.add_string("N")
98
+ finally:
99
+ writer.string_sanitization_mode = old_string_sanitization_mode
94
100
 
95
101
  @staticmethod
96
102
  def deserialize(reader: EoReader) -> "ChestCloseServerPacket":
@@ -109,7 +115,8 @@ class ChestCloseServerPacket(Packet):
109
115
  reader_start_position: int = reader.position
110
116
  if reader.remaining > 0:
111
117
  data._key = reader.get_short()
112
- reader.get_string()
118
+ if reader.position == reader_start_position:
119
+ reader.get_string()
113
120
  data._byte_size = reader.position - reader_start_position
114
121
  return data
115
122
  finally:
@@ -94,16 +94,20 @@ class ChestGetServerPacket(Packet):
94
94
  writer (EoWriter): The writer that the data will be serialized to.
95
95
  data (ChestGetServerPacket): The data to serialize.
96
96
  """
97
- if data._taken_item is None:
98
- raise SerializationError("taken_item must be provided.")
99
- ThreeItem.serialize(writer, data._taken_item)
100
- if data._weight is None:
101
- raise SerializationError("weight must be provided.")
102
- Weight.serialize(writer, data._weight)
103
- if data._items is None:
104
- raise SerializationError("items must be provided.")
105
- for i in range(len(data._items)):
106
- ThreeItem.serialize(writer, data._items[i])
97
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
98
+ try:
99
+ if data._taken_item is None:
100
+ raise SerializationError("taken_item must be provided.")
101
+ ThreeItem.serialize(writer, data._taken_item)
102
+ if data._weight is None:
103
+ raise SerializationError("weight must be provided.")
104
+ Weight.serialize(writer, data._weight)
105
+ if data._items is None:
106
+ raise SerializationError("items must be provided.")
107
+ for i in range(len(data._items)):
108
+ ThreeItem.serialize(writer, data._items[i])
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
107
111
 
108
112
  @staticmethod
109
113
  def deserialize(reader: EoReader) -> "ChestGetServerPacket":
@@ -85,13 +85,17 @@ class ChestOpenServerPacket(Packet):
85
85
  writer (EoWriter): The writer that the data will be serialized to.
86
86
  data (ChestOpenServerPacket): The data to serialize.
87
87
  """
88
- if data._coords is None:
89
- raise SerializationError("coords must be provided.")
90
- Coords.serialize(writer, data._coords)
91
- if data._items is None:
92
- raise SerializationError("items must be provided.")
93
- for i in range(len(data._items)):
94
- ThreeItem.serialize(writer, data._items[i])
88
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
89
+ try:
90
+ if data._coords is None:
91
+ raise SerializationError("coords must be provided.")
92
+ Coords.serialize(writer, data._coords)
93
+ if data._items is None:
94
+ raise SerializationError("items must be provided.")
95
+ for i in range(len(data._items)):
96
+ ThreeItem.serialize(writer, data._items[i])
97
+ finally:
98
+ writer.string_sanitization_mode = old_string_sanitization_mode
95
99
 
96
100
  @staticmethod
97
101
  def deserialize(reader: EoReader) -> "ChestOpenServerPacket":
@@ -119,19 +119,23 @@ class ChestReplyServerPacket(Packet):
119
119
  writer (EoWriter): The writer that the data will be serialized to.
120
120
  data (ChestReplyServerPacket): The data to serialize.
121
121
  """
122
- if data._added_item_id is None:
123
- raise SerializationError("added_item_id must be provided.")
124
- writer.add_short(data._added_item_id)
125
- if data._remaining_amount is None:
126
- raise SerializationError("remaining_amount must be provided.")
127
- writer.add_int(data._remaining_amount)
128
- if data._weight is None:
129
- raise SerializationError("weight must be provided.")
130
- Weight.serialize(writer, data._weight)
131
- if data._items is None:
132
- raise SerializationError("items must be provided.")
133
- for i in range(len(data._items)):
134
- ThreeItem.serialize(writer, data._items[i])
122
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
123
+ try:
124
+ if data._added_item_id is None:
125
+ raise SerializationError("added_item_id must be provided.")
126
+ writer.add_short(data._added_item_id)
127
+ if data._remaining_amount is None:
128
+ raise SerializationError("remaining_amount must be provided.")
129
+ writer.add_int(data._remaining_amount)
130
+ if data._weight is None:
131
+ raise SerializationError("weight must be provided.")
132
+ Weight.serialize(writer, data._weight)
133
+ if data._items is None:
134
+ raise SerializationError("items must be provided.")
135
+ for i in range(len(data._items)):
136
+ ThreeItem.serialize(writer, data._items[i])
137
+ finally:
138
+ writer.string_sanitization_mode = old_string_sanitization_mode
135
139
 
136
140
  @staticmethod
137
141
  def deserialize(reader: EoReader) -> "ChestReplyServerPacket":
@@ -63,9 +63,11 @@ class ChestSpecServerPacket(Packet):
63
63
  writer (EoWriter): The writer that the data will be serialized to.
64
64
  data (ChestSpecServerPacket): The data to serialize.
65
65
  """
66
- old_writer_length: int = len(writer)
67
- if len(writer) == old_writer_length:
66
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
67
+ try:
68
68
  writer.add_byte(0)
69
+ finally:
70
+ writer.string_sanitization_mode = old_string_sanitization_mode
69
71
 
70
72
  @staticmethod
71
73
  def deserialize(reader: EoReader) -> "ChestSpecServerPacket":
@@ -82,8 +84,7 @@ class ChestSpecServerPacket(Packet):
82
84
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
83
85
  try:
84
86
  reader_start_position: int = reader.position
85
- if reader.position == reader_start_position:
86
- reader.get_byte()
87
+ reader.get_byte()
87
88
  data._byte_size = reader.position - reader_start_position
88
89
  return data
89
90
  finally:
@@ -81,9 +81,13 @@ class CitizenAcceptServerPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (CitizenAcceptServerPacket): The data to serialize.
83
83
  """
84
- if data._gold_amount is None:
85
- raise SerializationError("gold_amount must be provided.")
86
- writer.add_int(data._gold_amount)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._gold_amount is None:
87
+ raise SerializationError("gold_amount must be provided.")
88
+ writer.add_int(data._gold_amount)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "CitizenAcceptServerPacket":
@@ -133,24 +133,30 @@ class CitizenOpenServerPacket(Packet):
133
133
  writer (EoWriter): The writer that the data will be serialized to.
134
134
  data (CitizenOpenServerPacket): The data to serialize.
135
135
  """
136
- if data._behavior_id is None:
137
- raise SerializationError("behavior_id must be provided.")
138
- writer.add_three(data._behavior_id)
139
- if data._current_home_id is None:
140
- raise SerializationError("current_home_id must be provided.")
141
- writer.add_char(data._current_home_id)
142
- if data._session_id is None:
143
- raise SerializationError("session_id must be provided.")
144
- writer.add_short(data._session_id)
145
- writer.add_byte(0xFF)
146
- if data._questions is None:
147
- raise SerializationError("questions must be provided.")
148
- if len(data._questions) != 3:
149
- raise SerializationError(f"Expected length of questions to be exactly 3, got {len(data._questions)}.")
150
- for i in range(3):
151
- if i > 0:
152
- writer.add_byte(0xFF)
153
- writer.add_string(data._questions[i])
136
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
137
+ try:
138
+ writer.string_sanitization_mode = True
139
+ if data._behavior_id is None:
140
+ raise SerializationError("behavior_id must be provided.")
141
+ writer.add_three(data._behavior_id)
142
+ if data._current_home_id is None:
143
+ raise SerializationError("current_home_id must be provided.")
144
+ writer.add_char(data._current_home_id)
145
+ if data._session_id is None:
146
+ raise SerializationError("session_id must be provided.")
147
+ writer.add_short(data._session_id)
148
+ writer.add_byte(0xFF)
149
+ if data._questions is None:
150
+ raise SerializationError("questions must be provided.")
151
+ if len(data._questions) != 3:
152
+ raise SerializationError(f"Expected length of questions to be exactly 3, got {len(data._questions)}.")
153
+ for i in range(3):
154
+ if i > 0:
155
+ writer.add_byte(0xFF)
156
+ writer.add_string(data._questions[i])
157
+ writer.string_sanitization_mode = False
158
+ finally:
159
+ writer.string_sanitization_mode = old_string_sanitization_mode
154
160
 
155
161
  @staticmethod
156
162
  def deserialize(reader: EoReader) -> "CitizenOpenServerPacket":
@@ -74,9 +74,13 @@ class CitizenRemoveServerPacket(Packet):
74
74
  writer (EoWriter): The writer that the data will be serialized to.
75
75
  data (CitizenRemoveServerPacket): The data to serialize.
76
76
  """
77
- if data._reply_code is None:
78
- raise SerializationError("reply_code must be provided.")
79
- writer.add_char(int(data._reply_code))
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._reply_code is None:
80
+ raise SerializationError("reply_code must be provided.")
81
+ writer.add_char(int(data._reply_code))
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
80
84
 
81
85
  @staticmethod
82
86
  def deserialize(reader: EoReader) -> "CitizenRemoveServerPacket":
@@ -81,9 +81,13 @@ class CitizenReplyServerPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (CitizenReplyServerPacket): The data to serialize.
83
83
  """
84
- if data._questions_wrong is None:
85
- raise SerializationError("questions_wrong must be provided.")
86
- writer.add_char(data._questions_wrong)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._questions_wrong is None:
87
+ raise SerializationError("questions_wrong must be provided.")
88
+ writer.add_char(data._questions_wrong)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "CitizenReplyServerPacket":
@@ -81,9 +81,13 @@ class CitizenRequestServerPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (CitizenRequestServerPacket): The data to serialize.
83
83
  """
84
- if data._cost is None:
85
- raise SerializationError("cost must be provided.")
86
- writer.add_int(data._cost)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._cost is None:
87
+ raise SerializationError("cost must be provided.")
88
+ writer.add_int(data._cost)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "CitizenRequestServerPacket":
@@ -98,12 +98,16 @@ class ConnectionPlayerServerPacket(Packet):
98
98
  writer (EoWriter): The writer that the data will be serialized to.
99
99
  data (ConnectionPlayerServerPacket): The data to serialize.
100
100
  """
101
- if data._seq1 is None:
102
- raise SerializationError("seq1 must be provided.")
103
- writer.add_short(data._seq1)
104
- if data._seq2 is None:
105
- raise SerializationError("seq2 must be provided.")
106
- writer.add_char(data._seq2)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._seq1 is None:
104
+ raise SerializationError("seq1 must be provided.")
105
+ writer.add_short(data._seq1)
106
+ if data._seq2 is None:
107
+ raise SerializationError("seq2 must be provided.")
108
+ writer.add_char(data._seq2)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
107
111
 
108
112
  @staticmethod
109
113
  def deserialize(reader: EoReader) -> "ConnectionPlayerServerPacket":
@@ -64,16 +64,20 @@ class DialogEntry:
64
64
  writer (EoWriter): The writer that the data will be serialized to.
65
65
  data (DialogEntry): The data to serialize.
66
66
  """
67
- if data._entry_type is None:
68
- raise SerializationError("entry_type must be provided.")
69
- writer.add_short(int(data._entry_type))
70
- if data._entry_type == DialogEntryType.Link:
71
- if not isinstance(data._entry_type_data, DialogEntry.EntryTypeDataLink):
72
- raise SerializationError("Expected entry_type_data to be type DialogEntry.EntryTypeDataLink for entry_type " + DialogEntryType(data._entry_type).name + ".")
73
- DialogEntry.EntryTypeDataLink.serialize(writer, data._entry_type_data)
74
- if data._line is None:
75
- raise SerializationError("line must be provided.")
76
- writer.add_string(data._line)
67
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
68
+ try:
69
+ if data._entry_type is None:
70
+ raise SerializationError("entry_type must be provided.")
71
+ writer.add_short(int(data._entry_type))
72
+ if data._entry_type == DialogEntryType.Link:
73
+ if not isinstance(data._entry_type_data, DialogEntry.EntryTypeDataLink):
74
+ raise SerializationError("Expected entry_type_data to be type DialogEntry.EntryTypeDataLink for entry_type " + DialogEntryType(data._entry_type).name + ".")
75
+ DialogEntry.EntryTypeDataLink.serialize(writer, data._entry_type_data)
76
+ if data._line is None:
77
+ raise SerializationError("line must be provided.")
78
+ writer.add_string(data._line)
79
+ finally:
80
+ writer.string_sanitization_mode = old_string_sanitization_mode
77
81
 
78
82
  @staticmethod
79
83
  def deserialize(reader: EoReader) -> "DialogEntry":
@@ -103,10 +107,9 @@ class DialogEntry:
103
107
  return f"DialogEntry(byte_size={repr(self._byte_size)}, entry_type={repr(self._entry_type)}, entry_type_data={repr(self._entry_type_data)}, line={repr(self._line)})"
104
108
 
105
109
  EntryTypeData = Union['DialogEntry.EntryTypeDataLink', None]
106
- EntryTypeData.__doc__ = \
107
- """
108
- Data associated with different values of the `entry_type` field.
109
- """
110
+ """
111
+ Data associated with different values of the `entry_type` field.
112
+ """
110
113
 
111
114
  class EntryTypeDataLink:
112
115
  """
@@ -150,9 +153,13 @@ class DialogEntry:
150
153
  writer (EoWriter): The writer that the data will be serialized to.
151
154
  data (DialogEntry.EntryTypeDataLink): The data to serialize.
152
155
  """
153
- if data._link_id is None:
154
- raise SerializationError("link_id must be provided.")
155
- writer.add_short(data._link_id)
156
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
157
+ try:
158
+ if data._link_id is None:
159
+ raise SerializationError("link_id must be provided.")
160
+ writer.add_short(data._link_id)
161
+ finally:
162
+ writer.string_sanitization_mode = old_string_sanitization_mode
156
163
 
157
164
  @staticmethod
158
165
  def deserialize(reader: EoReader) -> "DialogEntry.EntryTypeDataLink":
@@ -58,12 +58,16 @@ class DialogQuestEntry:
58
58
  writer (EoWriter): The writer that the data will be serialized to.
59
59
  data (DialogQuestEntry): The data to serialize.
60
60
  """
61
- if data._quest_id is None:
62
- raise SerializationError("quest_id must be provided.")
63
- writer.add_short(data._quest_id)
64
- if data._quest_name is None:
65
- raise SerializationError("quest_name must be provided.")
66
- writer.add_string(data._quest_name)
61
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
62
+ try:
63
+ if data._quest_id is None:
64
+ raise SerializationError("quest_id must be provided.")
65
+ writer.add_short(data._quest_id)
66
+ if data._quest_name is None:
67
+ raise SerializationError("quest_name must be provided.")
68
+ writer.add_string(data._quest_name)
69
+ finally:
70
+ writer.string_sanitization_mode = old_string_sanitization_mode
67
71
 
68
72
  @staticmethod
69
73
  def deserialize(reader: EoReader) -> "DialogQuestEntry":
@@ -81,9 +81,13 @@ class DoorCloseServerPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (DoorCloseServerPacket): The data to serialize.
83
83
  """
84
- if data._key is None:
85
- raise SerializationError("key must be provided.")
86
- writer.add_char(data._key)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._key is None:
87
+ raise SerializationError("key must be provided.")
88
+ writer.add_char(data._key)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "DoorCloseServerPacket":
@@ -74,10 +74,14 @@ class DoorOpenServerPacket(Packet):
74
74
  writer (EoWriter): The writer that the data will be serialized to.
75
75
  data (DoorOpenServerPacket): The data to serialize.
76
76
  """
77
- if data._coords is None:
78
- raise SerializationError("coords must be provided.")
79
- Coords.serialize(writer, data._coords)
80
- writer.add_char(0)
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._coords is None:
80
+ raise SerializationError("coords must be provided.")
81
+ Coords.serialize(writer, data._coords)
82
+ writer.add_char(0)
83
+ finally:
84
+ writer.string_sanitization_mode = old_string_sanitization_mode
81
85
 
82
86
  @staticmethod
83
87
  def deserialize(reader: EoReader) -> "DoorOpenServerPacket":
@@ -124,18 +124,22 @@ class EffectAdminServerPacket(Packet):
124
124
  writer (EoWriter): The writer that the data will be serialized to.
125
125
  data (EffectAdminServerPacket): The data to serialize.
126
126
  """
127
- if data._player_id is None:
128
- raise SerializationError("player_id must be provided.")
129
- writer.add_short(data._player_id)
130
- if data._hp_percentage is None:
131
- raise SerializationError("hp_percentage must be provided.")
132
- writer.add_char(data._hp_percentage)
133
- if data._died is None:
134
- raise SerializationError("died must be provided.")
135
- writer.add_char(1 if data._died else 0)
136
- if data._damage is None:
137
- raise SerializationError("damage must be provided.")
138
- writer.add_three(data._damage)
127
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
128
+ try:
129
+ if data._player_id is None:
130
+ raise SerializationError("player_id must be provided.")
131
+ writer.add_short(data._player_id)
132
+ if data._hp_percentage is None:
133
+ raise SerializationError("hp_percentage must be provided.")
134
+ writer.add_char(data._hp_percentage)
135
+ if data._died is None:
136
+ raise SerializationError("died must be provided.")
137
+ writer.add_char(1 if data._died else 0)
138
+ if data._damage is None:
139
+ raise SerializationError("damage must be provided.")
140
+ writer.add_three(data._damage)
141
+ finally:
142
+ writer.string_sanitization_mode = old_string_sanitization_mode
139
143
 
140
144
  @staticmethod
141
145
  def deserialize(reader: EoReader) -> "EffectAdminServerPacket":