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
@@ -105,20 +105,26 @@ class GuildAgreeClientPacket(Packet):
105
105
  writer (EoWriter): The writer that the data will be serialized to.
106
106
  data (GuildAgreeClientPacket): The data to serialize.
107
107
  """
108
- if data._session_id is None:
109
- raise SerializationError("session_id must be provided.")
110
- writer.add_int(data._session_id)
111
- if data._info_type is None:
112
- raise SerializationError("info_type must be provided.")
113
- writer.add_short(int(data._info_type))
114
- if data._info_type == GuildInfoType.Description:
115
- if not isinstance(data._info_type_data, GuildAgreeClientPacket.InfoTypeDataDescription):
116
- raise SerializationError("Expected info_type_data to be type GuildAgreeClientPacket.InfoTypeDataDescription for info_type " + GuildInfoType(data._info_type).name + ".")
117
- GuildAgreeClientPacket.InfoTypeDataDescription.serialize(writer, data._info_type_data)
118
- elif data._info_type == GuildInfoType.Ranks:
119
- if not isinstance(data._info_type_data, GuildAgreeClientPacket.InfoTypeDataRanks):
120
- raise SerializationError("Expected info_type_data to be type GuildAgreeClientPacket.InfoTypeDataRanks for info_type " + GuildInfoType(data._info_type).name + ".")
121
- GuildAgreeClientPacket.InfoTypeDataRanks.serialize(writer, data._info_type_data)
108
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
109
+ try:
110
+ writer.string_sanitization_mode = True
111
+ if data._session_id is None:
112
+ raise SerializationError("session_id must be provided.")
113
+ writer.add_int(data._session_id)
114
+ if data._info_type is None:
115
+ raise SerializationError("info_type must be provided.")
116
+ writer.add_short(int(data._info_type))
117
+ if data._info_type == GuildInfoType.Description:
118
+ if not isinstance(data._info_type_data, GuildAgreeClientPacket.InfoTypeDataDescription):
119
+ raise SerializationError("Expected info_type_data to be type GuildAgreeClientPacket.InfoTypeDataDescription for info_type " + GuildInfoType(data._info_type).name + ".")
120
+ GuildAgreeClientPacket.InfoTypeDataDescription.serialize(writer, data._info_type_data)
121
+ elif data._info_type == GuildInfoType.Ranks:
122
+ if not isinstance(data._info_type_data, GuildAgreeClientPacket.InfoTypeDataRanks):
123
+ raise SerializationError("Expected info_type_data to be type GuildAgreeClientPacket.InfoTypeDataRanks for info_type " + GuildInfoType(data._info_type).name + ".")
124
+ GuildAgreeClientPacket.InfoTypeDataRanks.serialize(writer, data._info_type_data)
125
+ writer.string_sanitization_mode = False
126
+ finally:
127
+ writer.string_sanitization_mode = old_string_sanitization_mode
122
128
 
123
129
  @staticmethod
124
130
  def deserialize(reader: EoReader) -> "GuildAgreeClientPacket":
@@ -152,10 +158,9 @@ class GuildAgreeClientPacket(Packet):
152
158
  return f"GuildAgreeClientPacket(byte_size={repr(self._byte_size)}, session_id={repr(self._session_id)}, info_type={repr(self._info_type)}, info_type_data={repr(self._info_type_data)})"
153
159
 
154
160
  InfoTypeData = Union['GuildAgreeClientPacket.InfoTypeDataDescription', 'GuildAgreeClientPacket.InfoTypeDataRanks', None]
155
- InfoTypeData.__doc__ = \
156
- """
157
- Data associated with different values of the `info_type` field.
158
- """
161
+ """
162
+ Data associated with different values of the `info_type` field.
163
+ """
159
164
 
160
165
  class InfoTypeDataDescription:
161
166
  """
@@ -191,9 +196,13 @@ class GuildAgreeClientPacket(Packet):
191
196
  writer (EoWriter): The writer that the data will be serialized to.
