eolib 1.1.0__py3-none-any.whl → 1.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. eolib/__about__.py +1 -1
  2. eolib/encrypt/encryption_utils.py +8 -0
  3. eolib/protocol/_generated/coords.py +10 -6
  4. eolib/protocol/_generated/emote.py +1 -1
  5. eolib/protocol/_generated/map/emf.py +113 -109
  6. eolib/protocol/_generated/map/map_graphic_layer.py +13 -9
  7. eolib/protocol/_generated/map/map_graphic_row.py +16 -12
  8. eolib/protocol/_generated/map/map_graphic_row_tile.py +10 -6
  9. eolib/protocol/_generated/map/map_item.py +22 -18
  10. eolib/protocol/_generated/map/map_legacy_door_key.py +10 -6
  11. eolib/protocol/_generated/map/map_npc.py +19 -15
  12. eolib/protocol/_generated/map/map_sign.py +18 -14
  13. eolib/protocol/_generated/map/map_tile_spec_row.py +16 -12
  14. eolib/protocol/_generated/map/map_tile_spec_row_tile.py +10 -6
  15. eolib/protocol/_generated/map/map_warp.py +16 -12
  16. eolib/protocol/_generated/map/map_warp_row.py +16 -12
  17. eolib/protocol/_generated/map/map_warp_row_tile.py +10 -6
  18. eolib/protocol/_generated/net/char_item.py +10 -6
  19. eolib/protocol/_generated/net/client/account_agree_client_packet.py +21 -12
  20. eolib/protocol/_generated/net/client/account_create_client_packet.py +41 -32
  21. eolib/protocol/_generated/net/client/account_request_client_packet.py +10 -3
  22. eolib/protocol/_generated/net/client/admin_interact_report_client_packet.py +16 -7
  23. eolib/protocol/_generated/net/client/admin_interact_tell_client_packet.py +10 -3
  24. eolib/protocol/_generated/net/client/attack_use_client_packet.py +13 -6
  25. eolib/protocol/_generated/net/client/bank_add_client_packet.py +13 -6
  26. eolib/protocol/_generated/net/client/bank_open_client_packet.py +10 -3
  27. eolib/protocol/_generated/net/client/bank_take_client_packet.py +13 -6
  28. eolib/protocol/_generated/net/client/barber_buy_client_packet.py +16 -9
  29. eolib/protocol/_generated/net/client/barber_open_client_packet.py +10 -3
  30. eolib/protocol/_generated/net/client/board_create_client_packet.py +21 -12
  31. eolib/protocol/_generated/net/client/board_open_client_packet.py +10 -3
  32. eolib/protocol/_generated/net/client/board_remove_client_packet.py +13 -6
  33. eolib/protocol/_generated/net/client/board_take_client_packet.py +13 -6
  34. eolib/protocol/_generated/net/client/book_request_client_packet.py +10 -3
  35. eolib/protocol/_generated/net/client/byte_coords.py +10 -6
  36. eolib/protocol/_generated/net/client/chair_request_client_packet.py +24 -14
  37. eolib/protocol/_generated/net/client/character_create_client_packet.py +29 -20
  38. eolib/protocol/_generated/net/client/character_remove_client_packet.py +13 -6
  39. eolib/protocol/_generated/net/client/character_request_client_packet.py +11 -2
  40. eolib/protocol/_generated/net/client/character_take_client_packet.py +10 -3
  41. eolib/protocol/_generated/net/client/chest_add_client_packet.py +13 -6
  42. eolib/protocol/_generated/net/client/chest_open_client_packet.py +10 -3
  43. eolib/protocol/_generated/net/client/chest_take_client_packet.py +13 -6
  44. eolib/protocol/_generated/net/client/citizen_accept_client_packet.py +13 -6
  45. eolib/protocol/_generated/net/client/citizen_open_client_packet.py +10 -3
  46. eolib/protocol/_generated/net/client/citizen_remove_client_packet.py +10 -3
  47. eolib/protocol/_generated/net/client/citizen_reply_client_packet.py +25 -16
  48. eolib/protocol/_generated/net/client/citizen_request_client_packet.py +13 -6
  49. eolib/protocol/_generated/net/client/connection_accept_client_packet.py +16 -9
  50. eolib/protocol/_generated/net/client/connection_ping_client_packet.py +8 -4
  51. eolib/protocol/_generated/net/client/door_open_client_packet.py +10 -3
  52. eolib/protocol/_generated/net/client/emote_report_client_packet.py +10 -3
  53. eolib/protocol/_generated/net/client/face_player_client_packet.py +10 -3
  54. eolib/protocol/_generated/net/client/global_close_client_packet.py +8 -4
  55. eolib/protocol/_generated/net/client/global_open_client_packet.py +8 -4
  56. eolib/protocol/_generated/net/client/global_player_client_packet.py +8 -4
  57. eolib/protocol/_generated/net/client/global_remove_client_packet.py +8 -4
  58. eolib/protocol/_generated/net/client/guild_accept_client_packet.py +11 -4
  59. eolib/protocol/_generated/net/client/guild_agree_client_packet.py +44 -30
  60. eolib/protocol/_generated/net/client/guild_buy_client_packet.py +13 -6
  61. eolib/protocol/_generated/net/client/guild_create_client_packet.py +25 -16
  62. eolib/protocol/_generated/net/client/guild_junk_client_packet.py +10 -3
  63. eolib/protocol/_generated/net/client/guild_kick_client_packet.py +13 -6
  64. eolib/protocol/_generated/net/client/guild_open_client_packet.py +10 -3
  65. eolib/protocol/_generated/net/client/guild_player_client_packet.py +21 -12
  66. eolib/protocol/_generated/net/client/guild_rank_client_packet.py +16 -9
  67. eolib/protocol/_generated/net/client/guild_remove_client_packet.py +10 -3
  68. eolib/protocol/_generated/net/client/guild_report_client_packet.py +13 -6
  69. eolib/protocol/_generated/net/client/guild_request_client_packet.py +21 -12
  70. eolib/protocol/_generated/net/client/guild_take_client_packet.py +37 -7
  71. eolib/protocol/_generated/net/client/guild_tell_client_packet.py +13 -6
  72. eolib/protocol/_generated/net/client/guild_use_client_packet.py +10 -3
  73. eolib/protocol/_generated/net/client/init_init_client_packet.py +23 -15
  74. eolib/protocol/_generated/net/client/item_drop_client_packet.py +15 -8
  75. eolib/protocol/_generated/net/client/item_get_client_packet.py +10 -3
  76. eolib/protocol/_generated/net/client/item_junk_client_packet.py +10 -3
  77. eolib/protocol/_generated/net/client/item_use_client_packet.py +10 -3
  78. eolib/protocol/_generated/net/client/jukebox_msg_client_packet.py +16 -7
  79. eolib/protocol/_generated/net/client/jukebox_open_client_packet.py +10 -3
  80. eolib/protocol/_generated/net/client/jukebox_use_client_packet.py +13 -6
  81. eolib/protocol/_generated/net/client/locker_add_client_packet.py +13 -6
  82. eolib/protocol/_generated/net/client/locker_buy_client_packet.py +8 -4
  83. eolib/protocol/_generated/net/client/locker_open_client_packet.py +10 -3
  84. eolib/protocol/_generated/net/client/locker_take_client_packet.py +13 -6
  85. eolib/protocol/_generated/net/client/login_request_client_packet.py +17 -8
  86. eolib/protocol/_generated/net/client/marriage_open_client_packet.py +10 -3
  87. eolib/protocol/_generated/net/client/marriage_request_client_packet.py +19 -10
  88. eolib/protocol/_generated/net/client/message_ping_client_packet.py +8 -4
  89. eolib/protocol/_generated/net/client/npc_range_request_client_packet.py +17 -10
  90. eolib/protocol/_generated/net/client/paperdoll_add_client_packet.py +13 -6
  91. eolib/protocol/_generated/net/client/paperdoll_remove_client_packet.py +13 -6
  92. eolib/protocol/_generated/net/client/paperdoll_request_client_packet.py +10 -3
  93. eolib/protocol/_generated/net/client/party_accept_client_packet.py +13 -6
  94. eolib/protocol/_generated/net/client/party_remove_client_packet.py +10 -3
  95. eolib/protocol/_generated/net/client/party_request_client_packet.py +13 -6
  96. eolib/protocol/_generated/net/client/party_take_client_packet.py +10 -3
  97. eolib/protocol/_generated/net/client/player_range_request_client_packet.py +11 -4
  98. eolib/protocol/_generated/net/client/players_accept_client_packet.py +10 -3
  99. eolib/protocol/_generated/net/client/players_list_client_packet.py +8 -4
  100. eolib/protocol/_generated/net/client/players_request_client_packet.py +8 -4
  101. eolib/protocol/_generated/net/client/priest_accept_client_packet.py +10 -3
  102. eolib/protocol/_generated/net/client/priest_open_client_packet.py +10 -3
  103. eolib/protocol/_generated/net/client/priest_request_client_packet.py +16 -7
  104. eolib/protocol/_generated/net/client/priest_use_client_packet.py +10 -3
  105. eolib/protocol/_generated/net/client/quest_accept_client_packet.py +36 -26
  106. eolib/protocol/_generated/net/client/quest_list_client_packet.py +10 -3
  107. eolib/protocol/_generated/net/client/quest_use_client_packet.py +13 -6
  108. eolib/protocol/_generated/net/client/range_request_client_packet.py +18 -9
  109. eolib/protocol/_generated/net/client/refresh_request_client_packet.py +8 -4
  110. eolib/protocol/_generated/net/client/shop_buy_client_packet.py +13 -6
  111. eolib/protocol/_generated/net/client/shop_create_client_packet.py +13 -6
  112. eolib/protocol/_generated/net/client/shop_open_client_packet.py +10 -3
  113. eolib/protocol/_generated/net/client/shop_sell_client_packet.py +13 -6
  114. eolib/protocol/_generated/net/client/sit_request_client_packet.py +24 -14
  115. eolib/protocol/_generated/net/client/spell_request_client_packet.py +13 -6
  116. eolib/protocol/_generated/net/client/spell_target_group_client_packet.py +13 -6
  117. eolib/protocol/_generated/net/client/spell_target_other_client_packet.py +22 -15
  118. eolib/protocol/_generated/net/client/spell_target_self_client_packet.py +16 -9
  119. eolib/protocol/_generated/net/client/spell_use_client_packet.py +10 -3
  120. eolib/protocol/_generated/net/client/stat_skill_add_client_packet.py +35 -21
  121. eolib/protocol/_generated/net/client/stat_skill_junk_client_packet.py +10 -3
  122. eolib/protocol/_generated/net/client/stat_skill_open_client_packet.py +10 -3
  123. eolib/protocol/_generated/net/client/stat_skill_remove_client_packet.py +13 -6
  124. eolib/protocol/_generated/net/client/stat_skill_take_client_packet.py +13 -6
  125. eolib/protocol/_generated/net/client/talk_admin_client_packet.py +10 -3
  126. eolib/protocol/_generated/net/client/talk_announce_client_packet.py +10 -3
  127. eolib/protocol/_generated/net/client/talk_msg_client_packet.py +10 -3
  128. eolib/protocol/_generated/net/client/talk_open_client_packet.py +10 -3
  129. eolib/protocol/_generated/net/client/talk_player_client_packet.py +10 -3
  130. eolib/protocol/_generated/net/client/talk_report_client_packet.py +10 -3
  131. eolib/protocol/_generated/net/client/talk_request_client_packet.py +10 -3
  132. eolib/protocol/_generated/net/client/talk_tell_client_packet.py +16 -7
  133. eolib/protocol/_generated/net/client/talk_use_client_packet.py +10 -3
  134. eolib/protocol/_generated/net/client/trade_accept_client_packet.py +11 -4
  135. eolib/protocol/_generated/net/client/trade_add_client_packet.py +10 -3
  136. eolib/protocol/_generated/net/client/trade_agree_client_packet.py +10 -3
  137. eolib/protocol/_generated/net/client/trade_close_client_packet.py +8 -4
  138. eolib/protocol/_generated/net/client/trade_remove_client_packet.py +10 -3
  139. eolib/protocol/_generated/net/client/trade_request_client_packet.py +11 -4
  140. eolib/protocol/_generated/net/client/walk_action.py +13 -9
  141. eolib/protocol/_generated/net/client/walk_admin_client_packet.py +10 -3
  142. eolib/protocol/_generated/net/client/walk_player_client_packet.py +10 -3
  143. eolib/protocol/_generated/net/client/walk_spec_client_packet.py +10 -3
  144. eolib/protocol/_generated/net/client/warp_accept_client_packet.py +13 -6
  145. eolib/protocol/_generated/net/client/warp_take_client_packet.py +13 -6
  146. eolib/protocol/_generated/net/client/welcome_agree_client_packet.py +71 -45
  147. eolib/protocol/_generated/net/client/welcome_msg_client_packet.py +13 -6
  148. eolib/protocol/_generated/net/client/welcome_request_client_packet.py +10 -3
  149. eolib/protocol/_generated/net/item.py +10 -6
  150. eolib/protocol/_generated/net/server/account_reply_server_packet.py +91 -57
  151. eolib/protocol/_generated/net/server/admin_interact_agree_server_packet.py +10 -3
  152. eolib/protocol/_generated/net/server/admin_interact_list_server_packet.py +30 -21
  153. eolib/protocol/_generated/net/server/admin_interact_remove_server_packet.py +10 -3
  154. eolib/protocol/_generated/net/server/admin_interact_reply_server_packet.py +52 -36
  155. eolib/protocol/_generated/net/server/admin_interact_tell_server_packet.py +36 -27
  156. eolib/protocol/_generated/net/server/arena_accept_server_packet.py +24 -15
  157. eolib/protocol/_generated/net/server/arena_drop_server_packet.py +8 -4
  158. eolib/protocol/_generated/net/server/arena_spec_server_packet.py +28 -19
  159. eolib/protocol/_generated/net/server/arena_use_server_packet.py +10 -3
  160. eolib/protocol/_generated/net/server/attack_error_server_packet.py +8 -4
  161. eolib/protocol/_generated/net/server/attack_player_server_packet.py +13 -6
  162. eolib/protocol/_generated/net/server/avatar_admin_server_packet.py +39 -32
  163. eolib/protocol/_generated/net/server/avatar_agree_server_packet.py +10 -3
  164. eolib/protocol/_generated/net/server/avatar_change.py +53 -38
  165. eolib/protocol/_generated/net/server/avatar_change_type.py +1 -1
  166. eolib/protocol/_generated/net/server/avatar_remove_server_packet.py +13 -6
  167. eolib/protocol/_generated/net/server/avatar_reply_server_packet.py +25 -18
  168. eolib/protocol/_generated/net/server/bank_open_server_packet.py +16 -9
  169. eolib/protocol/_generated/net/server/bank_reply_server_packet.py +13 -6
  170. eolib/protocol/_generated/net/server/barber_agree_server_packet.py +13 -6
  171. eolib/protocol/_generated/net/server/barber_open_server_packet.py +10 -3
  172. eolib/protocol/_generated/net/server/big_coords.py +10 -6
  173. eolib/protocol/_generated/net/server/board_open_server_packet.py +22 -15
  174. eolib/protocol/_generated/net/server/board_player_server_packet.py +15 -6
  175. eolib/protocol/_generated/net/server/board_post_listing.py +17 -11
  176. eolib/protocol/_generated/net/server/book_reply_server_packet.py +20 -12
  177. eolib/protocol/_generated/net/server/cast_accept_server_packet.py +22 -15
  178. eolib/protocol/_generated/net/server/cast_reply_server_packet.py +31 -24
  179. eolib/protocol/_generated/net/server/cast_spec_server_packet.py +19 -12
  180. eolib/protocol/_generated/net/server/chair_close_server_packet.py +13 -6
  181. eolib/protocol/_generated/net/server/chair_player_server_packet.py +16 -9
  182. eolib/protocol/_generated/net/server/chair_remove_server_packet.py +13 -6
  183. eolib/protocol/_generated/net/server/chair_reply_server_packet.py +16 -9
  184. eolib/protocol/_generated/net/server/character_base_stats.py +22 -18
  185. eolib/protocol/_generated/net/server/character_base_stats_welcome.py +22 -18
  186. eolib/protocol/_generated/net/server/character_details.py +42 -36
  187. eolib/protocol/_generated/net/server/character_elemental_stats.py +22 -18
  188. eolib/protocol/_generated/net/server/character_map_info.py +70 -64
  189. eolib/protocol/_generated/net/server/character_player_server_packet.py +13 -6
  190. eolib/protocol/_generated/net/server/character_reply_server_packet.py +111 -79
  191. eolib/protocol/_generated/net/server/character_secondary_stats.py +19 -15
  192. eolib/protocol/_generated/net/server/character_secondary_stats_info_lookup.py +19 -15
  193. eolib/protocol/_generated/net/server/character_selection_list_entry.py +34 -28
  194. eolib/protocol/_generated/net/server/character_stats_equipment_change.py +16 -12
  195. eolib/protocol/_generated/net/server/character_stats_info_lookup.py +25 -21
  196. eolib/protocol/_generated/net/server/character_stats_reset.py +31 -27
  197. eolib/protocol/_generated/net/server/character_stats_update.py +22 -18
  198. eolib/protocol/_generated/net/server/character_stats_welcome.py +34 -30
  199. eolib/protocol/_generated/net/server/chest_agree_server_packet.py +11 -4
  200. eolib/protocol/_generated/net/server/chest_close_server_packet.py +16 -5
  201. eolib/protocol/_generated/net/server/chest_get_server_packet.py +17 -10
  202. eolib/protocol/_generated/net/server/chest_open_server_packet.py +14 -7
  203. eolib/protocol/_generated/net/server/chest_reply_server_packet.py +20 -13
  204. eolib/protocol/_generated/net/server/chest_spec_server_packet.py +8 -4
  205. eolib/protocol/_generated/net/server/citizen_accept_server_packet.py +10 -3
  206. eolib/protocol/_generated/net/server/citizen_open_server_packet.py +27 -18
  207. eolib/protocol/_generated/net/server/citizen_remove_server_packet.py +10 -3
  208. eolib/protocol/_generated/net/server/citizen_reply_server_packet.py +10 -3
  209. eolib/protocol/_generated/net/server/citizen_request_server_packet.py +10 -3
  210. eolib/protocol/_generated/net/server/connection_player_server_packet.py +13 -6
  211. eolib/protocol/_generated/net/server/dialog_entry.py +24 -17
  212. eolib/protocol/_generated/net/server/dialog_quest_entry.py +10 -6
  213. eolib/protocol/_generated/net/server/door_close_server_packet.py +10 -3
  214. eolib/protocol/_generated/net/server/door_open_server_packet.py +11 -4
  215. eolib/protocol/_generated/net/server/effect_admin_server_packet.py +19 -12
  216. eolib/protocol/_generated/net/server/effect_agree_server_packet.py +13 -6
  217. eolib/protocol/_generated/net/server/effect_player_server_packet.py +13 -6
  218. eolib/protocol/_generated/net/server/effect_report_server_packet.py +8 -4
  219. eolib/protocol/_generated/net/server/effect_spec_server_packet.py +47 -33
  220. eolib/protocol/_generated/net/server/effect_target_other_server_packet.py +20 -13
  221. eolib/protocol/_generated/net/server/effect_use_server_packet.py +24 -14
  222. eolib/protocol/_generated/net/server/emote_player_server_packet.py +13 -6
  223. eolib/protocol/_generated/net/server/equipment_change.py +20 -16
  224. eolib/protocol/_generated/net/server/equipment_character_select.py +19 -15
  225. eolib/protocol/_generated/net/server/equipment_map_info.py +23 -19
  226. eolib/protocol/_generated/net/server/equipment_paperdoll.py +50 -46
  227. eolib/protocol/_generated/net/server/equipment_welcome.py +49 -45
  228. eolib/protocol/_generated/net/server/face_player_server_packet.py +13 -6
  229. eolib/protocol/_generated/net/server/global_backfill_message.py +13 -7
  230. eolib/protocol/_generated/net/server/group_heal_target_player.py +13 -9
  231. eolib/protocol/_generated/net/server/guild_accept_server_packet.py +10 -3
  232. eolib/protocol/_generated/net/server/guild_agree_server_packet.py +25 -16
  233. eolib/protocol/_generated/net/server/guild_buy_server_packet.py +10 -3
  234. eolib/protocol/_generated/net/server/guild_create_server_packet.py +28 -19
  235. eolib/protocol/_generated/net/server/guild_kick_server_packet.py +8 -4
  236. eolib/protocol/_generated/net/server/guild_member.py +17 -11
  237. eolib/protocol/_generated/net/server/guild_open_server_packet.py +10 -3
  238. eolib/protocol/_generated/net/server/guild_rank_server_packet.py +16 -9
  239. eolib/protocol/_generated/net/server/guild_reply_server_packet.py +49 -31
  240. eolib/protocol/_generated/net/server/guild_report_server_packet.py +47 -42
  241. eolib/protocol/_generated/net/server/guild_request_server_packet.py +13 -6
  242. eolib/protocol/_generated/net/server/guild_sell_server_packet.py +10 -3
  243. eolib/protocol/_generated/net/server/guild_staff.py +13 -7
  244. eolib/protocol/_generated/net/server/guild_take_server_packet.py +10 -3
  245. eolib/protocol/_generated/net/server/guild_tell_server_packet.py +20 -13
  246. eolib/protocol/_generated/net/server/init_ban_type.py +1 -1
  247. eolib/protocol/_generated/net/server/init_init_server_packet.py +190 -124
  248. eolib/protocol/_generated/net/server/init_reply.py +3 -0
  249. eolib/protocol/_generated/net/server/item_accept_server_packet.py +10 -3
  250. eolib/protocol/_generated/net/server/item_add_server_packet.py +19 -12
  251. eolib/protocol/_generated/net/server/item_agree_server_packet.py +10 -3
  252. eolib/protocol/_generated/net/server/item_drop_server_packet.py +22 -15
  253. eolib/protocol/_generated/net/server/item_get_server_packet.py +16 -9
  254. eolib/protocol/_generated/net/server/item_junk_server_packet.py +16 -9
  255. eolib/protocol/_generated/net/server/item_kick_server_packet.py +13 -6
  256. eolib/protocol/_generated/net/server/item_map_info.py +16 -12
  257. eolib/protocol/_generated/net/server/item_obtain_server_packet.py +13 -6
  258. eolib/protocol/_generated/net/server/item_remove_server_packet.py +10 -3
  259. eolib/protocol/_generated/net/server/item_reply_server_packet.py +100 -74
  260. eolib/protocol/_generated/net/server/item_spec_server_packet.py +8 -4
  261. eolib/protocol/_generated/net/server/jukebox_agree_server_packet.py +10 -3
  262. eolib/protocol/_generated/net/server/jukebox_msg_server_packet.py +19 -12
  263. eolib/protocol/_generated/net/server/jukebox_open_server_packet.py +13 -6
  264. eolib/protocol/_generated/net/server/jukebox_player_server_packet.py +10 -3
  265. eolib/protocol/_generated/net/server/jukebox_reply_server_packet.py +8 -4
  266. eolib/protocol/_generated/net/server/jukebox_use_server_packet.py +14 -3
  267. eolib/protocol/_generated/net/server/level_up_stats.py +22 -18
  268. eolib/protocol/_generated/net/server/locker_buy_server_packet.py +13 -6
  269. eolib/protocol/_generated/net/server/locker_get_server_packet.py +17 -10
  270. eolib/protocol/_generated/net/server/locker_open_server_packet.py +14 -7
  271. eolib/protocol/_generated/net/server/locker_reply_server_packet.py +17 -10
  272. eolib/protocol/_generated/net/server/locker_spec_server_packet.py +10 -3
  273. eolib/protocol/_generated/net/server/login_reply.py +6 -0
  274. eolib/protocol/_generated/net/server/login_reply_server_packet.py +80 -50
  275. eolib/protocol/_generated/net/server/map_drain_damage_other.py +13 -9
  276. eolib/protocol/_generated/net/server/map_file.py +7 -3
  277. eolib/protocol/_generated/net/server/marriage_open_server_packet.py +10 -3
  278. eolib/protocol/_generated/net/server/marriage_reply_server_packet.py +24 -14
  279. eolib/protocol/_generated/net/server/message_accept_server_packet.py +16 -9
  280. eolib/protocol/_generated/net/server/message_close_server_packet.py +8 -4
  281. eolib/protocol/_generated/net/server/message_open_server_packet.py +10 -3
  282. eolib/protocol/_generated/net/server/message_pong_server_packet.py +8 -4
  283. eolib/protocol/_generated/net/server/music_player_server_packet.py +10 -3
  284. eolib/protocol/_generated/net/server/nearby_info.py +26 -22
  285. eolib/protocol/_generated/net/server/npc_accept_server_packet.py +16 -9
  286. eolib/protocol/_generated/net/server/npc_agree_server_packet.py +19 -12
  287. eolib/protocol/_generated/net/server/npc_dialog_server_packet.py +13 -6
  288. eolib/protocol/_generated/net/server/npc_junk_server_packet.py +10 -3
  289. eolib/protocol/_generated/net/server/npc_killed_data.py +28 -24
  290. eolib/protocol/_generated/net/server/npc_map_info.py +16 -12
  291. eolib/protocol/_generated/net/server/npc_player_server_packet.py +30 -21
  292. eolib/protocol/_generated/net/server/npc_reply_server_packet.py +25 -18
  293. eolib/protocol/_generated/net/server/npc_spec_server_packet.py +13 -6
  294. eolib/protocol/_generated/net/server/npc_update_attack.py +22 -18
  295. eolib/protocol/_generated/net/server/npc_update_chat.py +15 -11
  296. eolib/protocol/_generated/net/server/npc_update_position.py +13 -9
  297. eolib/protocol/_generated/net/server/online_player.py +26 -20
  298. eolib/protocol/_generated/net/server/paperdoll_agree_server_packet.py +22 -15
  299. eolib/protocol/_generated/net/server/paperdoll_ping_server_packet.py +12 -5
  300. eolib/protocol/_generated/net/server/paperdoll_remove_server_packet.py +19 -12
  301. eolib/protocol/_generated/net/server/paperdoll_reply_server_packet.py +18 -9
  302. eolib/protocol/_generated/net/server/party_add_server_packet.py +10 -3
  303. eolib/protocol/_generated/net/server/party_agree_server_packet.py +13 -6
  304. eolib/protocol/_generated/net/server/party_close_server_packet.py +8 -4
  305. eolib/protocol/_generated/net/server/party_create_server_packet.py +13 -5
  306. eolib/protocol/_generated/net/server/party_exp_share.py +16 -12
  307. eolib/protocol/_generated/net/server/party_list_server_packet.py +13 -5
  308. eolib/protocol/_generated/net/server/party_member.py +20 -16
  309. eolib/protocol/_generated/net/server/party_remove_server_packet.py +10 -3
  310. eolib/protocol/_generated/net/server/party_reply_server_packet.py +35 -21
  311. eolib/protocol/_generated/net/server/party_request_server_packet.py +16 -9
  312. eolib/protocol/_generated/net/server/party_target_group_server_packet.py +11 -4
  313. eolib/protocol/_generated/net/server/players_agree_server_packet.py +10 -3
  314. eolib/protocol/_generated/net/server/players_list.py +17 -13
  315. eolib/protocol/_generated/net/server/players_list_friends.py +17 -13
  316. eolib/protocol/_generated/net/server/players_list_server_packet.py +12 -3
  317. eolib/protocol/_generated/net/server/players_net242_server_packet.py +10 -3
  318. eolib/protocol/_generated/net/server/players_ping_server_packet.py +10 -3
  319. eolib/protocol/_generated/net/server/players_pong_server_packet.py +10 -3
  320. eolib/protocol/_generated/net/server/players_remove_server_packet.py +10 -3
  321. eolib/protocol/_generated/net/server/players_reply_server_packet.py +12 -3
  322. eolib/protocol/_generated/net/server/priest_open_server_packet.py +10 -3
  323. eolib/protocol/_generated/net/server/priest_reply_server_packet.py +10 -3
  324. eolib/protocol/_generated/net/server/priest_request_server_packet.py +13 -6
  325. eolib/protocol/_generated/net/server/pub_file.py +10 -6
  326. eolib/protocol/_generated/net/server/quest_dialog_server_packet.py +36 -30
  327. eolib/protocol/_generated/net/server/quest_list_server_packet.py +42 -28
  328. eolib/protocol/_generated/net/server/quest_progress_entry.py +23 -17
  329. eolib/protocol/_generated/net/server/quest_report_server_packet.py +17 -9
  330. eolib/protocol/_generated/net/server/range_reply_server_packet.py +10 -3
  331. eolib/protocol/_generated/net/server/recover_agree_server_packet.py +16 -9
  332. eolib/protocol/_generated/net/server/recover_list_server_packet.py +13 -6
  333. eolib/protocol/_generated/net/server/recover_player_server_packet.py +13 -6
  334. eolib/protocol/_generated/net/server/recover_reply_server_packet.py +24 -17
  335. eolib/protocol/_generated/net/server/recover_target_group_server_packet.py +22 -15
  336. eolib/protocol/_generated/net/server/refresh_reply_server_packet.py +10 -3
  337. eolib/protocol/_generated/net/server/server_settings.py +25 -21
  338. eolib/protocol/_generated/net/server/shop_buy_server_packet.py +16 -9
  339. eolib/protocol/_generated/net/server/shop_craft_item.py +13 -9
  340. eolib/protocol/_generated/net/server/shop_create_server_packet.py +19 -12
  341. eolib/protocol/_generated/net/server/shop_open_server_packet.py +26 -17
  342. eolib/protocol/_generated/net/server/shop_sell_server_packet.py +16 -9
  343. eolib/protocol/_generated/net/server/shop_sold_item.py +10 -6
  344. eolib/protocol/_generated/net/server/shop_trade_item.py +16 -12
  345. eolib/protocol/_generated/net/server/sit_close_server_packet.py +13 -6
  346. eolib/protocol/_generated/net/server/sit_player_server_packet.py +17 -10
  347. eolib/protocol/_generated/net/server/sit_remove_server_packet.py +13 -6
  348. eolib/protocol/_generated/net/server/sit_reply_server_packet.py +17 -10
  349. eolib/protocol/_generated/net/server/skill_learn.py +25 -21
  350. eolib/protocol/_generated/net/server/spell_error_server_packet.py +8 -4
  351. eolib/protocol/_generated/net/server/spell_player_server_packet.py +13 -6
  352. eolib/protocol/_generated/net/server/spell_request_server_packet.py +13 -6
  353. eolib/protocol/_generated/net/server/spell_target_group_server_packet.py +23 -16
  354. eolib/protocol/_generated/net/server/spell_target_other_server_packet.py +28 -21
  355. eolib/protocol/_generated/net/server/spell_target_self_server_packet.py +25 -18
  356. eolib/protocol/_generated/net/server/stat_skill_accept_server_packet.py +13 -6
  357. eolib/protocol/_generated/net/server/stat_skill_junk_server_packet.py +10 -3
  358. eolib/protocol/_generated/net/server/stat_skill_open_server_packet.py +20 -11
  359. eolib/protocol/_generated/net/server/stat_skill_player_server_packet.py +13 -6
  360. eolib/protocol/_generated/net/server/stat_skill_remove_server_packet.py +10 -3
  361. eolib/protocol/_generated/net/server/stat_skill_reply_server_packet.py +24 -14
  362. eolib/protocol/_generated/net/server/stat_skill_take_server_packet.py +13 -6
  363. eolib/protocol/_generated/net/server/talk_admin_server_packet.py +16 -7
  364. eolib/protocol/_generated/net/server/talk_announce_server_packet.py +16 -7
  365. eolib/protocol/_generated/net/server/talk_list_server_packet.py +14 -5
  366. eolib/protocol/_generated/net/server/talk_msg_server_packet.py +16 -7
  367. eolib/protocol/_generated/net/server/talk_open_server_packet.py +13 -6
  368. eolib/protocol/_generated/net/server/talk_player_server_packet.py +13 -6
  369. eolib/protocol/_generated/net/server/talk_reply_server_packet.py +13 -6
  370. eolib/protocol/_generated/net/server/talk_request_server_packet.py +16 -7
  371. eolib/protocol/_generated/net/server/talk_server_server_packet.py +10 -3
  372. eolib/protocol/_generated/net/server/talk_spec_server_packet.py +10 -3
  373. eolib/protocol/_generated/net/server/talk_tell_server_packet.py +16 -7
  374. eolib/protocol/_generated/net/server/trade_admin_server_packet.py +10 -3
  375. eolib/protocol/_generated/net/server/trade_agree_server_packet.py +13 -6
  376. eolib/protocol/_generated/net/server/trade_close_server_packet.py +10 -3
  377. eolib/protocol/_generated/net/server/trade_item_data.py +22 -16
  378. eolib/protocol/_generated/net/server/trade_open_server_packet.py +23 -14
  379. eolib/protocol/_generated/net/server/trade_reply_server_packet.py +10 -3
  380. eolib/protocol/_generated/net/server/trade_request_server_packet.py +14 -7
  381. eolib/protocol/_generated/net/server/trade_spec_server_packet.py +10 -3
  382. eolib/protocol/_generated/net/server/trade_use_server_packet.py +10 -3
  383. eolib/protocol/_generated/net/server/walk_close_server_packet.py +8 -4
  384. eolib/protocol/_generated/net/server/walk_open_server_packet.py +8 -4
  385. eolib/protocol/_generated/net/server/walk_player_server_packet.py +16 -9
  386. eolib/protocol/_generated/net/server/walk_reply_server_packet.py +23 -14
  387. eolib/protocol/_generated/net/server/warp_agree_server_packet.py +32 -20
  388. eolib/protocol/_generated/net/server/warp_create_server_packet.py +10 -3
  389. eolib/protocol/_generated/net/server/warp_player_server_packet.py +10 -3
  390. eolib/protocol/_generated/net/server/warp_request_server_packet.py +36 -26
  391. eolib/protocol/_generated/net/server/welcome_net242_server_packet.py +10 -3
  392. eolib/protocol/_generated/net/server/welcome_net243_server_packet.py +10 -3
  393. eolib/protocol/_generated/net/server/welcome_net244_server_packet.py +10 -3
  394. eolib/protocol/_generated/net/server/welcome_ping_server_packet.py +10 -3
  395. eolib/protocol/_generated/net/server/welcome_pong_server_packet.py +10 -3
  396. eolib/protocol/_generated/net/server/welcome_reply_server_packet.py +161 -147
  397. eolib/protocol/_generated/net/spell.py +10 -6
  398. eolib/protocol/_generated/net/three_item.py +10 -6
  399. eolib/protocol/_generated/net/version.py +13 -9
  400. eolib/protocol/_generated/net/weight.py +10 -6
  401. eolib/protocol/_generated/pub/ecf.py +21 -17
  402. eolib/protocol/_generated/pub/ecf_record.py +36 -32
  403. eolib/protocol/_generated/pub/eif.py +21 -17
  404. eolib/protocol/_generated/pub/eif_record.py +130 -126
  405. eolib/protocol/_generated/pub/enf.py +21 -17
  406. eolib/protocol/_generated/pub/enf_record.py +72 -68
  407. eolib/protocol/_generated/pub/esf.py +21 -17
  408. eolib/protocol/_generated/pub/esf_record.py +106 -102
  409. eolib/protocol/_generated/pub/server/__init__.py +30 -0
  410. eolib/protocol/_generated/pub/server/drop_file.py +81 -0
  411. eolib/protocol/_generated/pub/server/drop_npc_record.py +116 -0
  412. eolib/protocol/_generated/pub/server/drop_record.py +149 -0
  413. eolib/protocol/_generated/pub/server/inn_file.py +81 -0
  414. eolib/protocol/_generated/pub/server/inn_question_record.py +119 -0
  415. eolib/protocol/_generated/pub/server/inn_record.py +383 -0
  416. eolib/protocol/_generated/pub/server/shop_craft_ingredient_record.py +107 -0
  417. eolib/protocol/_generated/pub/server/shop_craft_record.py +110 -0
  418. eolib/protocol/_generated/pub/server/shop_file.py +81 -0
  419. eolib/protocol/_generated/pub/server/shop_record.py +253 -0
  420. eolib/protocol/_generated/pub/server/shop_trade_record.py +157 -0
  421. eolib/protocol/_generated/pub/server/skill_master_file.py +81 -0
  422. eolib/protocol/_generated/pub/server/skill_master_record.py +224 -0
  423. eolib/protocol/_generated/pub/server/skill_master_skill_record.py +336 -0
  424. eolib/protocol/_generated/pub/server/talk_file.py +81 -0
  425. eolib/protocol/_generated/pub/server/talk_message_record.py +90 -0
  426. eolib/protocol/_generated/pub/server/talk_record.py +145 -0
  427. eolib/protocol/protocol_enum_meta.py +1 -3
  428. eolib/protocol/pub/server/__init__.py +8 -0
  429. eolib/py.typed +0 -0
  430. {eolib-1.1.0.dist-info → eolib-1.2.0.dist-info}/METADATA +8 -6
  431. {eolib-1.1.0.dist-info → eolib-1.2.0.dist-info}/RECORD +433 -413
  432. {eolib-1.1.0.dist-info → eolib-1.2.0.dist-info}/WHEEL +1 -1
  433. {eolib-1.1.0.dist-info → eolib-1.2.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -10,6 +10,9 @@ from .....data.eo_writer import EoWriter
10
10
  from .....data.eo_reader import EoReader
11
11
 
12
12
  class ArenaDropServerPacket(Packet):
13
+ """
14
+ "Arena is blocked" message
15
+ """
13
16
  _byte_size: int = 0
14
17
 
15
18
  @property
@@ -60,9 +63,11 @@ class ArenaDropServerPacket(Packet):
60
63
  writer (EoWriter): The writer that the data will be serialized to.
61
64
  data (ArenaDropServerPacket): The data to serialize.
62
65
  """
63
- old_writer_length: int = len(writer)
64
- if len(writer) == old_writer_length:
66
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
67
+ try:
65
68
  writer.add_string("N")
69
+ finally:
70
+ writer.string_sanitization_mode = old_string_sanitization_mode
66
71
 
67
72
  @staticmethod
68
73
  def deserialize(reader: EoReader) -> "ArenaDropServerPacket":
@@ -79,8 +84,7 @@ class ArenaDropServerPacket(Packet):
79
84
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
80
85
  try:
81
86
  reader_start_position: int = reader.position
82
- if reader.position == reader_start_position:
83
- reader.get_string()
87
+ reader.get_string()
84
88
  data._byte_size = reader.position - reader_start_position
85
89
  return data
86
90
  finally:
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class ArenaSpecServerPacket(Packet):
15
+ """
16
+ Arena kill message
17
+ """
15
18
  _byte_size: int = 0
16
19
  _player_id: int = None # type: ignore [assignment]
17
20
  _direction: Direction = None # type: ignore [assignment]
@@ -123,25 +126,31 @@ class ArenaSpecServerPacket(Packet):
123
126
  writer (EoWriter): The writer that the data will be serialized to.
124
127
  data (ArenaSpecServerPacket): The data to serialize.
125
128
  """
126
- if data._player_id is None:
127
- raise SerializationError("player_id must be provided.")
128
- writer.add_short(data._player_id)
129
- writer.add_byte(0xFF)
130
- if data._direction is None:
131
- raise SerializationError("direction must be provided.")
132
- writer.add_char(int(data._direction))
133
- writer.add_byte(0xFF)
134
- if data._kills_count is None:
135
- raise SerializationError("kills_count must be provided.")
136
- writer.add_int(data._kills_count)
137
- writer.add_byte(0xFF)
138
- if data._killer_name is None:
139
- raise SerializationError("killer_name must be provided.")
140
- writer.add_string(data._killer_name)
141
- writer.add_byte(0xFF)
142
- if data._victim_name is None:
143
- raise SerializationError("victim_name must be provided.")
144
- writer.add_string(data._victim_name)
129
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
130
+ try:
131
+ writer.string_sanitization_mode = True
132
+ if data._player_id is None:
133
+ raise SerializationError("player_id must be provided.")
134
+ writer.add_short(data._player_id)
135
+ writer.add_byte(0xFF)
136
+ if data._direction is None:
137
+ raise SerializationError("direction must be provided.")
138
+ writer.add_char(int(data._direction))
139
+ writer.add_byte(0xFF)
140
+ if data._kills_count is None:
141
+ raise SerializationError("kills_count must be provided.")
142
+ writer.add_int(data._kills_count)
143
+ writer.add_byte(0xFF)
144
+ if data._killer_name is None:
145
+ raise SerializationError("killer_name must be provided.")
146
+ writer.add_string(data._killer_name)
147
+ writer.add_byte(0xFF)
148
+ if data._victim_name is None:
149
+ raise SerializationError("victim_name must be provided.")
150
+ writer.add_string(data._victim_name)
151
+ writer.string_sanitization_mode = False
152
+ finally:
153
+ writer.string_sanitization_mode = old_string_sanitization_mode
145
154
 
146
155
  @staticmethod
147
156
  def deserialize(reader: EoReader) -> "ArenaSpecServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class ArenaUseServerPacket(Packet):
14
+ """
15
+ Arena start message
16
+ """
14
17
  _byte_size: int = 0
15
18
  _players_count: int = None # type: ignore [assignment]
16
19
 
@@ -78,9 +81,13 @@ class ArenaUseServerPacket(Packet):
78
81
  writer (EoWriter): The writer that the data will be serialized to.
79
82
  data (ArenaUseServerPacket): The data to serialize.
80
83
  """
81
- if data._players_count is None:
82
- raise SerializationError("players_count must be provided.")
83
- writer.add_char(data._players_count)
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._players_count is None:
87
+ raise SerializationError("players_count must be provided.")
88
+ writer.add_char(data._players_count)
89
+ finally:
90
+ writer.string_sanitization_mode = old_string_sanitization_mode
84
91
 
85
92
  @staticmethod
86
93
  def deserialize(reader: EoReader) -> "ArenaUseServerPacket":
@@ -10,6 +10,9 @@ from .....data.eo_writer import EoWriter
10
10
  from .....data.eo_reader import EoReader
11
11
 
12
12
  class AttackErrorServerPacket(Packet):
13
+ """
14
+ Show flood protection message (vestigial)
15
+ """
13
16
  _byte_size: int = 0
14
17
 
15
18
  @property
@@ -60,9 +63,11 @@ class AttackErrorServerPacket(Packet):
60
63
  writer (EoWriter): The writer that the data will be serialized to.
61
64
  data (AttackErrorServerPacket): The data to serialize.
62
65
  """
63
- old_writer_length: int = len(writer)
64
- if len(writer) == old_writer_length:
66
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
67
+ try:
65
68
  writer.add_byte(255)
69
+ finally:
70
+ writer.string_sanitization_mode = old_string_sanitization_mode
66
71
 
67
72
  @staticmethod
68
73
  def deserialize(reader: EoReader) -> "AttackErrorServerPacket":
@@ -79,8 +84,7 @@ class AttackErrorServerPacket(Packet):
79
84
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
80
85
  try:
81
86
  reader_start_position: int = reader.position
82
- if reader.position == reader_start_position:
83
- reader.get_byte()
87
+ reader.get_byte()
84
88
  data._byte_size = reader.position - reader_start_position
85
89
  return data
86
90
  finally:
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class AttackPlayerServerPacket(Packet):
15
+ """
16
+ Nearby player attacking
17
+ """
15
18
  _byte_size: int = 0
16
19
  _player_id: int = None # type: ignore [assignment]
17
20
  _direction: Direction = None # type: ignore [assignment]
@@ -88,12 +91,16 @@ class AttackPlayerServerPacket(Packet):
88
91
  writer (EoWriter): The writer that the data will be serialized to.
89
92
  data (AttackPlayerServerPacket): The data to serialize.
90
93
  """
91
- if data._player_id is None:
92
- raise SerializationError("player_id must be provided.")
93
- writer.add_short(data._player_id)
94
- if data._direction is None:
95
- raise SerializationError("direction must be provided.")
96
- writer.add_char(int(data._direction))
94
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
95
+ try:
96
+ if data._player_id is None:
97
+ raise SerializationError("player_id must be provided.")
98
+ writer.add_short(data._player_id)
99
+ if data._direction is None:
100
+ raise SerializationError("direction must be provided.")
101
+ writer.add_char(int(data._direction))
102
+ finally:
103
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
104
 
98
105
  @staticmethod
99
106
  def deserialize(reader: EoReader) -> "AttackPlayerServerPacket":
@@ -12,11 +12,14 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class AvatarAdminServerPacket(Packet):
15
+ """
16
+ Nearby player hit by a damage spell from a player
17
+ """
15
18
  _byte_size: int = 0
16
19
  _caster_id: int = None # type: ignore [assignment]
17
20
  _victim_id: int = None # type: ignore [assignment]
18
- _caster_direction: Direction = None # type: ignore [assignment]
19
21
  _damage: int = None # type: ignore [assignment]
22
+ _caster_direction: Direction = None # type: ignore [assignment]
20
23
  _hp_percentage: int = None # type: ignore [assignment]
21
24
  _victim_died: bool = None # type: ignore [assignment]
22
25
  _spell_id: int = None # type: ignore [assignment]
@@ -63,14 +66,6 @@ class AvatarAdminServerPacket(Packet):
63
66
  """
64
67
  self._victim_id = victim_id
65
68
 
66
- @property
67
- def caster_direction(self) -> Direction:
68
- return self._caster_direction
69
-
70
- @caster_direction.setter
71
- def caster_direction(self, caster_direction: Direction) -> None:
72
- self._caster_direction = caster_direction
73
-
74
69
  @property
75
70
  def damage(self) -> int:
76
71
  """
@@ -87,6 +82,14 @@ class AvatarAdminServerPacket(Packet):
87
82
  """
88
83
  self._damage = damage
89
84
 
85
+ @property
86
+ def caster_direction(self) -> Direction:
87
+ return self._caster_direction
88
+
89
+ @caster_direction.setter
90
+ def caster_direction(self, caster_direction: Direction) -> None:
91
+ self._caster_direction = caster_direction
92
+
90
93
  @property
91
94
  def hp_percentage(self) -> int:
92
95
  """
@@ -165,27 +168,31 @@ class AvatarAdminServerPacket(Packet):
165
168
  writer (EoWriter): The writer that the data will be serialized to.
166
169
  data (AvatarAdminServerPacket): The data to serialize.
167
170
  """
168
- if data._caster_id is None:
169
- raise SerializationError("caster_id must be provided.")
170
- writer.add_short(data._caster_id)
171
- if data._victim_id is None:
172
- raise SerializationError("victim_id must be provided.")
173
- writer.add_short(data._victim_id)
174
- if data._caster_direction is None:
175
- raise SerializationError("caster_direction must be provided.")
176
- writer.add_char(int(data._caster_direction))
177
- if data._damage is None:
178
- raise SerializationError("damage must be provided.")
179
- writer.add_three(data._damage)
180
- if data._hp_percentage is None:
181
- raise SerializationError("hp_percentage must be provided.")
182
- writer.add_char(data._hp_percentage)
183
- if data._victim_died is None:
184
- raise SerializationError("victim_died must be provided.")
185
- writer.add_char(1 if data._victim_died else 0)
186
- if data._spell_id is None:
187
- raise SerializationError("spell_id must be provided.")
188
- writer.add_short(data._spell_id)
171
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
172
+ try:
173
+ if data._caster_id is None:
174
+ raise SerializationError("caster_id must be provided.")
175
+ writer.add_short(data._caster_id)
176
+ if data._victim_id is None:
177
+ raise SerializationError("victim_id must be provided.")
178
+ writer.add_short(data._victim_id)
179
+ if data._damage is None:
180
+ raise SerializationError("damage must be provided.")
181
+ writer.add_three(data._damage)
182
+ if data._caster_direction is None:
183
+ raise SerializationError("caster_direction must be provided.")
184
+ writer.add_char(int(data._caster_direction))
185
+ if data._hp_percentage is None:
186
+ raise SerializationError("hp_percentage must be provided.")
187
+ writer.add_char(data._hp_percentage)
188
+ if data._victim_died is None:
189
+ raise SerializationError("victim_died must be provided.")
190
+ writer.add_char(1 if data._victim_died else 0)
191
+ if data._spell_id is None:
192
+ raise SerializationError("spell_id must be provided.")
193
+ writer.add_short(data._spell_id)
194
+ finally:
195
+ writer.string_sanitization_mode = old_string_sanitization_mode
189
196
 
190
197
  @staticmethod
191
198
  def deserialize(reader: EoReader) -> "AvatarAdminServerPacket":
@@ -204,8 +211,8 @@ class AvatarAdminServerPacket(Packet):
204
211
  reader_start_position: int = reader.position
205
212
  data._caster_id = reader.get_short()
206
213
  data._victim_id = reader.get_short()
207
- data._caster_direction = Direction(reader.get_char())
208
214
  data._damage = reader.get_three()
215
+ data._caster_direction = Direction(reader.get_char())
209
216
  data._hp_percentage = reader.get_char()
210
217
  data._victim_died = reader.get_char() != 0
211
218
  data._spell_id = reader.get_short()
@@ -215,4 +222,4 @@ class AvatarAdminServerPacket(Packet):
215
222
  reader.chunked_reading_mode = old_chunked_reading_mode
216
223
 
217
224
  def __repr__(self):
218
- return f"AvatarAdminServerPacket(byte_size={repr(self._byte_size)}, caster_id={repr(self._caster_id)}, victim_id={repr(self._victim_id)}, caster_direction={repr(self._caster_direction)}, damage={repr(self._damage)}, hp_percentage={repr(self._hp_percentage)}, victim_died={repr(self._victim_died)}, spell_id={repr(self._spell_id)})"
225
+ return f"AvatarAdminServerPacket(byte_size={repr(self._byte_size)}, caster_id={repr(self._caster_id)}, victim_id={repr(self._victim_id)}, damage={repr(self._damage)}, caster_direction={repr(self._caster_direction)}, hp_percentage={repr(self._hp_percentage)}, victim_died={repr(self._victim_died)}, spell_id={repr(self._spell_id)})"
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class AvatarAgreeServerPacket(Packet):
15
+ """
16
+ Nearby player changed appearance
17
+ """
15
18
  _byte_size: int = 0
16
19
  _change: AvatarChange = None # type: ignore [assignment]
17
20
 
@@ -71,9 +74,13 @@ class AvatarAgreeServerPacket(Packet):
71
74
  writer (EoWriter): The writer that the data will be serialized to.
72
75
  data (AvatarAgreeServerPacket): The data to serialize.
73
76
  """
74
- if data._change is None:
75
- raise SerializationError("change must be provided.")
76
- AvatarChange.serialize(writer, data._change)
77
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
78
+ try:
79
+ if data._change is None:
80
+ raise SerializationError("change must be provided.")
81
+ AvatarChange.serialize(writer, data._change)
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
77
84
 
78
85
  @staticmethod
79
86
  def deserialize(reader: EoReader) -> "AvatarAgreeServerPacket":
@@ -12,7 +12,7 @@ from .....data.eo_reader import EoReader
12
12
 
13
13
  class AvatarChange:
14
14
  """
15
- Information about a nearby player's appearance changing
15
+ Information about a nearby player's appearance changing
16
16
  """
17
17
  _byte_size: int = 0
18
18
  _player_id: int = None # type: ignore [assignment]
@@ -82,27 +82,31 @@ class AvatarChange:
82
82
  writer (EoWriter): The writer that the data will be serialized to.
83
83
  data (AvatarChange): The data to serialize.
84
84
  """
85
- if data._player_id is None:
86
- raise SerializationError("player_id must be provided.")
87
- writer.add_short(data._player_id)
88
- if data._change_type is None:
89
- raise SerializationError("change_type must be provided.")
90
- writer.add_char(int(data._change_type))
91
- if data._sound is None:
92
- raise SerializationError("sound must be provided.")
93
- writer.add_char(1 if data._sound else 0)
94
- if data._change_type == AvatarChangeType.Equipment:
95
- if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataEquipment):
96
- raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataEquipment for change_type " + AvatarChangeType(data._change_type).name + ".")
97
- AvatarChange.ChangeTypeDataEquipment.serialize(writer, data._change_type_data)
98
- elif data._change_type == AvatarChangeType.Hair:
99
- if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataHair):
100
- raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataHair for change_type " + AvatarChangeType(data._change_type).name + ".")
101
- AvatarChange.ChangeTypeDataHair.serialize(writer, data._change_type_data)
102
- elif data._change_type == AvatarChangeType.HairColor:
103
- if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataHairColor):
104
- raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataHairColor for change_type " + AvatarChangeType(data._change_type).name + ".")
105
- AvatarChange.ChangeTypeDataHairColor.serialize(writer, data._change_type_data)
85
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
86
+ try:
87
+ if data._player_id is None:
88
+ raise SerializationError("player_id must be provided.")
89
+ writer.add_short(data._player_id)
90
+ if data._change_type is None:
91
+ raise SerializationError("change_type must be provided.")
92
+ writer.add_char(int(data._change_type))
93
+ if data._sound is None:
94
+ raise SerializationError("sound must be provided.")
95
+ writer.add_char(1 if data._sound else 0)
96
+ if data._change_type == AvatarChangeType.Equipment:
97
+ if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataEquipment):
98
+ raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataEquipment for change_type " + AvatarChangeType(data._change_type).name + ".")
99
+ AvatarChange.ChangeTypeDataEquipment.serialize(writer, data._change_type_data)
100
+ elif data._change_type == AvatarChangeType.Hair:
101
+ if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataHair):
102
+ raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataHair for change_type " + AvatarChangeType(data._change_type).name + ".")
103
+ AvatarChange.ChangeTypeDataHair.serialize(writer, data._change_type_data)
104
+ elif data._change_type == AvatarChangeType.HairColor:
105
+ if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataHairColor):
106
+ raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataHairColor for change_type " + AvatarChangeType(data._change_type).name + ".")
107
+ AvatarChange.ChangeTypeDataHairColor.serialize(writer, data._change_type_data)
108
+ finally:
109
+ writer.string_sanitization_mode = old_string_sanitization_mode
106
110
 
