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
@@ -127,18 +127,22 @@ class CastSpecServerPacket(Packet):
127
127
  writer (EoWriter): The writer that the data will be serialized to.
128
128
  data (CastSpecServerPacket): The data to serialize.
129
129
  """
130
- if data._spell_id is None:
131
- raise SerializationError("spell_id must be provided.")
132
- writer.add_short(data._spell_id)
133
- if data._npc_killed_data is None:
134
- raise SerializationError("npc_killed_data must be provided.")
135
- NpcKilledData.serialize(writer, data._npc_killed_data)
136
- if data._caster_tp is None:
137
- raise SerializationError("caster_tp must be provided.")
138
- writer.add_short(data._caster_tp)
139
- reached_missing_optional = data._experience is None
140
- if not reached_missing_optional:
141
- writer.add_int(cast(int, data._experience))
130
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
131
+ try:
132
+ if data._spell_id is None:
133
+ raise SerializationError("spell_id must be provided.")
134
+ writer.add_short(data._spell_id)
135
+ if data._npc_killed_data is None:
136
+ raise SerializationError("npc_killed_data must be provided.")
137
+ NpcKilledData.serialize(writer, data._npc_killed_data)
138
+ if data._caster_tp is None:
139
+ raise SerializationError("caster_tp must be provided.")
140
+ writer.add_short(data._caster_tp)
141
+ reached_missing_optional = data._experience is None
142
+ if not reached_missing_optional:
143
+ writer.add_int(cast(int, data._experience))
144
+ finally:
145
+ writer.string_sanitization_mode = old_string_sanitization_mode
142
146
 
143
147
  @staticmethod
144
148
  def deserialize(reader: EoReader) -> "CastSpecServerPacket":
@@ -91,12 +91,16 @@ class ChairCloseServerPacket(Packet):
91
91
  writer (EoWriter): The writer that the data will be serialized to.
92
92
  data (ChairCloseServerPacket): The data to serialize.
93
93
  """
94
- if data._player_id is None:
95
- raise SerializationError("player_id must be provided.")
96
- writer.add_short(data._player_id)
97
- if data._coords is None:
98
- raise SerializationError("coords must be provided.")
99
- Coords.serialize(writer, data._coords)
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._player_id is None:
97
+ raise SerializationError("player_id must be provided.")
98
+ writer.add_short(data._player_id)
99
+ if data._coords is None:
100
+ raise SerializationError("coords must be provided.")
101
+ Coords.serialize(writer, data._coords)
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
100
104
 
101
105
  @staticmethod
102
106
  def deserialize(reader: EoReader) -> "ChairCloseServerPacket":
@@ -101,15 +101,19 @@ class ChairPlayerServerPacket(Packet):
101
101
  writer (EoWriter): The writer that the data will be serialized to.
102
102
  data (ChairPlayerServerPacket): The data to serialize.
103
103
  """
104
- if data._player_id is None:
105
- raise SerializationError("player_id must be provided.")
106
- writer.add_short(data._player_id)
107
- if data._coords is None:
108
- raise SerializationError("coords must be provided.")
109
- Coords.serialize(writer, data._coords)
110
- if data._direction is None:
111
- raise SerializationError("direction must be provided.")
112
- writer.add_char(int(data._direction))
104
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
105
+ try:
106
+ if data._player_id is None:
107
+ raise SerializationError("player_id must be provided.")
108
+ writer.add_short(data._player_id)
109
+ if data._coords is None:
110
+ raise SerializationError("coords must be provided.")
111
+ Coords.serialize(writer, data._coords)
112
+ if data._direction is None:
113
+ raise SerializationError("direction must be provided.")
114
+ writer.add_char(int(data._direction))
115
+ finally:
116
+ writer.string_sanitization_mode = old_string_sanitization_mode
113
117
 
114
118
  @staticmethod
115
119
  def deserialize(reader: EoReader) -> "ChairPlayerServerPacket":
@@ -91,12 +91,16 @@ class ChairRemoveServerPacket(Packet):
91
91
  writer (EoWriter): The writer that the data will be serialized to.
92
92
  data (ChairRemoveServerPacket): The data to serialize.
93
93
  """