192
197
  data (GuildAgreeClientPacket.InfoTypeDataDescription): The data to serialize.
193
198
  """
194
- if data._description is None:
195
- raise SerializationError("description must be provided.")
196
- writer.add_string(data._description)
199
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
200
+ try:
201
+ if data._description is None:
202
+ raise SerializationError("description must be provided.")
203
+ writer.add_string(data._description)
204
+ finally:
205
+ writer.string_sanitization_mode = old_string_sanitization_mode
197
206
 
198
207
  @staticmethod
199
208
  def deserialize(reader: EoReader) -> "GuildAgreeClientPacket.InfoTypeDataDescription":
@@ -261,14 +270,17 @@ class GuildAgreeClientPacket(Packet):
261
270
  writer (EoWriter): The writer that the data will be serialized to.
262
271
  data (GuildAgreeClientPacket.InfoTypeDataRanks): The data to serialize.
263
272
  """
264
- if data._ranks is None:
265
- raise SerializationError("ranks must be provided.")
266
- if len(data._ranks) != 9:
267
- raise SerializationError(f"Expected length of ranks to be exactly 9, got {len(data._ranks)}.")
268
- for i in range(9):
269
- if i > 0:
273
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
274
+ try:
275
+ if data._ranks is None:
276
+ raise SerializationError("ranks must be provided.")
277
+ if len(data._ranks) != 9:
278
+ raise SerializationError(f"Expected length of ranks to be exactly 9, got {len(data._ranks)}.")
279
+ for i in range(9):
280
+ writer.add_string(data._ranks[i])
270
281
  writer.add_byte(0xFF)
271
- writer.add_string(data._ranks[i])
282
+ finally:
283
+ writer.string_sanitization_mode = old_string_sanitization_mode
272
284
 
273
285
  @staticmethod
274
286
  def deserialize(reader: EoReader) -> "GuildAgreeClientPacket.InfoTypeDataRanks":
@@ -288,8 +300,7 @@ class GuildAgreeClientPacket(Packet):
288
300
  data._ranks = []
289
301
  for i in range(9):
290
302
  data._ranks.append(reader.get_string())
291
- if i + 1 < 9:
292
- reader.next_chunk()
303
+ reader.next_chunk()
293
304
  data._byte_size = reader.position - reader_start_position
294
305
  return data
295
306
  finally:
@@ -98,12 +98,16 @@ class GuildBuyClientPacket(Packet):
98
98
  writer (EoWriter): The writer that the data will be serialized to.
99
99
  data (GuildBuyClientPacket): The data to serialize.
100
100
  """
101
- if data._session_id is None:
102
- raise SerializationError("session_id must be provided.")
103
- writer.add_int(data._session_id)
104
- if data._gold_amount is None:
105
- raise SerializationError("gold_amount must be provided.")
106
- writer.add_int(data._gold_amount)
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_int(data._session_id)
106
+ if data._gold_amount is None:
107
+ raise SerializationError("gold_amount must be provided.")
108
+ writer.add_int(data._gold_amount)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
107
111
 
108
112
  @staticmethod
109
113
  def deserialize(reader: EoReader) -> "GuildBuyClientPacket":
@@ -108,22 +108,28 @@ class GuildCreateClientPacket(Packet):
108
108
  writer (EoWriter): The writer that the data will be serialized to.
109
109
  data (GuildCreateClientPacket): The data to serialize.
110
110
  """