107
111
  @staticmethod
108
112
  def deserialize(reader: EoReader) -> "AvatarChange":
@@ -137,10 +141,9 @@ class AvatarChange:
137
141
  return f"AvatarChange(byte_size={repr(self._byte_size)}, player_id={repr(self._player_id)}, change_type={repr(self._change_type)}, sound={repr(self._sound)}, change_type_data={repr(self._change_type_data)})"
138
142
 
139
143
  ChangeTypeData = Union['AvatarChange.ChangeTypeDataEquipment', 'AvatarChange.ChangeTypeDataHair', 'AvatarChange.ChangeTypeDataHairColor', None]
140
- ChangeTypeData.__doc__ = \
141
- """
142
- Data associated with different values of the `change_type` field.
143
- """
144
+ """
145
+ Data associated with different values of the `change_type` field.
146
+ """
144
147
 
145
148
  class ChangeTypeDataEquipment:
146
149
  """
@@ -176,9 +179,13 @@ class AvatarChange:
176
179
  writer (EoWriter): The writer that the data will be serialized to.
177
180
  data (AvatarChange.ChangeTypeDataEquipment): The data to serialize.
178
181
  """
179
- if data._equipment is None:
180
- raise SerializationError("equipment must be provided.")
181
- EquipmentChange.serialize(writer, data._equipment)
182
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
183
+ try:
184
+ if data._equipment is None:
185
+ raise SerializationError("equipment must be provided.")
186
+ EquipmentChange.serialize(writer, data._equipment)
187
+ finally:
188
+ writer.string_sanitization_mode = old_string_sanitization_mode
182
189
 
