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
@@ -97,17 +97,23 @@ class WelcomeReplyServerPacket(Packet):
97
97
  writer (EoWriter): The writer that the data will be serialized to.
98
98
  data (WelcomeReplyServerPacket): The data to serialize.
99
99
  """
100
- if data._welcome_code is None:
101
- raise SerializationError("welcome_code must be provided.")
102
- writer.add_short(int(data._welcome_code))
103
- if data._welcome_code == WelcomeCode.SelectCharacter:
104
- if not isinstance(data._welcome_code_data, WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter):
105
- raise SerializationError("Expected welcome_code_data to be type WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter for welcome_code " + WelcomeCode(data._welcome_code).name + ".")
106
- WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter.serialize(writer, data._welcome_code_data)
107
- elif data._welcome_code == WelcomeCode.EnterGame:
108
- if not isinstance(data._welcome_code_data, WelcomeReplyServerPacket.WelcomeCodeDataEnterGame):
109
- raise SerializationError("Expected welcome_code_data to be type WelcomeReplyServerPacket.WelcomeCodeDataEnterGame for welcome_code " + WelcomeCode(data._welcome_code).name + ".")
110
- WelcomeReplyServerPacket.WelcomeCodeDataEnterGame.serialize(writer, data._welcome_code_data)
100
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
101
+ try:
102
+ if data._welcome_code is None:
103
+ raise SerializationError("welcome_code must be provided.")
104
+ writer.add_short(int(data._welcome_code))
105
+ writer.string_sanitization_mode = True
106
+ if data._welcome_code == WelcomeCode.SelectCharacter:
107
+ if not isinstance(data._welcome_code_data, WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter):
108
+ raise SerializationError("Expected welcome_code_data to be type WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter for welcome_code " + WelcomeCode(data._welcome_code).name + ".")
109
+ WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter.serialize(writer, data._welcome_code_data)
110
+ elif data._welcome_code == WelcomeCode.EnterGame:
111
+ if not isinstance(data._welcome_code_data, WelcomeReplyServerPacket.WelcomeCodeDataEnterGame):
112
+ raise SerializationError("Expected welcome_code_data to be type WelcomeReplyServerPacket.WelcomeCodeDataEnterGame for welcome_code " + WelcomeCode(data._welcome_code).name + ".")
113
+ WelcomeReplyServerPacket.WelcomeCodeDataEnterGame.serialize(writer, data._welcome_code_data)
114
+ writer.string_sanitization_mode = False
115
+ finally:
116
+ writer.string_sanitization_mode = old_string_sanitization_mode
111
117
 
112
118
  @staticmethod
113
119
  def deserialize(reader: EoReader) -> "WelcomeReplyServerPacket":
@@ -140,10 +146,9 @@ class WelcomeReplyServerPacket(Packet):
140
146
  return f"WelcomeReplyServerPacket(byte_size={repr(self._byte_size)}, welcome_code={repr(self._welcome_code)}, welcome_code_data={repr(self._welcome_code_data)})"
141
147
 
142
148
  WelcomeCodeData = Union['WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter', 'WelcomeReplyServerPacket.WelcomeCodeDataEnterGame', None]
143
- WelcomeCodeData.__doc__ = \
144
- """
145
- Data associated with different values of the `welcome_code` field.
146
- """
149
+ """
150
+ Data associated with different values of the `welcome_code` field.
151
+ """
147
152
 
148
153
  class WelcomeCodeDataSelectCharacter:
149
154
  """
@@ -584,112 +589,116 @@ class WelcomeReplyServerPacket(Packet):
584
589
  writer (EoWriter): The writer that the data will be serialized to.
585
590
  data (WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter): The data to serialize.