111
- if data._session_id is None:
112
- raise SerializationError("session_id must be provided.")
113
- writer.add_int(data._session_id)
114
- writer.add_byte(0xFF)
115
- if data._guild_tag is None:
116
- raise SerializationError("guild_tag must be provided.")
117
- writer.add_string(data._guild_tag)
118
- writer.add_byte(0xFF)
119
- if data._guild_name is None:
120
- raise SerializationError("guild_name must be provided.")
121
- writer.add_string(data._guild_name)
122
- writer.add_byte(0xFF)
123
- if data._description is None:
124
- raise SerializationError("description must be provided.")
125
- writer.add_string(data._description)
126
- writer.add_byte(0xFF)
111
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
112
+ try:
113
+ writer.string_sanitization_mode = True
114
+ if data._session_id is None:
115
+ raise SerializationError("session_id must be provided.")
116
+ writer.add_int(data._session_id)
117
+ writer.add_byte(0xFF)
118
+ if data._guild_tag is None:
119
+ raise SerializationError("guild_tag must be provided.")
120
+ writer.add_string(data._guild_tag)
121
+ writer.add_byte(0xFF)
122
+ if data._guild_name is None:
123
+ raise SerializationError("guild_name must be provided.")
124
+ writer.add_string(data._guild_name)
125
+ writer.add_byte(0xFF)
126
+ if data._description is None:
127
+ raise SerializationError("description must be provided.")
128
+ writer.add_string(data._description)
129
+ writer.add_byte(0xFF)
130
+ writer.string_sanitization_mode = False
131
+ finally:
132
+ writer.string_sanitization_mode = old_string_sanitization_mode
127
133
 
128
134
  @staticmethod
129
135
  def deserialize(reader: EoReader) -> "GuildCreateClientPacket":
@@ -81,9 +81,13 @@ class GuildJunkClientPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (GuildJunkClientPacket): The data to serialize.
83
83
  """
84
- if data._session_id is None:
85
- raise SerializationError("session_id must be provided.")
86
- writer.add_int(data._session_id)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._session_id is None:
87
+ raise SerializationError("session_id must be provided.")
88
+ writer.add_int(data._session_id)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "GuildJunkClientPacket":
@@ -90,12 +90,16 @@ class GuildKickClientPacket(Packet):
90
90
  writer (EoWriter): The writer that the data will be serialized to.
91
91
  data (GuildKickClientPacket): The data to serialize.
92
92
  """
93
- if data._session_id is None:
94
- raise SerializationError("session_id must be provided.")
95
- writer.add_int(data._session_id)
96
- if data._member_name is None:
97
- raise SerializationError("member_name must be provided.")
98
- writer.add_string(data._member_name)
93
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
94
+ try:
95
+ if data._session_id is None:
96
+ raise SerializationError("session_id must be provided.")
97
+ writer.add_int(data._session_id)
98
+ if data._member_name is None:
99
+ raise SerializationError("member_name must be provided.")
100
+ writer.add_string(data._member_name)
101
+ finally:
102
+ writer.string_sanitization_mode = old_string_sanitization_mode
99
103
 
100
104
  @staticmethod
101
105
  def deserialize(reader: EoReader) -> "GuildKickClientPacket":
@@ -81,9 +81,13 @@ class GuildOpenClientPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (GuildOpenClientPacket): The data to serialize.
83
83
  """
84
- if data._npc_index is None:
85
- raise SerializationError("npc_index must be provided.")
86
- writer.add_short(data._npc_index)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._npc_index is None:
87
+ raise SerializationError("npc_index must be provided.")
88
+ writer.add_short(data._npc_index)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "GuildOpenClientPacket":
@@ -99,18 +99,24 @@ class GuildPlayerClientPacket(Packet):
99
99
  writer (EoWriter): The writer that the data will be serialized to.
100
100
  data (GuildPlayerClientPacket): The data to serialize.
101
101
  """