183
190
  @staticmethod
184
191
  def deserialize(reader: EoReader) -> "AvatarChange.ChangeTypeDataEquipment":
@@ -263,12 +270,16 @@ class AvatarChange:
263
270
  writer (EoWriter): The writer that the data will be serialized to.
264
271
  data (AvatarChange.ChangeTypeDataHair): The data to serialize.
265
272
  """
266
- if data._hair_style is None:
267
- raise SerializationError("hair_style must be provided.")
268
- writer.add_char(data._hair_style)
269
- if data._hair_color is None:
270
- raise SerializationError("hair_color must be provided.")
271
- writer.add_char(data._hair_color)
273
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
274
+ try:
275
+ if data._hair_style is None:
276
+ raise SerializationError("hair_style must be provided.")
277
+ writer.add_char(data._hair_style)
278
+ if data._hair_color is None:
279
+ raise SerializationError("hair_color must be provided.")
280
+ writer.add_char(data._hair_color)
281
+ finally:
282
+ writer.string_sanitization_mode = old_string_sanitization_mode
272
283
 
273
284
  @staticmethod
274
285
  def deserialize(reader: EoReader) -> "AvatarChange.ChangeTypeDataHair":
@@ -337,9 +348,13 @@ class AvatarChange:
337
348
  writer (EoWriter): The writer that the data will be serialized to.
338
349
  data (AvatarChange.ChangeTypeDataHairColor): The data to serialize.
339
350
  """