586
591
  """
587
- if data._session_id is None:
588
- raise SerializationError("session_id must be provided.")
589
- writer.add_short(data._session_id)
590
- if data._character_id is None:
591
- raise SerializationError("character_id must be provided.")
592
- writer.add_int(data._character_id)
593
- if data._map_id is None:
594
- raise SerializationError("map_id must be provided.")
595
- writer.add_short(data._map_id)
596
- if data._map_rid is None:
597
- raise SerializationError("map_rid must be provided.")
598
- if len(data._map_rid) != 2:
599
- raise SerializationError(f"Expected length of map_rid to be exactly 2, got {len(data._map_rid)}.")
600
- for i in range(2):
601
- writer.add_short(data._map_rid[i])
602
- if data._map_file_size is None:
603
- raise SerializationError("map_file_size must be provided.")
604
- writer.add_three(data._map_file_size)
605
- if data._eif_rid is None:
606
- raise SerializationError("eif_rid must be provided.")
607
- if len(data._eif_rid) != 2:
608
- raise SerializationError(f"Expected length of eif_rid to be exactly 2, got {len(data._eif_rid)}.")
609
- for i in range(2):
610
- writer.add_short(data._eif_rid[i])
611
- if data._eif_length is None:
612
- raise SerializationError("eif_length must be provided.")
613
- writer.add_short(data._eif_length)
614
- if data._enf_rid is None:
615
- raise SerializationError("enf_rid must be provided.")
616
- if len(data._enf_rid) != 2:
617
- raise SerializationError(f"Expected length of enf_rid to be exactly 2, got {len(data._enf_rid)}.")
618
- for i in range(2):
619
- writer.add_short(data._enf_rid[i])
620
- if data._enf_length is None:
621
- raise SerializationError("enf_length must be provided.")
622
- writer.add_short(data._enf_length)
623
- if data._esf_rid is None:
624
- raise SerializationError("esf_rid must be provided.")
625
- if len(data._esf_rid) != 2:
626
- raise SerializationError(f"Expected length of esf_rid to be exactly 2, got {len(data._esf_rid)}.")
627
- for i in range(2):
628
- writer.add_short(data._esf_rid[i])
629
- if data._esf_length is None:
630
- raise SerializationError("esf_length must be provided.")
631
- writer.add_short(data._esf_length)
632
- if data._ecf_rid is None:
633
- raise SerializationError("ecf_rid must be provided.")
634
- if len(data._ecf_rid) != 2:
635
- raise SerializationError(f"Expected length of ecf_rid to be exactly 2, got {len(data._ecf_rid)}.")
636
- for i in range(2):
637
- writer.add_short(data._ecf_rid[i])
638
- if data._ecf_length is None:
639
- raise SerializationError("ecf_length must be provided.")
640
- writer.add_short(data._ecf_length)
641
- if data._name is None:
642
- raise SerializationError("name must be provided.")
643
- writer.add_string(data._name)
644
- writer.add_byte(0xFF)
645
- if data._title is None:
646
- raise SerializationError("title must be provided.")
647
- writer.add_string(data._title)
648
- writer.add_byte(0xFF)
649
- if data._guild_name is None:
650
- raise SerializationError("guild_name must be provided.")
651
- writer.add_string(data._guild_name)
652
- writer.add_byte(0xFF)
653
- if data._guild_rank_name is None:
654
- raise SerializationError("guild_rank_name must be provided.")
655
- writer.add_string(data._guild_rank_name)
656
- writer.add_byte(0xFF)
657
- if data._class_id is None:
658
- raise SerializationError("class_id must be provided.")
659
- writer.add_char(data._class_id)
660
- if data._guild_tag is None:
661
- raise SerializationError("guild_tag must be provided.")
662
- if len(data._guild_tag) != 3:
663
- raise SerializationError(f"Expected length of guild_tag to be exactly 3, got {len(data._guild_tag)}.")
664
- writer.add_fixed_string(data._guild_tag, 3, False)
665
- if data._admin is None:
666
- raise SerializationError("admin must be provided.")
667
- writer.add_char(int(data._admin))
668
- if data._level is None:
669
- raise SerializationError("level must be provided.")
670
- writer.add_char(data._level)
671
- if data._experience is None:
672
- raise SerializationError("experience must be provided.")
673
- writer.add_int(data._experience)
674
- if data._usage is None:
675
- raise SerializationError("usage must be provided.")
676
- writer.add_int(data._usage)
677
- if data._stats is None:
678
- raise SerializationError("stats must be provided.")
679
- CharacterStatsWelcome.serialize(writer, data._stats)
680
- if data._equipment is None:
681
- raise SerializationError("equipment must be provided.")
682
- EquipmentWelcome.serialize(writer, data._equipment)
683
- if data._guild_rank is None:
684
- raise SerializationError("guild_rank must be provided.")
685
- writer.add_char(data._guild_rank)
686
- if data._settings is None:
687
- raise SerializationError("settings must be provided.")
688
- ServerSettings.serialize(writer, data._settings)
689
- if data._login_message_code is None:
690
- raise SerializationError("login_message_code must be provided.")
691
- writer.add_char(int(data._login_message_code))
692
- writer.add_byte(0xFF)
592
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
593
+ try:
594
+ if data._session_id is None:
595
+ raise SerializationError("session_id must be provided.")
596
+ writer.add_short(data._session_id)
597
+ if data._character_id is None:
598
+ raise SerializationError("character_id must be provided.")
599
+ writer.add_int(data._character_id)
600
+ if data._map_id is None:
601
+ raise SerializationError("map_id must be provided.")
602
+ writer.add_short(data._map_id)
603
+ if data._map_rid is None:
604
+ raise SerializationError("map_rid must be provided.")
605
+ if len(data._map_rid) != 2:
606
+ raise SerializationError(f"Expected length of map_rid to be exactly 2, got {len(data._map_rid)}.")
607
+ for i in range(2):
608
+ writer.add_short(data._map_rid[i])
609
+ if data._map_file_size is None:
610
+ raise SerializationError("map_file_size must be provided.")
611
+ writer.add_three(data._map_file_size)
612
+ if data._eif_rid is None:
613
+ raise SerializationError("eif_rid must be provided.")
614
+ if len(data._eif_rid) != 2:
615
+ raise SerializationError(f"Expected length of eif_rid to be exactly 2, got {len(data._eif_rid)}.")
616
+ for i in range(2):
617
+ writer.add_short(data._eif_rid[i])
618
+ if data._eif_length is None:
619
+ raise SerializationError("eif_length must be provided.")
620
+ writer.add_short(data._eif_length)
621
+ if data._enf_rid is None:
622
+ raise SerializationError("enf_rid must be provided.")
623
+ if len(data._enf_rid) != 2:
624
+ raise SerializationError(f"Expected length of enf_rid to be exactly 2, got {len(data._enf_rid)}.")
625
+ for i in range(2):
626
+ writer.add_short(data._enf_rid[i])
627
+ if data._enf_length is None:
628
+ raise SerializationError("enf_length must be provided.")
629
+ writer.add_short(data._enf_length)
630
+ if data._esf_rid is None:
631
+ raise SerializationError("esf_rid must be provided.")
632
+ if len(data._esf_rid) != 2:
633
+ raise SerializationError(f"Expected length of esf_rid to be exactly 2, got {len(data._esf_rid)}.")
634
+ for i in range(2):
635
+ writer.add_short(data._esf_rid[i])
636
+ if data._esf_length is None:
637
+ raise SerializationError("esf_length must be provided.")
638
+ writer.add_short(data._esf_length)
639
+ if data._ecf_rid is None:
640
+ raise SerializationError("ecf_rid must be provided.")
641
+ if len(data._ecf_rid) != 2:
642
+ raise SerializationError(f"Expected length of ecf_rid to be exactly 2, got {len(data._ecf_rid)}.")
643
+ for i in range(2):
644
+ writer.add_short(data._ecf_rid[i])
645
+ if data._ecf_length is None:
646
+ raise SerializationError("ecf_length must be provided.")
647
+ writer.add_short(data._ecf_length)
648
+ if data._name is None:
649
+ raise SerializationError("name must be provided.")
650
+ writer.add_string(data._name)
651
+ writer.add_byte(0xFF)
652
+ if data._title is None:
653
+ raise SerializationError("title must be provided.")
654
+ writer.add_string(data._title)
655
+ writer.add_byte(0xFF)
656
+ if data._guild_name is None:
657
+ raise SerializationError("guild_name must be provided.")
658
+ writer.add_string(data._guild_name)
659
+ writer.add_byte(0xFF)
660
+ if data._guild_rank_name is None:
661
+ raise SerializationError("guild_rank_name must be provided.")
662
+ writer.add_string(data._guild_rank_name)
663
+ writer.add_byte(0xFF)
664
+ if data._class_id is None:
665
+ raise SerializationError("class_id must be provided.")
666
+ writer.add_char(data._class_id)
667
+ if data._guild_tag is None:
668
+ raise SerializationError("guild_tag must be provided.")
669
+ if len(data._guild_tag) != 3:
670
+ raise SerializationError(f"Expected length of guild_tag to be exactly 3, got {len(data._guild_tag)}.")
671
+ writer.add_fixed_string(data._guild_tag, 3, False)
672
+ if data._admin is None:
673
+ raise SerializationError("admin must be provided.")
674
+ writer.add_char(int(data._admin))
675
+ if data._level is None:
676
+ raise SerializationError("level must be provided.")
677
+ writer.add_char(data._level)
678
+ if data._experience is None:
679
+ raise SerializationError("experience must be provided.")
680
+ writer.add_int(data._experience)
681
+ if data._usage is None:
682
+ raise SerializationError("usage must be provided.")
683
+ writer.add_int(data._usage)
684
+ if data._stats is None:
685
+ raise SerializationError("stats must be provided.")
686
+ CharacterStatsWelcome.serialize(writer, data._stats)
687
+ if data._equipment is None:
688
+ raise SerializationError("equipment must be provided.")
689
+ EquipmentWelcome.serialize(writer, data._equipment)
690
+ if data._guild_rank is None:
691
+ raise SerializationError("guild_rank must be provided.")
692
+ writer.add_char(data._guild_rank)
693
+ if data._settings is None:
694
+ raise SerializationError("settings must be provided.")
695
+ ServerSettings.serialize(writer, data._settings)
696
+ if data._login_message_code is None:
697
+ raise SerializationError("login_message_code must be provided.")
698
+ writer.add_char(int(data._login_message_code))
699
+ writer.add_byte(0xFF)
700
+ finally:
701
+ writer.string_sanitization_mode = old_string_sanitization_mode
693
702
 
694
703
  @staticmethod
695
704
  def deserialize(reader: EoReader) -> "WelcomeReplyServerPacket.WelcomeCodeDataSelectCharacter":
@@ -835,31 +844,34 @@ class WelcomeReplyServerPacket(Packet):
835
844
  writer (EoWriter): The writer that the data will be serialized to.
836
845
  data (WelcomeReplyServerPacket.WelcomeCodeDataEnterGame): The data to serialize.
837
846
  """