94
- if data._player_id is None:
95
- raise SerializationError("player_id must be provided.")
96
- writer.add_short(data._player_id)
97
- if data._coords is None:
98
- raise SerializationError("coords must be provided.")
99
- Coords.serialize(writer, data._coords)
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._player_id is None:
97
+ raise SerializationError("player_id must be provided.")
98
+ writer.add_short(data._player_id)
99
+ if data._coords is None:
100
+ raise SerializationError("coords must be provided.")
101
+ Coords.serialize(writer, data._coords)
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
100
104
 
101
105
  @staticmethod
102
106
  def deserialize(reader: EoReader) -> "ChairRemoveServerPacket":
@@ -101,15 +101,19 @@ class ChairReplyServerPacket(Packet):
101
101
  writer (EoWriter): The writer that the data will be serialized to.
102
102
  data (ChairReplyServerPacket): The data to serialize.
103
103
  """
104
- if data._player_id is None:
105
- raise SerializationError("player_id must be provided.")
106
- writer.add_short(data._player_id)
107
- if data._coords is None:
108
- raise SerializationError("coords must be provided.")
109
- Coords.serialize(writer, data._coords)
110
- if data._direction is None:
111
- raise SerializationError("direction must be provided.")
112
- writer.add_char(int(data._direction))
104
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
105
+ try:
106
+ if data._player_id is None:
107
+ raise SerializationError("player_id must be provided.")
108
+ writer.add_short(data._player_id)
109
+ if data._coords is None:
110
+ raise SerializationError("coords must be provided.")
111
+ Coords.serialize(writer, data._coords)
112
+ if data._direction is None:
113
+ raise SerializationError("direction must be provided.")
114
+ writer.add_char(int(data._direction))
115
+ finally:
116
+ writer.string_sanitization_mode = old_string_sanitization_mode
113
117
 
114
118
  @staticmethod
115
119
  def deserialize(reader: EoReader) -> "ChairReplyServerPacket":
@@ -134,24 +134,28 @@ class CharacterBaseStats:
134
134
  writer (EoWriter): The writer that the data will be serialized to.
135
135
  data (CharacterBaseStats): The data to serialize.
136
136
  """
137
- if data._str is None:
138
- raise SerializationError("str must be provided.")
139
- writer.add_short(data._str)
140
- if data._intl is None:
141
- raise SerializationError("intl must be provided.")
142
- writer.add_short(data._intl)
143
- if data._wis is None:
144
- raise SerializationError("wis must be provided.")
145
- writer.add_short(data._wis)
146
- if data._agi is None:
147
- raise SerializationError("agi must be provided.")
148
- writer.add_short(data._agi)
149
- if data._con is None:
150
- raise SerializationError("con must be provided.")
151
- writer.add_short(data._con)
152
- if data._cha is None:
153
- raise SerializationError("cha must be provided.")
154
- writer.add_short(data._cha)
137
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
138
+ try:
139
+ if data._str is None:
140
+ raise SerializationError("str must be provided.")
141
+ writer.add_short(data._str)
142
+ if data._intl is None:
143
+ raise SerializationError("intl must be provided.")
144
+ writer.add_short(data._intl)
145
+ if data._wis is None:
146
+ raise SerializationError("wis must be provided.")
147
+ writer.add_short(data._wis)
148
+ if data._agi is None:
149
+ raise SerializationError("agi must be provided.")
150
+ writer.add_short(data._agi)
151
+ if data._con is None:
152
+ raise SerializationError("con must be provided.")
153
+ writer.add_short(data._con)
154
+ if data._cha is None:
155
+ raise SerializationError("cha must be provided.")
156
+ writer.add_short(data._cha)
157
+ finally:
158
+ writer.string_sanitization_mode = old_string_sanitization_mode
155
159
 