340
- if data._hair_color is None:
341
- raise SerializationError("hair_color must be provided.")
342
- writer.add_char(data._hair_color)
351
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
352
+ try:
353
+ if data._hair_color is None:
354
+ raise SerializationError("hair_color must be provided.")
355
+ writer.add_char(data._hair_color)
356
+ finally:
357
+ writer.string_sanitization_mode = old_string_sanitization_mode
343
358
 
344
359
  @staticmethod
345
360
  def deserialize(reader: EoReader) -> "AvatarChange.ChangeTypeDataHairColor":
@@ -8,7 +8,7 @@ from ....protocol_enum_meta import ProtocolEnumMeta
8
8
 
9
9
  class AvatarChangeType(IntEnum, metaclass=ProtocolEnumMeta):
10
10
  """
11
- How a player's appearance is changing
11
+ How a player's appearance is changing
12
12
  """
13
13
  Equipment = 1
14
14
  Hair = 2
@@ -14,6 +14,9 @@ from .....data.eo_writer import EoWriter
14
14
  from .....data.eo_reader import EoReader
15
15
 
16
16
  class AvatarRemoveServerPacket(Packet):
17
+ """
18
+ Nearby player has disappeared from view
19
+ """
17
20
  _byte_size: int = 0
18
21
  _player_id: int = None # type: ignore [assignment]