102
- if data._session_id is None:
103
- raise SerializationError("session_id must be provided.")
104
- writer.add_int(data._session_id)
105
- writer.add_byte(0xFF)
106
- if data._guild_tag is None:
107
- raise SerializationError("guild_tag must be provided.")
108
- writer.add_string(data._guild_tag)
109
- writer.add_byte(0xFF)
110
- if data._recruiter_name is None:
111
- raise SerializationError("recruiter_name must be provided.")
112
- writer.add_string(data._recruiter_name)
113
- writer.add_byte(0xFF)
102
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
103
+ try:
104
+ writer.string_sanitization_mode = True
105
+ if data._session_id is None:
106
+ raise SerializationError("session_id must be provided.")
107
+ writer.add_int(data._session_id)
108
+ writer.add_byte(0xFF)
109
+ if data._guild_tag is None:
110
+ raise SerializationError("guild_tag must be provided.")
111
+ writer.add_string(data._guild_tag)
112
+ writer.add_byte(0xFF)
113
+ if data._recruiter_name is None:
114
+ raise SerializationError("recruiter_name must be provided.")
115
+ writer.add_string(data._recruiter_name)
116
+ writer.add_byte(0xFF)
117
+ writer.string_sanitization_mode = False
118
+ finally:
119
+ writer.string_sanitization_mode = old_string_sanitization_mode
114
120
 
115
121
  @staticmethod
116
122
  def deserialize(reader: EoReader) -> "GuildPlayerClientPacket":
@@ -12,7 +12,7 @@ from .....data.eo_reader import EoReader
12
12
 
13
13
  class GuildRankClientPacket(Packet):
14
14
  """
15
- Update a member&#x27;s rank
15
+ Update a member's rank
16
16
  """
17
17
  _byte_size: int = 0
18
18
  _session_id: int = None # type: ignore [assignment]
@@ -107,15 +107,19 @@ class GuildRankClientPacket(Packet):
107
107
  writer (EoWriter): The writer that the data will be serialized to.
108
108
  data (GuildRankClientPacket): The data to serialize.
109
109
  """
110
- if data._session_id is None:
111
- raise SerializationError("session_id must be provided.")
112
- writer.add_int(data._session_id)
113
- if data._rank is None:
114
- raise SerializationError("rank must be provided.")
115
- writer.add_char(data._rank)
116
- if data._member_name is None:
117
- raise SerializationError("member_name must be provided.")
118
- writer.add_string(data._member_name)
110
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
111
+ try:
112
+ if data._session_id is None:
113
+ raise SerializationError("session_id must be provided.")
114
+ writer.add_int(data._session_id)
115
+ if data._rank is None:
116
+ raise SerializationError("rank must be provided.")
117
+ writer.add_char(data._rank)
118
+ if data._member_name is None:
119
+ raise SerializationError("member_name must be provided.")
120
+ writer.add_string(data._member_name)
121
+ finally:
122
+ writer.string_sanitization_mode = old_string_sanitization_mode
119
123
 
120
124
  @staticmethod
121
125
  def deserialize(reader: EoReader) -> "GuildRankClientPacket":
@@ -81,9 +81,13 @@ class GuildRemoveClientPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (GuildRemoveClientPacket): The data to serialize.
83
83
  """
84
- if data._session_id is None:
85
- raise SerializationError("session_id must be provided.")
86
- writer.add_int(data._session_id)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._session_id is None:
87
+ raise SerializationError("session_id must be provided.")
88
+ writer.add_int(data._session_id)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "GuildRemoveClientPacket":
@@ -90,12 +90,16 @@ class GuildReportClientPacket(Packet):
90
90
  writer (EoWriter): The writer that the data will be serialized to.
91
91
  data (GuildReportClientPacket): The data to serialize.
92
92
  """
93
- if data._session_id is None:
94
- raise SerializationError("session_id must be provided.")
95
- writer.add_int(data._session_id)
96
- if data._guild_identity is None:
97
- raise SerializationError("guild_identity must be provided.")
98
- writer.add_string(data._guild_identity)
93
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
94
+ try:
95
+ if data._session_id is None:
96
+ raise SerializationError("session_id must be provided.")
97
+ writer.add_int(data._session_id)
98
+ if data._guild_identity is None:
99
+ raise SerializationError("guild_identity must be provided.")
100
+ writer.add_string(data._guild_identity)
101
+ finally:
102
+ writer.string_sanitization_mode = old_string_sanitization_mode
99
103
 
100
104
  @staticmethod
101
105
  def deserialize(reader: EoReader) -> "GuildReportClientPacket":
@@ -99,18 +99,24 @@ class GuildRequestClientPacket(Packet):
99
99
  writer (EoWriter): The writer that the data will be serialized to.
100
100
  data (GuildRequestClientPacket): The data to serialize.
101
101
  """