838
- writer.add_byte(0xFF)
839
- if data._news is None:
840
- raise SerializationError("news must be provided.")
841
- if len(data._news) != 9:
842
- raise SerializationError(f"Expected length of news to be exactly 9, got {len(data._news)}.")
843
- for i in range(9):
844
- if i > 0:
847
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
848
+ try:
849
+ writer.add_byte(0xFF)
850
+ if data._news is None:
851
+ raise SerializationError("news must be provided.")
852
+ if len(data._news) != 9:
853
+ raise SerializationError(f"Expected length of news to be exactly 9, got {len(data._news)}.")
854
+ for i in range(9):
855
+ writer.add_string(data._news[i])
845
856
  writer.add_byte(0xFF)
846
- writer.add_string(data._news[i])
847
- if data._weight is None:
848
- raise SerializationError("weight must be provided.")
849
- Weight.serialize(writer, data._weight)
850
- if data._items is None:
851
- raise SerializationError("items must be provided.")
852
- for i in range(len(data._items)):
853
- Item.serialize(writer, data._items[i])
854
- writer.add_byte(0xFF)
855
- if data._spells is None:
856
- raise SerializationError("spells must be provided.")
857
- for i in range(len(data._spells)):
858
- Spell.serialize(writer, data._spells[i])
859
- writer.add_byte(0xFF)
860
- if data._nearby is None:
861
- raise SerializationError("nearby must be provided.")
862
- NearbyInfo.serialize(writer, data._nearby)
857
+ if data._weight is None:
858
+ raise SerializationError("weight must be provided.")
859
+ Weight.serialize(writer, data._weight)
860
+ if data._items is None:
861
+ raise SerializationError("items must be provided.")
862
+ for i in range(len(data._items)):
863
+ Item.serialize(writer, data._items[i])
864
+ writer.add_byte(0xFF)
865
+ if data._spells is None:
866
+ raise SerializationError("spells must be provided.")
867
+ for i in range(len(data._spells)):
868
+ Spell.serialize(writer, data._spells[i])
869
+ writer.add_byte(0xFF)
870
+ if data._nearby is None:
871
+ raise SerializationError("nearby must be provided.")
872
+ NearbyInfo.serialize(writer, data._nearby)
873
+ finally:
874
+ writer.string_sanitization_mode = old_string_sanitization_mode
863
875
 