156
160
  @staticmethod
157
161
  def deserialize(reader: EoReader) -> "CharacterBaseStats":
@@ -135,24 +135,28 @@ class CharacterBaseStatsWelcome:
135
135
  writer (EoWriter): The writer that the data will be serialized to.
136
136
  data (CharacterBaseStatsWelcome): The data to serialize.
137
137
  """
138
- if data._str is None:
139
- raise SerializationError("str must be provided.")
140
- writer.add_short(data._str)
141
- if data._wis is None:
142
- raise SerializationError("wis must be provided.")
143
- writer.add_short(data._wis)
144
- if data._intl is None:
145
- raise SerializationError("intl must be provided.")
146
- writer.add_short(data._intl)
147
- if data._agi is None:
148
- raise SerializationError("agi must be provided.")
149
- writer.add_short(data._agi)
150
- if data._con is None:
151
- raise SerializationError("con must be provided.")
152
- writer.add_short(data._con)
153
- if data._cha is None:
154
- raise SerializationError("cha must be provided.")
155
- writer.add_short(data._cha)
138
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
139
+ try:
140
+ if data._str is None:
141
+ raise SerializationError("str must be provided.")
142
+ writer.add_short(data._str)
143
+ if data._wis is None:
144
+ raise SerializationError("wis must be provided.")
145
+ writer.add_short(data._wis)
146
+ if data._intl is None:
147
+ raise SerializationError("intl must be provided.")
148
+ writer.add_short(data._intl)
149
+ if data._agi is None:
150
+ raise SerializationError("agi must be provided.")
151
+ writer.add_short(data._agi)
152
+ if data._con is None:
153
+ raise SerializationError("con must be provided.")
154
+ writer.add_short(data._con)
155
+ if data._cha is None:
156
+ raise SerializationError("cha must be provided.")
157
+ writer.add_short(data._cha)
158
+ finally:
159
+ writer.string_sanitization_mode = old_string_sanitization_mode
156
160
 
157
161
  @staticmethod
158
162
  def deserialize(reader: EoReader) -> "CharacterBaseStatsWelcome":
@@ -140,42 +140,48 @@ class CharacterDetails:
140
140
  writer (EoWriter): The writer that the data will be serialized to.
141
141
  data (CharacterDetails): The data to serialize.
142
142
  """