102
- if data._session_id is None:
103
- raise SerializationError("session_id must be provided.")
104
- writer.add_int(data._session_id)
105
- writer.add_byte(0xFF)
106
- if data._guild_tag is None:
107
- raise SerializationError("guild_tag must be provided.")
108
- writer.add_string(data._guild_tag)
109
- writer.add_byte(0xFF)
110
- if data._guild_name is None:
111
- raise SerializationError("guild_name must be provided.")
112
- writer.add_string(data._guild_name)
113
- writer.add_byte(0xFF)
102
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
103
+ try:
104
+ writer.string_sanitization_mode = True
105
+ if data._session_id is None:
106
+ raise SerializationError("session_id must be provided.")
107
+ writer.add_int(data._session_id)
108
+ writer.add_byte(0xFF)
109
+ if data._guild_tag is None:
110
+ raise SerializationError("guild_tag must be provided.")
111
+ writer.add_string(data._guild_tag)
112
+ writer.add_byte(0xFF)
113
+ if data._guild_name is None:
114
+ raise SerializationError("guild_name must be provided.")
115
+ writer.add_string(data._guild_name)
116
+ writer.add_byte(0xFF)
117
+ writer.string_sanitization_mode = False
118
+ finally:
119
+ writer.string_sanitization_mode = old_string_sanitization_mode
114
120
 
115
121
  @staticmethod
116
122
  def deserialize(reader: EoReader) -> "GuildRequestClientPacket":
@@ -18,6 +18,7 @@ class GuildTakeClientPacket(Packet):
18
18
  _byte_size: int = 0
19
19
  _session_id: int = None # type: ignore [assignment]
20
20
  _info_type: GuildInfoType = None # type: ignore [assignment]
21
+ _guild_tag: str = None # type: ignore [assignment]
21
22
 
22
23
  @property
23
24
  def byte_size(self) -> int:
@@ -53,6 +54,22 @@ class GuildTakeClientPacket(Packet):
53
54
  def info_type(self, info_type: GuildInfoType) -> None:
54
55
  self._info_type = info_type
55
56
 
57
+ @property
58
+ def guild_tag(self) -> str:
59
+ """
60
+ Note:
61
+ - Length must be `3`.
62
+ """
63
+ return self._guild_tag
64
+
65
+ @guild_tag.setter
66
+ def guild_tag(self, guild_tag: str) -> None:
67
+ """
68
+ Note:
69
+ - Length must be `3`.
70
+ """
71
+ self._guild_tag = guild_tag
72
+
56
73
  @staticmethod
57
74
  def family() -> PacketFamily:
58
75
  """
@@ -91,12 +108,21 @@ class GuildTakeClientPacket(Packet):
91
108
  writer (EoWriter): The writer that the data will be serialized to.
92
109
  data (GuildTakeClientPacket): The data to serialize.
93
110
  """
94
- if data._session_id is None:
95
- raise SerializationError("session_id must be provided.")
96
- writer.add_int(data._session_id)
97
- if data._info_type is None:
98
- raise SerializationError("info_type must be provided.")
99
- writer.add_short(int(data._info_type))
111
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
112
+ try:
113
+ if data._session_id is None:
114
+ raise SerializationError("session_id must be provided.")
115
+ writer.add_int(data._session_id)
116
+ if data._info_type is None:
117
+ raise SerializationError("info_type must be provided.")
118
+ writer.add_short(int(data._info_type))
119
+ if data._guild_tag is None:
120
+ raise SerializationError("guild_tag must be provided.")
121
+ if len(data._guild_tag) != 3:
122
+ raise SerializationError(f"Expected length of guild_tag to be exactly 3, got {len(data._guild_tag)}.")
123
+ writer.add_fixed_string(data._guild_tag, 3, False)
124
+ finally:
125
+ writer.string_sanitization_mode = old_string_sanitization_mode
100
126
 