19
22
  _warp_effect: Optional[WarpEffect] = None # type: ignore [assignment]
@@ -90,12 +93,16 @@ class AvatarRemoveServerPacket(Packet):
90
93
  writer (EoWriter): The writer that the data will be serialized to.
91
94
  data (AvatarRemoveServerPacket): The data to serialize.
92
95
  """
93
- if data._player_id is None:
94
- raise SerializationError("player_id must be provided.")
95
- writer.add_short(data._player_id)
96
- reached_missing_optional = data._warp_effect is None
97
- if not reached_missing_optional:
98
- writer.add_char(int(cast(WarpEffect, data._warp_effect)))
96
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
97
+ try:
98
+ if data._player_id is None:
99
+ raise SerializationError("player_id must be provided.")
100
+ writer.add_short(data._player_id)
101
+ reached_missing_optional = data._warp_effect is None
102
+ if not reached_missing_optional:
103
+ writer.add_char(int(cast(WarpEffect, data._warp_effect)))
104
+ finally:
105
+ writer.string_sanitization_mode = old_string_sanitization_mode
99
106
 
100
107
  @staticmethod
101
108
  def deserialize(reader: EoReader) -> "AvatarRemoveServerPacket":
@@ -12,6 +12,9 @@ from .....data.eo_writer import EoWriter
12
12
  from .....data.eo_reader import EoReader
13
13
 
14
14
  class AvatarReplyServerPacket(Packet):
15
+ """
16
+ Nearby player hit by another player
17
+ """
15
18
  _byte_size: int = 0
16
19
  _player_id: int = None # type: ignore [assignment]
17
20
  _victim_id: int = None # type: ignore [assignment]
@@ -148,24 +151,28 @@ class AvatarReplyServerPacket(Packet):
148
151
  writer (EoWriter): The writer that the data will be serialized to.
149
152
  data (AvatarReplyServerPacket): The data to serialize.
150
153
  """