143
- if data._name is None:
144
- raise SerializationError("name must be provided.")
145
- writer.add_string(data._name)
146
- writer.add_byte(0xFF)
147
- if data._home is None:
148
- raise SerializationError("home must be provided.")
149
- writer.add_string(data._home)
150
- writer.add_byte(0xFF)
151
- if data._partner is None:
152
- raise SerializationError("partner must be provided.")
153
- writer.add_string(data._partner)
154
- writer.add_byte(0xFF)
155
- if data._title is None:
156
- raise SerializationError("title must be provided.")
157
- writer.add_string(data._title)
158
- writer.add_byte(0xFF)
159
- if data._guild is None:
160
- raise SerializationError("guild must be provided.")
161
- writer.add_string(data._guild)
162
- writer.add_byte(0xFF)
163
- if data._guild_rank is None:
164
- raise SerializationError("guild_rank must be provided.")
165
- writer.add_string(data._guild_rank)
166
- writer.add_byte(0xFF)
167
- if data._player_id is None:
168
- raise SerializationError("player_id must be provided.")
169
- writer.add_short(data._player_id)
170
- if data._class_id is None:
171
- raise SerializationError("class_id must be provided.")
172
- writer.add_char(data._class_id)
173
- if data._gender is None:
174
- raise SerializationError("gender must be provided.")
175
- writer.add_char(int(data._gender))
176
- if data._admin is None:
177
- raise SerializationError("admin must be provided.")
178
- writer.add_char(int(data._admin))
143
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
144
+ try:
145
+ writer.string_sanitization_mode = True
146
+ if data._name is None:
147
+ raise SerializationError("name must be provided.")
148
+ writer.add_string(data._name)
149
+ writer.add_byte(0xFF)
150
+ if data._home is None:
151
+ raise SerializationError("home must be provided.")
152
+ writer.add_string(data._home)
153
+ writer.add_byte(0xFF)
154
+ if data._partner is None:
155
+ raise SerializationError("partner must be provided.")
156
+ writer.add_string(data._partner)
157
+ writer.add_byte(0xFF)
158
+ if data._title is None:
159
+ raise SerializationError("title must be provided.")
160
+ writer.add_string(data._title)
161
+ writer.add_byte(0xFF)
162
+ if data._guild is None:
163
+ raise SerializationError("guild must be provided.")
164
+ writer.add_string(data._guild)
165
+ writer.add_byte(0xFF)
166
+ if data._guild_rank is None:
167
+ raise SerializationError("guild_rank must be provided.")
168
+ writer.add_string(data._guild_rank)
169
+ writer.add_byte(0xFF)
170
+ if data._player_id is None:
171
+ raise SerializationError("player_id must be provided.")
172
+ writer.add_short(data._player_id)
173
+ if data._class_id is None:
174
+ raise SerializationError("class_id must be provided.")
175
+ writer.add_char(data._class_id)
176
+ if data._gender is None:
177
+ raise SerializationError("gender must be provided.")
178
+ writer.add_char(int(data._gender))
179
+ if data._admin is None:
180
+ raise SerializationError("admin must be provided.")
181
+ writer.add_char(int(data._admin))
182
+ writer.string_sanitization_mode = False
183
+ finally:
184
+ writer.string_sanitization_mode = old_string_sanitization_mode
179
185
 
180
186
  @staticmethod
181
187
  def deserialize(reader: EoReader) -> "CharacterDetails":
@@ -134,24 +134,28 @@ class CharacterElementalStats:
134
134
  writer (EoWriter): The writer that the data will be serialized to.
135
135
  data (CharacterElementalStats): The data to serialize.
136
136
  """
137
- if data._light is None:
138
- raise SerializationError("light must be provided.")
139
- writer.add_short(data._light)
140
- if data._dark is None:
141
- raise SerializationError("dark must be provided.")
142
- writer.add_short(data._dark)
143
- if data._fire is None:
144
- raise SerializationError("fire must be provided.")
145
- writer.add_short(data._fire)
146
- if data._water is None:
147
- raise SerializationError("water must be provided.")
148
- writer.add_short(data._water)
149
- if data._earth is None:
150
- raise SerializationError("earth must be provided.")
151
- writer.add_short(data._earth)
152
- if data._wind is None:
153
- raise SerializationError("wind must be provided.")
154
- writer.add_short(data._wind)
137
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
138
+ try:
139
+ if data._light is None:
140
+ raise SerializationError("light must be provided.")
141
+ writer.add_short(data._light)
142
+ if data._dark is None:
143
+ raise SerializationError("dark must be provided.")
144
+ writer.add_short(data._dark)
145
+ if data._fire is None:
146
+ raise SerializationError("fire must be provided.")
147
+ writer.add_short(data._fire)
148
+ if data._water is None:
149
+ raise SerializationError("water must be provided.")
150
+ writer.add_short(data._water)
151
+ if data._earth is None:
152
+ raise SerializationError("earth must be provided.")
153
+ writer.add_short(data._earth)
154
+ if data._wind is None:
155
+ raise SerializationError("wind must be provided.")
156
+ writer.add_short(data._wind)
157
+ finally:
158
+ writer.string_sanitization_mode = old_string_sanitization_mode
155
159
 
156
160
  @staticmethod
157
161
  def deserialize(reader: EoReader) -> "CharacterElementalStats":
@@ -18,7 +18,7 @@ from .....data.eo_reader import EoReader
18
18
  class CharacterMapInfo:
19
19
  """