864
876
  @staticmethod
865
877
  def deserialize(reader: EoReader) -> "WelcomeReplyServerPacket.WelcomeCodeDataEnterGame":
@@ -880,8 +892,7 @@ class WelcomeReplyServerPacket(Packet):
880
892
  data._news = []
881
893
  for i in range(9):
882
894
  data._news.append(reader.get_string())
883
- if i + 1 < 9:
884
- reader.next_chunk()
895
+ reader.next_chunk()
885
896
  data._weight = Weight.deserialize(reader)
886
897
  items_length = int(reader.remaining / 6)
887
898
  data._items = []
@@ -66,12 +66,16 @@ class Spell:
66
66
  writer (EoWriter): The writer that the data will be serialized to.
67
67
  data (Spell): The data to serialize.
68
68
  """
69
- if data._id is None:
70
- raise SerializationError("id must be provided.")
71
- writer.add_short(data._id)
72
- if data._level is None:
73
- raise SerializationError("level must be provided.")
74
- writer.add_short(data._level)
69
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
70
+ try:
71
+ if data._id is None:
72
+ raise SerializationError("id must be provided.")
73
+ writer.add_short(data._id)
74
+ if data._level is None:
75
+ raise SerializationError("level must be provided.")
76
+ writer.add_short(data._level)
77
+ finally:
78
+ writer.string_sanitization_mode = old_string_sanitization_mode
75
79
 
76
80
  @staticmethod
77
81
  def deserialize(reader: EoReader) -> "Spell":
@@ -67,12 +67,16 @@ class ThreeItem:
67
67
  writer (EoWriter): The writer that the data will be serialized to.
68
68
  data (ThreeItem): The data to serialize.
69
69
  """