151
- if data._player_id is None:
152
- raise SerializationError("player_id must be provided.")
153
- writer.add_short(data._player_id)
154
- if data._victim_id is None:
155
- raise SerializationError("victim_id must be provided.")
156
- writer.add_short(data._victim_id)
157
- if data._damage is None:
158
- raise SerializationError("damage must be provided.")
159
- writer.add_three(data._damage)
160
- if data._direction is None:
161
- raise SerializationError("direction must be provided.")
162
- writer.add_char(int(data._direction))
163
- if data._hp_percentage is None:
164
- raise SerializationError("hp_percentage must be provided.")
165
- writer.add_char(data._hp_percentage)
166
- if data._dead is None:
167
- raise SerializationError("dead must be provided.")
168
- writer.add_char(1 if data._dead else 0)
154
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
155
+ try:
156
+ if data._player_id is None:
157
+ raise SerializationError("player_id must be provided.")
158
+ writer.add_short(data._player_id)
159
+ if data._victim_id is None:
160
+ raise SerializationError("victim_id must be provided.")
161
+ writer.add_short(data._victim_id)
162
+ if data._damage is None:
163
+ raise SerializationError("damage must be provided.")
164
+ writer.add_three(data._damage)
165
+ if data._direction is None:
166
+ raise SerializationError("direction must be provided.")
167
+ writer.add_char(int(data._direction))
168
+ if data._hp_percentage is None:
169
+ raise SerializationError("hp_percentage must be provided.")
170
+ writer.add_char(data._hp_percentage)
171
+ if data._dead is None:
172
+ raise SerializationError("dead must be provided.")
173
+ writer.add_char(1 if data._dead else 0)
174
+ finally:
175
+ writer.string_sanitization_mode = old_string_sanitization_mode
169
176
 