20
20
  Information about a nearby character.
21
- The official client skips these if they're under 42 bytes in length.
21
+ The official client skips these if they're under 42 bytes in length.
22
22
  """
23
23
  _byte_size: int = 0
24
24
  _name: str = None # type: ignore [assignment]
@@ -317,69 +317,75 @@ class CharacterMapInfo:
317
317
  writer (EoWriter): The writer that the data will be serialized to.
318
318
  data (CharacterMapInfo): The data to serialize.
319
319
  """
320
- if data._name is None:
321
- raise SerializationError("name must be provided.")
322
- writer.add_string(data._name)
323
- writer.add_byte(0xFF)
324
- if data._player_id is None:
325
- raise SerializationError("player_id must be provided.")
326
- writer.add_short(data._player_id)
327
- if data._map_id is None:
328
- raise SerializationError("map_id must be provided.")
329
- writer.add_short(data._map_id)
330
- if data._coords is None:
331
- raise SerializationError("coords must be provided.")
332
- BigCoords.serialize(writer, data._coords)
333
- if data._direction is None:
334
- raise SerializationError("direction must be provided.")
335
- writer.add_char(int(data._direction))
336
- if data._class_id is None:
337
- raise SerializationError("class_id must be provided.")
338
- writer.add_char(data._class_id)
339
- if data._guild_tag is None:
340
- raise SerializationError("guild_tag must be provided.")
341
- if len(data._guild_tag) != 3:
342
- raise SerializationError(f"Expected length of guild_tag to be exactly 3, got {len(data._guild_tag)}.")
343
- writer.add_fixed_string(data._guild_tag, 3, False)
344
- if data._level is None:
345
- raise SerializationError("level must be provided.")
346
- writer.add_char(data._level)
347
- if data._gender is None:
348
- raise SerializationError("gender must be provided.")
349
- writer.add_char(int(data._gender))
350
- if data._hair_style is None:
351
- raise SerializationError("hair_style must be provided.")
352
- writer.add_char(data._hair_style)
353
- if data._hair_color is None:
354
- raise SerializationError("hair_color must be provided.")
355
- writer.add_char(data._hair_color)
356
- if data._skin is None:
357
- raise SerializationError("skin must be provided.")
358
- writer.add_char(data._skin)
359
- if data._max_hp is None:
360
- raise SerializationError("max_hp must be provided.")
361
- writer.add_short(data._max_hp)
362
- if data._hp is None:
363
- raise SerializationError("hp must be provided.")
364
- writer.add_short(data._hp)
365
- if data._max_tp is None:
366
- raise SerializationError("max_tp must be provided.")
367
- writer.add_short(data._max_tp)
368
- if data._tp is None:
369
- raise SerializationError("tp must be provided.")
370
- writer.add_short(data._tp)
371
- if data._equipment is None:
372
- raise SerializationError("equipment must be provided.")
373
- EquipmentMapInfo.serialize(writer, data._equipment)
374
- if data._sit_state is None:
375
- raise SerializationError("sit_state must be provided.")
376
- writer.add_char(int(data._sit_state))
377
- if data._invisible is None:
378
- raise SerializationError("invisible must be provided.")
379
- writer.add_char(1 if data._invisible else 0)
380
- reached_missing_optional = data._warp_effect is None
381
- if not reached_missing_optional:
382
- writer.add_char(int(cast(WarpEffect, data._warp_effect)))
320
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
321
+ try:
322
+ writer.string_sanitization_mode = True
323
+ if data._name is None:
324
+ raise SerializationError("name must be provided.")
325
+ writer.add_string(data._name)
326
+ writer.add_byte(0xFF)
327
+ if data._player_id is None:
328
+ raise SerializationError("player_id must be provided.")
329
+ writer.add_short(data._player_id)
330
+ if data._map_id is None:
331
+ raise SerializationError("map_id must be provided.")
332
+ writer.add_short(data._map_id)
333
+ if data._coords is None:
334
+ raise SerializationError("coords must be provided.")
335
+ BigCoords.serialize(writer, data._coords)
336
+ if data._direction is None:
337
+ raise SerializationError("direction must be provided.")
338
+ writer.add_char(int(data._direction))
339
+ if data._class_id is None:
340
+ raise SerializationError("class_id must be provided.")
341
+ writer.add_char(data._class_id)
342
+ if data._guild_tag is None:
343
+ raise SerializationError("guild_tag must be provided.")
344
+ if len(data._guild_tag) != 3:
345
+ raise SerializationError(f"Expected length of guild_tag to be exactly 3, got {len(data._guild_tag)}.")
346
+ writer.add_fixed_string(data._guild_tag, 3, False)
347
+ if data._level is None:
348
+ raise SerializationError("level must be provided.")
349
+ writer.add_char(data._level)
350
+ if data._gender is None:
351
+ raise SerializationError("gender must be provided.")
352
+ writer.add_char(int(data._gender))
353
+ if data._hair_style is None:
354
+ raise SerializationError("hair_style must be provided.")
355
+ writer.add_char(data._hair_style)
356
+ if data._hair_color is None:
357
+ raise SerializationError("hair_color must be provided.")
358
+ writer.add_char(data._hair_color)
359
+ if data._skin is None:
360
+ raise SerializationError("skin must be provided.")
361
+ writer.add_char(data._skin)
362
+ if data._max_hp is None:
363
+ raise SerializationError("max_hp must be provided.")
364
+ writer.add_short(data._max_hp)
365
+ if data._hp is None:
366
+ raise SerializationError("hp must be provided.")
367
+ writer.add_short(data._hp)
368
+ if data._max_tp is None:
369
+ raise SerializationError("max_tp must be provided.")
370
+ writer.add_short(data._max_tp)
371
+ if data._tp is None:
372
+ raise SerializationError("tp must be provided.")
373
+ writer.add_short(data._tp)
374
+ if data._equipment is None:
375
+ raise SerializationError("equipment must be provided.")
376
+ EquipmentMapInfo.serialize(writer, data._equipment)
377
+ if data._sit_state is None:
378
+ raise SerializationError("sit_state must be provided.")
379
+ writer.add_char(int(data._sit_state))
380
+ if data._invisible is None:
381
+ raise SerializationError("invisible must be provided.")
382
+ writer.add_char(1 if data._invisible else 0)
383
+ reached_missing_optional = data._warp_effect is None
384
+ if not reached_missing_optional:
385
+ writer.add_char(int(cast(WarpEffect, data._warp_effect)))
386
+ writer.string_sanitization_mode = False
387
+ finally:
388
+ writer.string_sanitization_mode = old_string_sanitization_mode
383
389
 
384
390
  @staticmethod
385
391
  def deserialize(reader: EoReader) -> "CharacterMapInfo":
@@ -98,12 +98,16 @@ class CharacterPlayerServerPacket(Packet):
98
98
  writer (EoWriter): The writer that the data will be serialized to.
99
99
  data (CharacterPlayerServerPacket): The data to serialize.
100
100
  """
101
- if data._session_id is None:
102
- raise SerializationError("session_id must be provided.")
103
- writer.add_short(data._session_id)
104
- if data._character_id is None:
105
- raise SerializationError("character_id must be provided.")
106
- writer.add_int(data._character_id)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._session_id is None:
104
+ raise SerializationError("session_id must be provided.")
105
+ writer.add_short(data._session_id)
106
+ if data._character_id is None:
107
+ raise SerializationError("character_id must be provided.")
108
+ writer.add_int(data._character_id)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
107
111
 
108
112
  @staticmethod
109
113
  def deserialize(reader: EoReader) -> "CharacterPlayerServerPacket":