70
- if data._id is None:
71
- raise SerializationError("id must be provided.")
72
- writer.add_short(data._id)
73
- if data._amount is None:
74
- raise SerializationError("amount must be provided.")
75
- writer.add_three(data._amount)
70
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
71
+ try:
72
+ if data._id is None:
73
+ raise SerializationError("id must be provided.")
74
+ writer.add_short(data._id)
75
+ if data._amount is None:
76
+ raise SerializationError("amount must be provided.")
77
+ writer.add_three(data._amount)
78
+ finally:
79
+ writer.string_sanitization_mode = old_string_sanitization_mode
76
80
 
77
81
  @staticmethod
78
82
  def deserialize(reader: EoReader) -> "ThreeItem":
@@ -83,15 +83,19 @@ class Version:
83
83
  writer (EoWriter): The writer that the data will be serialized to.
84
84
  data (Version): The data to serialize.
85
85
  """
86
- if data._major is None:
87
- raise SerializationError("major must be provided.")
88
- writer.add_char(data._major)
89
- if data._minor is None:
90
- raise SerializationError("minor must be provided.")
91
- writer.add_char(data._minor)
92
- if data._patch is None:
93
- raise SerializationError("patch must be provided.")
94
- writer.add_char(data._patch)
86
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
87
+ try:
88
+ if data._major is None:
89
+ raise SerializationError("major must be provided.")
90
+ writer.add_char(data._major)
91
+ if data._minor is None:
92
+ raise SerializationError("minor must be provided.")
93
+ writer.add_char(data._minor)
94
+ if data._patch is None:
95
+ raise SerializationError("patch must be provided.")
96
+ writer.add_char(data._patch)
97
+ finally:
98
+ writer.string_sanitization_mode = old_string_sanitization_mode
95
99
 
96
100
  @staticmethod
97
101
  def deserialize(reader: EoReader) -> "Version":
@@ -66,12 +66,16 @@ class Weight:
66
66
  writer (EoWriter): The writer that the data will be serialized to.
67
67
  data (Weight): The data to serialize.
68
68
  """
