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
@@ -511,108 +511,112 @@ class EsfRecord:
511
511
  writer (EoWriter): The writer that the data will be serialized to.
512
512
  data (EsfRecord): The data to serialize.
513
513
  """
514
- if data._name_length is None:
515
- raise SerializationError("name_length must be provided.")
516
- writer.add_char(data._name_length)
517
- if data._chant_length is None:
518
- raise SerializationError("chant_length must be provided.")
519
- writer.add_char(data._chant_length)
520
- if data._name is None:
521
- raise SerializationError("name must be provided.")
522
- if len(data._name) > 252:
523
- raise SerializationError(f"Expected length of name to be 252 or less, got {len(data._name)}.")
524
- writer.add_fixed_string(data._name, data._name_length, False)
525
- if data._chant is None:
526
- raise SerializationError("chant must be provided.")
527
- if len(data._chant) > 252:
528
- raise SerializationError(f"Expected length of chant to be 252 or less, got {len(data._chant)}.")
529
- writer.add_fixed_string(data._chant, data._chant_length, False)
530
- if data._icon_id is None:
531
- raise SerializationError("icon_id must be provided.")
532
- writer.add_short(data._icon_id)
533
- if data._graphic_id is None:
534
- raise SerializationError("graphic_id must be provided.")
535
- writer.add_short(data._graphic_id)
536
- if data._tp_cost is None:
537
- raise SerializationError("tp_cost must be provided.")
538
- writer.add_short(data._tp_cost)
539
- if data._sp_cost is None:
540
- raise SerializationError("sp_cost must be provided.")
541
- writer.add_short(data._sp_cost)
542
- if data._cast_time is None:
543
- raise SerializationError("cast_time must be provided.")
544
- writer.add_char(data._cast_time)
545
- if data._nature is None:
546
- raise SerializationError("nature must be provided.")
547
- writer.add_char(int(data._nature))
548
- writer.add_char(1)
549
- if data._type is None:
550
- raise SerializationError("type must be provided.")
551
- writer.add_three(int(data._type))
552
- if data._element is None:
553
- raise SerializationError("element must be provided.")
554
- writer.add_char(int(data._element))
555
- if data._element_power is None:
556
- raise SerializationError("element_power must be provided.")
557
- writer.add_short(data._element_power)
558
- if data._target_restrict is None:
559
- raise SerializationError("target_restrict must be provided.")
560
- writer.add_char(int(data._target_restrict))
561
- if data._target_type is None:
562
- raise SerializationError("target_type must be provided.")
563
- writer.add_char(int(data._target_type))
564
- if data._target_time is None:
565
- raise SerializationError("target_time must be provided.")
566
- writer.add_char(data._target_time)
567
- writer.add_char(0)
568
- if data._max_skill_level is None:
569
- raise SerializationError("max_skill_level must be provided.")
570
- writer.add_short(data._max_skill_level)
571
- if data._min_damage is None:
572
- raise SerializationError("min_damage must be provided.")
573
- writer.add_short(data._min_damage)
574
- if data._max_damage is None:
575
- raise SerializationError("max_damage must be provided.")
576
- writer.add_short(data._max_damage)
577
- if data._accuracy is None:
578
- raise SerializationError("accuracy must be provided.")
579
- writer.add_short(data._accuracy)
580
- if data._evade is None:
581
- raise SerializationError("evade must be provided.")
582
- writer.add_short(data._evade)
583
- if data._armor is None:
584
- raise SerializationError("armor must be provided.")
585
- writer.add_short(data._armor)
586
- if data._return_damage is None:
587
- raise SerializationError("return_damage must be provided.")
588
- writer.add_char(data._return_damage)
589
- if data._hp_heal is None:
590
- raise SerializationError("hp_heal must be provided.")
591
- writer.add_short(data._hp_heal)
592
- if data._tp_heal is None:
593
- raise SerializationError("tp_heal must be provided.")
594
- writer.add_short(data._tp_heal)
595
- if data._sp_heal is None:
596
- raise SerializationError("sp_heal must be provided.")
597
- writer.add_char(data._sp_heal)
598
- if data._str is None:
599
- raise SerializationError("str must be provided.")
600
- writer.add_short(data._str)
601
- if data._intl is None:
602
- raise SerializationError("intl must be provided.")
603
- writer.add_short(data._intl)
604
- if data._wis is None:
605
- raise SerializationError("wis must be provided.")
606
- writer.add_short(data._wis)
607
- if data._agi is None:
608
- raise SerializationError("agi must be provided.")
609
- writer.add_short(data._agi)
610
- if data._con is None:
611
- raise SerializationError("con must be provided.")
612
- writer.add_short(data._con)
613
- if data._cha is None:
614
- raise SerializationError("cha must be provided.")
615
- writer.add_short(data._cha)
514
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
515
+ try:
516
+ if data._name_length is None:
517
+ raise SerializationError("name_length must be provided.")
518
+ writer.add_char(data._name_length)
519
+ if data._chant_length is None:
520
+ raise SerializationError("chant_length must be provided.")
521
+ writer.add_char(data._chant_length)
522
+ if data._name is None:
523
+ raise SerializationError("name must be provided.")
524
+ if len(data._name) > 252:
525
+ raise SerializationError(f"Expected length of name to be 252 or less, got {len(data._name)}.")
526
+ writer.add_fixed_string(data._name, data._name_length, False)
527
+ if data._chant is None:
528
+ raise SerializationError("chant must be provided.")
529
+ if len(data._chant) > 252:
530
+ raise SerializationError(f"Expected length of chant to be 252 or less, got {len(data._chant)}.")
531
+ writer.add_fixed_string(data._chant, data._chant_length, False)
532
+ if data._icon_id is None:
533
+ raise SerializationError("icon_id must be provided.")
534
+ writer.add_short(data._icon_id)
535
+ if data._graphic_id is None:
536
+ raise SerializationError("graphic_id must be provided.")
537
+ writer.add_short(data._graphic_id)
538
+ if data._tp_cost is None:
539
+ raise SerializationError("tp_cost must be provided.")
540
+ writer.add_short(data._tp_cost)
541
+ if data._sp_cost is None:
542
+ raise SerializationError("sp_cost must be provided.")
543
+ writer.add_short(data._sp_cost)
544
+ if data._cast_time is None:
545
+ raise SerializationError("cast_time must be provided.")
546
+ writer.add_char(data._cast_time)
547
+ if data._nature is None:
548
+ raise SerializationError("nature must be provided.")
549
+ writer.add_char(int(data._nature))
550
+ writer.add_char(1)
551
+ if data._type is None:
552
+ raise SerializationError("type must be provided.")
553
+ writer.add_three(int(data._type))
554
+ if data._element is None:
555
+ raise SerializationError("element must be provided.")
556
+ writer.add_char(int(data._element))
557
+ if data._element_power is None:
558
+ raise SerializationError("element_power must be provided.")
559
+ writer.add_short(data._element_power)
560
+ if data._target_restrict is None:
561
+ raise SerializationError("target_restrict must be provided.")
562
+ writer.add_char(int(data._target_restrict))
563
+ if data._target_type is None:
564
+ raise SerializationError("target_type must be provided.")
565
+ writer.add_char(int(data._target_type))
566
+ if data._target_time is None:
567
+ raise SerializationError("target_time must be provided.")
568
+ writer.add_char(data._target_time)
569
+ writer.add_char(0)
570
+ if data._max_skill_level is None:
571
+ raise SerializationError("max_skill_level must be provided.")
572
+ writer.add_short(data._max_skill_level)
573
+ if data._min_damage is None:
574
+ raise SerializationError("min_damage must be provided.")
575
+ writer.add_short(data._min_damage)
576
+ if data._max_damage is None:
577
+ raise SerializationError("max_damage must be provided.")
578
+ writer.add_short(data._max_damage)
579
+ if data._accuracy is None:
580
+ raise SerializationError("accuracy must be provided.")
581
+ writer.add_short(data._accuracy)
582
+ if data._evade is None:
583
+ raise SerializationError("evade must be provided.")
584
+ writer.add_short(data._evade)
585
+ if data._armor is None:
586
+ raise SerializationError("armor must be provided.")
587
+ writer.add_short(data._armor)
588
+ if data._return_damage is None:
589
+ raise SerializationError("return_damage must be provided.")
590
+ writer.add_char(data._return_damage)
591
+ if data._hp_heal is None:
592
+ raise SerializationError("hp_heal must be provided.")
593
+ writer.add_short(data._hp_heal)
594
+ if data._tp_heal is None:
595
+ raise SerializationError("tp_heal must be provided.")
596
+ writer.add_short(data._tp_heal)
597
+ if data._sp_heal is None:
598
+ raise SerializationError("sp_heal must be provided.")
599
+ writer.add_char(data._sp_heal)
600
+ if data._str is None:
601
+ raise SerializationError("str must be provided.")
602
+ writer.add_short(data._str)
603
+ if data._intl is None:
604
+ raise SerializationError("intl must be provided.")
605
+ writer.add_short(data._intl)
606
+ if data._wis is None:
607
+ raise SerializationError("wis must be provided.")
608
+ writer.add_short(data._wis)
609
+ if data._agi is None:
610
+ raise SerializationError("agi must be provided.")
611
+ writer.add_short(data._agi)
612
+ if data._con is None:
613
+ raise SerializationError("con must be provided.")
614
+ writer.add_short(data._con)
615
+ if data._cha is None:
616
+ raise SerializationError("cha must be provided.")
617
+ writer.add_short(data._cha)
618
+ finally:
619
+ writer.string_sanitization_mode = old_string_sanitization_mode
616
620
 
617
621
  @staticmethod
618
622
  def deserialize(reader: EoReader) -> "EsfRecord":
@@ -0,0 +1,30 @@
1
+ # Generated from the eo-protocol XML specification.
2
+ #
3
+ # This file should not be modified.
4
+ # Changes will be lost when code is regenerated.
5
+
6
+ """
7
+ Data structures generated from the [eo-protocol](https://github.com/cirras/eo-protocol/tree/master/xml/pub/server/protocol.xml){target="_blank"} XML specification.
8
+
9
+ Warning:
10
+ - This subpackage should not be directly imported.
11
+ - Instead, import [eolib.protocol.pub.server][] (or the top-level `eolib`).
12
+ """
13
+
14
+ from .talk_record import *
15
+ from .talk_message_record import *
16
+ from .talk_file import *
17
+ from .skill_master_skill_record import *
18
+ from .skill_master_record import *
19
+ from .skill_master_file import *
20
+ from .shop_trade_record import *
21
+ from .shop_record import *
22
+ from .shop_file import *
23
+ from .shop_craft_record import *
24
+ from .shop_craft_ingredient_record import *
25
+ from .inn_record import *
26
+ from .inn_question_record import *
27
+ from .inn_file import *
28
+ from .drop_record import *
29
+ from .drop_npc_record import *
30
+ from .drop_file import *
@@ -0,0 +1,81 @@
1
+ # Generated from the eo-protocol XML specification.
2
+ #
3
+ # This file should not be modified.
4
+ # Changes will be lost when code is regenerated.
5
+
6
+ from __future__ import annotations
7
+ from .drop_npc_record import DropNpcRecord
8
+ from ....serialization_error import SerializationError
9
+ from .....data.eo_writer import EoWriter
10
+ from .....data.eo_reader import EoReader
11
+
12
+ class DropFile:
13
+ """
14
+ Endless Drop File
15
+ """
16
+ _byte_size: int = 0
17
+ _npcs: list[DropNpcRecord] = None # type: ignore [assignment]
18
+
19
+ @property
20
+ def byte_size(self) -> int:
21
+ """
22
+ Returns the size of the data that this was deserialized from.
23
+
24
+ Returns:
25
+ int: The size of the data that this was deserialized from.
26
+ """
27
+ return self._byte_size
28
+
29
+ @property
30
+ def npcs(self) -> list[DropNpcRecord]:
31
+ return self._npcs
32
+
33
+ @npcs.setter
34
+ def npcs(self, npcs: list[DropNpcRecord]) -> None:
35
+ self._npcs = npcs
36
+
37
+ @staticmethod
38
+ def serialize(writer: EoWriter, data: "DropFile") -> None:
39
+ """
40
+ Serializes an instance of `DropFile` to the provided `EoWriter`.
41
+
42
+ Args:
43
+ writer (EoWriter): The writer that the data will be serialized to.
44
+ data (DropFile): The data to serialize.
45
+ """
46
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
47
+ try:
48
+ writer.add_fixed_string("EDF", 3, False)
49
+ if data._npcs is None:
50
+ raise SerializationError("npcs must be provided.")
51
+ for i in range(len(data._npcs)):
52
+ DropNpcRecord.serialize(writer, data._npcs[i])
53
+ finally:
54
+ writer.string_sanitization_mode = old_string_sanitization_mode
55
+
56
+ @staticmethod
57
+ def deserialize(reader: EoReader) -> "DropFile":
58
+ """
59
+ Deserializes an instance of `DropFile` from the provided `EoReader`.
60
+
61
+ Args:
62
+ reader (EoReader): The writer that the data will be serialized to.
63
+
64
+ Returns:
65
+ DropFile: The data to serialize.
66
+ """
67
+ data: DropFile = DropFile()
68
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
69
+ try:
70
+ reader_start_position: int = reader.position
71
+ reader.get_fixed_string(3, False)
72
+ data._npcs = []
73
+ while reader.remaining > 0:
74
+ data._npcs.append(DropNpcRecord.deserialize(reader))
75
+ data._byte_size = reader.position - reader_start_position
76
+ return data
77
+ finally:
78
+ reader.chunked_reading_mode = old_chunked_reading_mode
79
+
80
+ def __repr__(self):
81
+ return f"DropFile(byte_size={repr(self._byte_size)}, npcs={repr(self._npcs)})"
@@ -0,0 +1,116 @@
1
+ # Generated from the eo-protocol XML specification.
2
+ #
3
+ # This file should not be modified.
4
+ # Changes will be lost when code is regenerated.
5
+
6
+ from __future__ import annotations
7
+ from .drop_record import DropRecord
8
+ from ....serialization_error import SerializationError
9
+ from .....data.eo_writer import EoWriter
10
+ from .....data.eo_reader import EoReader
11
+
12
+ class DropNpcRecord:
13
+ """
14
+ Record of potential drops from an NPC
15
+ """
16
+ _byte_size: int = 0
17
+ _npc_id: int = None # type: ignore [assignment]
18
+ _drops_count: int = None # type: ignore [assignment]
19
+ _drops: list[DropRecord] = None # type: ignore [assignment]
20
+
21
+ @property
22
+ def byte_size(self) -> int:
23
+ """
24
+ Returns the size of the data that this was deserialized from.
25
+
26
+ Returns:
27
+ int: The size of the data that this was deserialized from.
28
+ """
29
+ return self._byte_size
30
+
31
+ @property
32
+ def npc_id(self) -> int:
33
+ """
34
+ Note:
35
+ - Value range is 0-64008.
36
+ """
37
+ return self._npc_id
38
+
39
+ @npc_id.setter
40
+ def npc_id(self, npc_id: int) -> None:
41
+ """
42
+ Note:
43
+ - Value range is 0-64008.
44
+ """
45
+ self._npc_id = npc_id
46
+
47
+ @property
48
+ def drops(self) -> list[DropRecord]:
49
+ """
50
+ Note:
51
+ - Length must be 64008 or less.
52
+ """
53
+ return self._drops
54
+
55
+ @drops.setter
56
+ def drops(self, drops: list[DropRecord]) -> None:
57
+ """
58
+ Note:
59
+ - Length must be 64008 or less.
60
+ """
61
+ self._drops = drops
62
+ self._drops_count = len(self._drops)
63
+
64
+ @staticmethod
65
+ def serialize(writer: EoWriter, data: "DropNpcRecord") -> None:
66
+ """
67
+ Serializes an instance of `DropNpcRecord` to the provided `EoWriter`.
68
+
69
+ Args:
70
+ writer (EoWriter): The writer that the data will be serialized to.
71
+ data (DropNpcRecord): The data to serialize.
72
+ """
73
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
74
+ try:
75
+ if data._npc_id is None:
76
+ raise SerializationError("npc_id must be provided.")
77
+ writer.add_short(data._npc_id)
78
+ if data._drops_count is None:
79
+ raise SerializationError("drops_count must be provided.")
80
+ writer.add_short(data._drops_count)
81
+ if data._drops is None:
82
+ raise SerializationError("drops must be provided.")
83
+ if len(data._drops) > 64008:
84
+ raise SerializationError(f"Expected length of drops to be 64008 or less, got {len(data._drops)}.")
85
+ for i in range(data._drops_count):
86
+ DropRecord.serialize(writer, data._drops[i])
87
+ finally:
88
+ writer.string_sanitization_mode = old_string_sanitization_mode
89
+
90
+ @staticmethod
91
+ def deserialize(reader: EoReader) -> "DropNpcRecord":
92
+ """
93
+ Deserializes an instance of `DropNpcRecord` from the provided `EoReader`.
94
+
95
+ Args:
96
+ reader (EoReader): The writer that the data will be serialized to.
97
+
98
+ Returns:
99
+ DropNpcRecord: The data to serialize.
100
+ """
101
+ data: DropNpcRecord = DropNpcRecord()
102
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
103
+ try:
104
+ reader_start_position: int = reader.position
105
+ data._npc_id = reader.get_short()
106
+ data._drops_count = reader.get_short()
107
+ data._drops = []
108
+ for i in range(data._drops_count):
109
+ data._drops.append(DropRecord.deserialize(reader))
110
+ data._byte_size = reader.position - reader_start_position
111
+ return data
112
+ finally:
113
+ reader.chunked_reading_mode = old_chunked_reading_mode
114
+
115
+ def __repr__(self):
116
+ return f"DropNpcRecord(byte_size={repr(self._byte_size)}, npc_id={repr(self._npc_id)}, drops={repr(self._drops)})"
@@ -0,0 +1,149 @@
1
+ # Generated from the eo-protocol XML specification.
2
+ #
3
+ # This file should not be modified.
4
+ # Changes will be lost when code is regenerated.
5
+
6
+ from ....serialization_error import SerializationError
7
+ from .....data.eo_writer import EoWriter
8
+ from .....data.eo_reader import EoReader
9
+
10
+ class DropRecord:
11
+ """
12
+ Record of an item an NPC can drop when killed
13
+ """
14
+ _byte_size: int = 0
15
+ _item_id: int = None # type: ignore [assignment]
16
+ _min_amount: int = None # type: ignore [assignment]
17
+ _max_amount: int = None # type: ignore [assignment]
18
+ _rate: int = None # type: ignore [assignment]
19
+
20
+ @property
21
+ def byte_size(self) -> int:
22
+ """
23
+ Returns the size of the data that this was deserialized from.
24
+
25
+ Returns:
26
+ int: The size of the data that this was deserialized from.
27
+ """
28
+ return self._byte_size
29
+
30
+ @property
31
+ def item_id(self) -> int:
32
+ """
33
+ Note:
34
+ - Value range is 0-64008.
35
+ """
36
+ return self._item_id
37
+
38
+ @item_id.setter
39
+ def item_id(self, item_id: int) -> None:
40
+ """
41
+ Note:
42
+ - Value range is 0-64008.
43
+ """
44
+ self._item_id = item_id
45
+
46
+ @property
47
+ def min_amount(self) -> int:
48
+ """
49
+ Note:
50
+ - Value range is 0-16194276.
51
+ """
52
+ return self._min_amount
53
+
54
+ @min_amount.setter
55
+ def min_amount(self, min_amount: int) -> None:
56
+ """
57
+ Note:
58
+ - Value range is 0-16194276.
59
+ """
60
+ self._min_amount = min_amount
61
+
62
+ @property
63
+ def max_amount(self) -> int:
64
+ """
65
+ Note:
66
+ - Value range is 0-16194276.
67
+ """
68
+ return self._max_amount
69
+
70
+ @max_amount.setter
71
+ def max_amount(self, max_amount: int) -> None:
72
+ """
73
+ Note:
74
+ - Value range is 0-16194276.
75
+ """
76
+ self._max_amount = max_amount
77
+
78
+ @property
79
+ def rate(self) -> int:
80
+ """
81
+ Chance (x in 64,000) of the item being dropped
82
+
83
+ Note:
84
+ - Value range is 0-64008.
85
+ """
86
+ return self._rate
87
+
88
+ @rate.setter
89
+ def rate(self, rate: int) -> None:
90
+ """
91
+ Chance (x in 64,000) of the item being dropped
92
+
93
+ Note:
94
+ - Value range is 0-64008.
95
+ """
96
+ self._rate = rate
97
+
98
+ @staticmethod
99
+ def serialize(writer: EoWriter, data: "DropRecord") -> None:
100
+ """
101
+ Serializes an instance of `DropRecord` to the provided `EoWriter`.
102
+
103
+ Args:
104
+ writer (EoWriter): The writer that the data will be serialized to.
105
+ data (DropRecord): The data to serialize.
106
+ """
107
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
108
+ try:
109
+ if data._item_id is None:
110
+ raise SerializationError("item_id must be provided.")
111
+ writer.add_short(data._item_id)
112
+ if data._min_amount is None:
113
+ raise SerializationError("min_amount must be provided.")
114
+ writer.add_three(data._min_amount)
115
+ if data._max_amount is None:
116
+ raise SerializationError("max_amount must be provided.")
117
+ writer.add_three(data._max_amount)
118
+ if data._rate is None:
119
+ raise SerializationError("rate must be provided.")
120
+ writer.add_short(data._rate)
121
+ finally:
122
+ writer.string_sanitization_mode = old_string_sanitization_mode
123
+
124
+ @staticmethod
125
+ def deserialize(reader: EoReader) -> "DropRecord":
126
+ """
127
+ Deserializes an instance of `DropRecord` from the provided `EoReader`.
128
+
129
+ Args:
130
+ reader (EoReader): The writer that the data will be serialized to.
131
+
132
+ Returns:
133
+ DropRecord: The data to serialize.
134
+ """
135
+ data: DropRecord = DropRecord()
136
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
137
+ try:
138
+ reader_start_position: int = reader.position
139
+ data._item_id = reader.get_short()
140
+ data._min_amount = reader.get_three()
141
+ data._max_amount = reader.get_three()
142
+ data._rate = reader.get_short()
143
+ data._byte_size = reader.position - reader_start_position
144
+ return data
145
+ finally:
146
+ reader.chunked_reading_mode = old_chunked_reading_mode
147
+
148
+ def __repr__(self):
149
+ return f"DropRecord(byte_size={repr(self._byte_size)}, item_id={repr(self._item_id)}, min_amount={repr(self._min_amount)}, max_amount={repr(self._max_amount)}, rate={repr(self._rate)})"