101
127
  @staticmethod
102
128
  def deserialize(reader: EoReader) -> "GuildTakeClientPacket":
@@ -115,10 +141,11 @@ class GuildTakeClientPacket(Packet):
115
141
  reader_start_position: int = reader.position
116
142
  data._session_id = reader.get_int()
117
143
  data._info_type = GuildInfoType(reader.get_short())
144
+ data._guild_tag = reader.get_fixed_string(3, False)
118
145
  data._byte_size = reader.position - reader_start_position
119
146
  return data
120
147
  finally:
121
148
  reader.chunked_reading_mode = old_chunked_reading_mode
122
149
 
123
150
  def __repr__(self):
124
- return f"GuildTakeClientPacket(byte_size={repr(self._byte_size)}, session_id={repr(self._session_id)}, info_type={repr(self._info_type)})"
151
+ return f"GuildTakeClientPacket(byte_size={repr(self._byte_size)}, session_id={repr(self._session_id)}, info_type={repr(self._info_type)}, guild_tag={repr(self._guild_tag)})"
@@ -90,12 +90,16 @@ class GuildTellClientPacket(Packet):
90
90
  writer (EoWriter): The writer that the data will be serialized to.
91
91
  data (GuildTellClientPacket): The data to serialize.
92
92
  """
93
- if data._session_id is None:
94
- raise SerializationError("session_id must be provided.")
95
- writer.add_int(data._session_id)
96
- if data._guild_identity is None:
97
- raise SerializationError("guild_identity must be provided.")
98
- writer.add_string(data._guild_identity)
93
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
94
+ try:
95
+ if data._session_id is None:
96
+ raise SerializationError("session_id must be provided.")
97
+ writer.add_int(data._session_id)
98
+ if data._guild_identity is None:
99
+ raise SerializationError("guild_identity must be provided.")
100
+ writer.add_string(data._guild_identity)
101
+ finally:
102
+ writer.string_sanitization_mode = old_string_sanitization_mode
99
103
 
100
104
  @staticmethod
101
105
  def deserialize(reader: EoReader) -> "GuildTellClientPacket":
@@ -81,9 +81,13 @@ class GuildUseClientPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (GuildUseClientPacket): The data to serialize.
83
83
  """
84
- if data._player_id is None:
85
- raise SerializationError("player_id must be provided.")
86
- writer.add_short(data._player_id)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._player_id is None:
87
+ raise SerializationError("player_id must be provided.")
88
+ writer.add_short(data._player_id)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "GuildUseClientPacket":
@@ -111,21 +111,25 @@ class InitInitClientPacket(Packet):
111
111
  writer (EoWriter): The writer that the data will be serialized to.
112
112
  data (InitInitClientPacket): The data to serialize.
113
113
  """
114
- if data._challenge is None:
115
- raise SerializationError("challenge must be provided.")
116
- writer.add_three(data._challenge)
117
- if data._version is None:
118
- raise SerializationError("version must be provided.")
119
- Version.serialize(writer, data._version)
120
- writer.add_char(112)
121
- if data._hdid_length is None:
122
- raise SerializationError("hdid_length must be provided.")
123
- writer.add_char(data._hdid_length)
124
- if data._hdid is None:
125
- raise SerializationError("hdid must be provided.")
126
- if len(data._hdid) > 252:
127
- raise SerializationError(f"Expected length of hdid to be 252 or less, got {len(data._hdid)}.")
128
- writer.add_fixed_string(data._hdid, data._hdid_length, False)
114
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
115
+ try:
116
+ if data._challenge is None:
117
+ raise SerializationError("challenge must be provided.")
118
+ writer.add_three(data._challenge)
119
+ if data._version is None:
120
+ raise SerializationError("version must be provided.")
121
+ Version.serialize(writer, data._version)
122
+ writer.add_char(112)
123
+ if data._hdid_length is None:
124
+ raise SerializationError("hdid_length must be provided.")
125
+ writer.add_char(data._hdid_length)
126
+ if data._hdid is None:
127
+ raise SerializationError("hdid must be provided.")
128
+ if len(data._hdid) > 252:
129
+ raise SerializationError(f"Expected length of hdid to be 252 or less, got {len(data._hdid)}.")
130
+ writer.add_fixed_string(data._hdid, data._hdid_length, False)
131
+ finally:
132
+ writer.string_sanitization_mode = old_string_sanitization_mode
129
133
 
130
134
  @staticmethod
131
135
  def deserialize(reader: EoReader) -> "InitInitClientPacket":
@@ -43,7 +43,7 @@ class ItemDropClientPacket(Packet):
43
43
  """