69
- if data._current is None:
70
- raise SerializationError("current must be provided.")
71
- writer.add_char(data._current)
72
- if data._max is None:
73
- raise SerializationError("max must be provided.")
74
- writer.add_char(data._max)
69
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
70
+ try:
71
+ if data._current is None:
72
+ raise SerializationError("current must be provided.")
73
+ writer.add_char(data._current)
74
+ if data._max is None:
75
+ raise SerializationError("max must be provided.")
76
+ writer.add_char(data._max)
77
+ finally:
78
+ writer.string_sanitization_mode = old_string_sanitization_mode
75
79
 
76
80
  @staticmethod
77
81
  def deserialize(reader: EoReader) -> "Weight":
@@ -96,23 +96,27 @@ class Ecf:
96
96
  writer (EoWriter): The writer that the data will be serialized to.
97
97
  data (Ecf): The data to serialize.
98
98
  """
99
- writer.add_fixed_string("ECF", 3, False)
100
- if data._rid is None:
101
- raise SerializationError("rid must be provided.")
102
- if len(data._rid) != 2:
103
- raise SerializationError(f"Expected length of rid to be exactly 2, got {len(data._rid)}.")
104
- for i in range(2):
105
- writer.add_short(data._rid[i])
106
- if data._total_classes_count is None:
107
- raise SerializationError("total_classes_count must be provided.")
108
- writer.add_short(data._total_classes_count)
109
- if data._version is None:
110
- raise SerializationError("version must be provided.")
111
- writer.add_char(data._version)
112
- if data._classes is None:
113
- raise SerializationError("classes must be provided.")
114
- for i in range(len(data._classes)):
115
- EcfRecord.serialize(writer, data._classes[i])
99
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
100
+ try:
101
+ writer.add_fixed_string("ECF", 3, False)
102
+ if data._rid is None:
103
+ raise SerializationError("rid must be provided.")
104
+ if len(data._rid) != 2:
105
+ raise SerializationError(f"Expected length of rid to be exactly 2, got {len(data._rid)}.")
106
+ for i in range(2):
107
+ writer.add_short(data._rid[i])
108
+ if data._total_classes_count is None:
109
+ raise SerializationError("total_classes_count must be provided.")
110
+ writer.add_short(data._total_classes_count)
111
+ if data._version is None:
112
+ raise SerializationError("version must be provided.")
113
+ writer.add_char(data._version)
114
+ if data._classes is None:
115
+ raise SerializationError("classes must be provided.")
116
+ for i in range(len(data._classes)):
117
+ EcfRecord.serialize(writer, data._classes[i])
118
+ finally:
119
+ writer.string_sanitization_mode = old_string_sanitization_mode
116
120
 
117
121
  @staticmethod
118
122
  def deserialize(reader: EoReader) -> "Ecf":
@@ -187,38 +187,42 @@ class EcfRecord:
187
187
  writer (EoWriter): The writer that the data will be serialized to.
188
188
  data (EcfRecord): The data to serialize.
189
189
  """