170
177
  @staticmethod
171
178
  def deserialize(reader: EoReader) -> "AvatarReplyServerPacket":
@@ -11,6 +11,9 @@ from .....data.eo_writer import EoWriter
11
11
  from .....data.eo_reader import EoReader
12
12
 
13
13
  class BankOpenServerPacket(Packet):
14
+ """
15
+ Open banker NPC interface
16
+ """
14
17
  _byte_size: int = 0
15
18
  _gold_bank: int = None # type: ignore [assignment]
16
19
  _session_id: int = None # type: ignore [assignment]
@@ -112,15 +115,19 @@ class BankOpenServerPacket(Packet):
112
115
  writer (EoWriter): The writer that the data will be serialized to.
113
116
  data (BankOpenServerPacket): The data to serialize.
114
117
  """
115
- if data._gold_bank is None:
116
- raise SerializationError("gold_bank must be provided.")
117
- writer.add_int(data._gold_bank)
118
- if data._session_id is None:
119
- raise SerializationError("session_id must be provided.")
120
- writer.add_three(data._session_id)
121
- if data._locker_upgrades is None:
122
- raise SerializationError("locker_upgrades must be provided.")
123
- writer.add_char(data._locker_upgrades)
118
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
119
+ try:
120
+ if data._gold_bank is None:
121
+ raise SerializationError("gold_bank must be provided.")
122
+ writer.add_int(data._gold_bank)
123
+ if data._session_id is None:
124
+ raise SerializationError("session_id must be provided.")
125
+ writer.add_three(data._session_id)
126
+ if data._locker_upgrades is None:
127
+ raise SerializationError("locker_upgrades must be provided.")
128
+ writer.add_char(data._locker_upgrades)
129
+ finally:
130
+ writer.string_sanitization_mode = old_string_sanitization_mode
124
131
 
125
132
  @staticmethod
126
133
  def deserialize(reader: EoReader) -> "BankOpenServerPacket":