44
44
  The official client sends 255 byte values for the coords if an item is dropped via
45
45
  the GUI button.
46
- 255 values here should be interpreted to mean &quot;drop at current coords&quot;.
46
+ 255 values here should be interpreted to mean "drop at current coords".
47
47
  Otherwise, the x and y fields contain encoded numbers that must be explicitly
48
48
  decoded to get the actual x and y values.
49
49
  """
@@ -54,7 +54,7 @@ class ItemDropClientPacket(Packet):
54
54
  """
55
55
  The official client sends 255 byte values for the coords if an item is dropped via
56
56
  the GUI button.
57
- 255 values here should be interpreted to mean &quot;drop at current coords&quot;.
57
+ 255 values here should be interpreted to mean "drop at current coords".
58
58
  Otherwise, the x and y fields contain encoded numbers that must be explicitly
59
59
  decoded to get the actual x and y values.
60
60
  """
@@ -98,12 +98,16 @@ class ItemDropClientPacket(Packet):
98
98
  writer (EoWriter): The writer that the data will be serialized to.
99
99
  data (ItemDropClientPacket): The data to serialize.
100
100
  """
101
- if data._item is None:
102
- raise SerializationError("item must be provided.")
103
- ThreeItem.serialize(writer, data._item)
104
- if data._coords is None:
105
- raise SerializationError("coords must be provided.")
106
- ByteCoords.serialize(writer, data._coords)
101
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
102
+ try:
103
+ if data._item is None:
104
+ raise SerializationError("item must be provided.")
105
+ ThreeItem.serialize(writer, data._item)
106
+ if data._coords is None:
107
+ raise SerializationError("coords must be provided.")
108
+ ByteCoords.serialize(writer, data._coords)
109
+ finally:
110
+ writer.string_sanitization_mode = old_string_sanitization_mode
107
111
 
108
112
  @staticmethod
109
113
  def deserialize(reader: EoReader) -> "ItemDropClientPacket":
@@ -81,9 +81,13 @@ class ItemGetClientPacket(Packet):
81
81
  writer (EoWriter): The writer that the data will be serialized to.
82
82
  data (ItemGetClientPacket): The data to serialize.
83
83
  """
84
- if data._item_index is None:
85
- raise SerializationError("item_index must be provided.")
86
- writer.add_short(data._item_index)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._item_index is None:
87
+ raise SerializationError("item_index must be provided.")
88
+ writer.add_short(data._item_index)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
91
 
88
92
  @staticmethod
89
93
  def deserialize(reader: EoReader) -> "ItemGetClientPacket":
@@ -74,9 +74,13 @@ class ItemJunkClientPacket(Packet):
74
74
  writer (EoWriter): The writer that the data will be serialized to.
75
75
  data (ItemJunkClientPacket): The data to serialize.
76
76
  """
77
- if data._item is None:
78
- raise SerializationError("item must be provided.")
79
- Item.serialize(writer, data._item)
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._item is None:
80
+ raise SerializationError("item must be provided.")
81
+ Item.serialize(writer, data._item)
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
80
84
 
81
85
  @staticmethod
82
86
  def deserialize(reader: EoReader) -> "ItemJunkClientPacket":