190
- if data._name_length is None:
191
- raise SerializationError("name_length must be provided.")
192
- writer.add_char(data._name_length)
193
- if data._name is None:
194
- raise SerializationError("name must be provided.")
195
- if len(data._name) > 252:
196
- raise SerializationError(f"Expected length of name to be 252 or less, got {len(data._name)}.")
197
- writer.add_fixed_string(data._name, data._name_length, False)
198
- if data._parent_type is None:
199
- raise SerializationError("parent_type must be provided.")
200
- writer.add_char(data._parent_type)
201
- if data._stat_group is None:
202
- raise SerializationError("stat_group must be provided.")
203
- writer.add_char(data._stat_group)
204
- if data._str is None:
205
- raise SerializationError("str must be provided.")
206
- writer.add_short(data._str)
207
- if data._intl is None:
208
- raise SerializationError("intl must be provided.")
209
- writer.add_short(data._intl)
210
- if data._wis is None:
211
- raise SerializationError("wis must be provided.")
212
- writer.add_short(data._wis)
213
- if data._agi is None:
214
- raise SerializationError("agi must be provided.")
215
- writer.add_short(data._agi)
216
- if data._con is None:
217
- raise SerializationError("con must be provided.")
218
- writer.add_short(data._con)
219
- if data._cha is None:
220
- raise SerializationError("cha must be provided.")
221
- writer.add_short(data._cha)
190
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
191
+ try:
192
+ if data._name_length is None:
193
+ raise SerializationError("name_length must be provided.")
194
+ writer.add_char(data._name_length)
195
+ if data._name is None:
196
+ raise SerializationError("name must be provided.")
197
+ if len(data._name) > 252:
198
+ raise SerializationError(f"Expected length of name to be 252 or less, got {len(data._name)}.")
199
+ writer.add_fixed_string(data._name, data._name_length, False)
200
+ if data._parent_type is None:
201
+ raise SerializationError("parent_type must be provided.")
202
+ writer.add_char(data._parent_type)
203
+ if data._stat_group is None:
204
+ raise SerializationError("stat_group must be provided.")
205
+ writer.add_char(data._stat_group)
206
+ if data._str is None:
207
+ raise SerializationError("str must be provided.")
208
+ writer.add_short(data._str)
209
+ if data._intl is None:
210
+ raise SerializationError("intl must be provided.")
211
+ writer.add_short(data._intl)
212
+ if data._wis is None:
213
+ raise SerializationError("wis must be provided.")
214
+ writer.add_short(data._wis)
215
+ if data._agi is None:
216
+ raise SerializationError("agi must be provided.")
217
+ writer.add_short(data._agi)
218
+ if data._con is None:
219
+ raise SerializationError("con must be provided.")
220
+ writer.add_short(data._con)
221
+ if data._cha is None:
222
+ raise SerializationError("cha must be provided.")
223
+ writer.add_short(data._cha)
224
+ finally:
225
+ writer.string_sanitization_mode = old_string_sanitization_mode
222
226
 
223
227
  @staticmethod
224
228
  def deserialize(reader: EoReader) -> "EcfRecord":