eolib 1.1.1__py3-none-any.whl → 2.0.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 (437) hide show
  1. eolib/__about__.py +1 -1
  2. eolib/protocol/__init__.py +1 -1
  3. eolib/protocol/_generated/coords.py +28 -37
  4. eolib/protocol/_generated/emote.py +1 -1
  5. eolib/protocol/_generated/map/emf.py +248 -410
  6. eolib/protocol/_generated/map/map_graphic_layer.py +34 -32
  7. eolib/protocol/_generated/map/map_graphic_row.py +41 -49
  8. eolib/protocol/_generated/map/map_graphic_row_tile.py +28 -37
  9. eolib/protocol/_generated/map/map_item.py +56 -97
  10. eolib/protocol/_generated/map/map_legacy_door_key.py +28 -29
  11. eolib/protocol/_generated/map/map_npc.py +49 -80
  12. eolib/protocol/_generated/map/map_sign.py +43 -54
  13. eolib/protocol/_generated/map/map_tile_spec_row.py +41 -49
  14. eolib/protocol/_generated/map/map_tile_spec_row_tile.py +28 -29
  15. eolib/protocol/_generated/map/map_warp.py +42 -63
  16. eolib/protocol/_generated/map/map_warp_row.py +41 -49
  17. eolib/protocol/_generated/map/map_warp_row_tile.py +28 -29
  18. eolib/protocol/_generated/net/char_item.py +28 -37
  19. eolib/protocol/_generated/net/client/account_agree_client_packet.py +40 -33
  20. eolib/protocol/_generated/net/client/account_create_client_packet.py +80 -91
  21. eolib/protocol/_generated/net/client/account_request_client_packet.py +21 -12
  22. eolib/protocol/_generated/net/client/admin_interact_report_client_packet.py +31 -22
  23. eolib/protocol/_generated/net/client/admin_interact_tell_client_packet.py +21 -12
  24. eolib/protocol/_generated/net/client/attack_use_client_packet.py +28 -29
  25. eolib/protocol/_generated/net/client/bank_add_client_packet.py +28 -37
  26. eolib/protocol/_generated/net/client/bank_open_client_packet.py +21 -20
  27. eolib/protocol/_generated/net/client/bank_take_client_packet.py +28 -37
  28. eolib/protocol/_generated/net/client/barber_buy_client_packet.py +35 -54
  29. eolib/protocol/_generated/net/client/barber_open_client_packet.py +21 -20
  30. eolib/protocol/_generated/net/client/board_create_client_packet.py +40 -41
  31. eolib/protocol/_generated/net/client/board_open_client_packet.py +21 -20
  32. eolib/protocol/_generated/net/client/board_remove_client_packet.py +28 -37
  33. eolib/protocol/_generated/net/client/board_take_client_packet.py +28 -37
  34. eolib/protocol/_generated/net/client/book_request_client_packet.py +22 -21
  35. eolib/protocol/_generated/net/client/byte_coords.py +28 -37
  36. eolib/protocol/_generated/net/client/chair_request_client_packet.py +56 -40
  37. eolib/protocol/_generated/net/client/character_create_client_packet.py +60 -91
  38. eolib/protocol/_generated/net/client/character_remove_client_packet.py +31 -35
  39. eolib/protocol/_generated/net/client/character_request_client_packet.py +22 -7
  40. eolib/protocol/_generated/net/client/character_take_client_packet.py +21 -20
  41. eolib/protocol/_generated/net/client/chest_add_client_packet.py +28 -21
  42. eolib/protocol/_generated/net/client/chest_open_client_packet.py +21 -12
  43. eolib/protocol/_generated/net/client/chest_take_client_packet.py +28 -29
  44. eolib/protocol/_generated/net/client/citizen_accept_client_packet.py +28 -37
  45. eolib/protocol/_generated/net/client/citizen_open_client_packet.py +21 -20
  46. eolib/protocol/_generated/net/client/citizen_remove_client_packet.py +21 -20
  47. eolib/protocol/_generated/net/client/citizen_reply_client_packet.py +47 -63
  48. eolib/protocol/_generated/net/client/citizen_request_client_packet.py +28 -37
  49. eolib/protocol/_generated/net/client/connection_accept_client_packet.py +35 -54
  50. eolib/protocol/_generated/net/client/connection_ping_client_packet.py +13 -7
  51. eolib/protocol/_generated/net/client/door_open_client_packet.py +21 -12
  52. eolib/protocol/_generated/net/client/emote_report_client_packet.py +21 -12
  53. eolib/protocol/_generated/net/client/face_player_client_packet.py +21 -12
  54. eolib/protocol/_generated/net/client/global_close_client_packet.py +13 -7
  55. eolib/protocol/_generated/net/client/global_open_client_packet.py +13 -7
  56. eolib/protocol/_generated/net/client/global_player_client_packet.py +13 -7
  57. eolib/protocol/_generated/net/client/global_remove_client_packet.py +13 -7
  58. eolib/protocol/_generated/net/client/guild_accept_client_packet.py +22 -21
  59. eolib/protocol/_generated/net/client/guild_agree_client_packet.py +99 -91
  60. eolib/protocol/_generated/net/client/guild_buy_client_packet.py +28 -37
  61. eolib/protocol/_generated/net/client/guild_create_client_packet.py +48 -51
  62. eolib/protocol/_generated/net/client/guild_junk_client_packet.py +21 -20
  63. eolib/protocol/_generated/net/client/guild_kick_client_packet.py +28 -29
  64. eolib/protocol/_generated/net/client/guild_open_client_packet.py +21 -20
  65. eolib/protocol/_generated/net/client/guild_player_client_packet.py +40 -41
  66. eolib/protocol/_generated/net/client/guild_rank_client_packet.py +36 -47
  67. eolib/protocol/_generated/net/client/guild_remove_client_packet.py +21 -20
  68. eolib/protocol/_generated/net/client/guild_report_client_packet.py +28 -29
  69. eolib/protocol/_generated/net/client/guild_request_client_packet.py +40 -41
  70. eolib/protocol/_generated/net/client/guild_take_client_packet.py +41 -29
  71. eolib/protocol/_generated/net/client/guild_tell_client_packet.py +28 -29
  72. eolib/protocol/_generated/net/client/guild_use_client_packet.py +21 -20
  73. eolib/protocol/_generated/net/client/init_init_client_packet.py +44 -55
  74. eolib/protocol/_generated/net/client/item_drop_client_packet.py +29 -29
  75. eolib/protocol/_generated/net/client/item_get_client_packet.py +21 -20
  76. eolib/protocol/_generated/net/client/item_junk_client_packet.py +21 -12
  77. eolib/protocol/_generated/net/client/item_use_client_packet.py +21 -20
  78. eolib/protocol/_generated/net/client/jukebox_msg_client_packet.py +24 -22
  79. eolib/protocol/_generated/net/client/jukebox_open_client_packet.py +21 -12
  80. eolib/protocol/_generated/net/client/jukebox_use_client_packet.py +28 -37
  81. eolib/protocol/_generated/net/client/locker_add_client_packet.py +28 -21
  82. eolib/protocol/_generated/net/client/locker_buy_client_packet.py +13 -7
  83. eolib/protocol/_generated/net/client/locker_open_client_packet.py +21 -12
  84. eolib/protocol/_generated/net/client/locker_take_client_packet.py +28 -29
  85. eolib/protocol/_generated/net/client/login_request_client_packet.py +32 -23
  86. eolib/protocol/_generated/net/client/marriage_open_client_packet.py +21 -20
  87. eolib/protocol/_generated/net/client/marriage_request_client_packet.py +38 -39
  88. eolib/protocol/_generated/net/client/message_ping_client_packet.py +13 -7
  89. eolib/protocol/_generated/net/client/npc_range_request_client_packet.py +35 -35
  90. eolib/protocol/_generated/net/client/paperdoll_add_client_packet.py +28 -37
  91. eolib/protocol/_generated/net/client/paperdoll_remove_client_packet.py +28 -37
  92. eolib/protocol/_generated/net/client/paperdoll_request_client_packet.py +22 -21
  93. eolib/protocol/_generated/net/client/party_accept_client_packet.py +28 -29
  94. eolib/protocol/_generated/net/client/party_remove_client_packet.py +21 -20
  95. eolib/protocol/_generated/net/client/party_request_client_packet.py +28 -29
  96. eolib/protocol/_generated/net/client/party_take_client_packet.py +21 -20
  97. eolib/protocol/_generated/net/client/player_range_request_client_packet.py +25 -23
  98. eolib/protocol/_generated/net/client/players_accept_client_packet.py +21 -12
  99. eolib/protocol/_generated/net/client/players_list_client_packet.py +13 -7
  100. eolib/protocol/_generated/net/client/players_request_client_packet.py +13 -7
  101. eolib/protocol/_generated/net/client/priest_accept_client_packet.py +21 -20
  102. eolib/protocol/_generated/net/client/priest_open_client_packet.py +21 -20
  103. eolib/protocol/_generated/net/client/priest_request_client_packet.py +31 -30
  104. eolib/protocol/_generated/net/client/priest_use_client_packet.py +22 -21
  105. eolib/protocol/_generated/net/client/quest_accept_client_packet.py +150 -115
  106. eolib/protocol/_generated/net/client/quest_list_client_packet.py +21 -12
  107. eolib/protocol/_generated/net/client/quest_use_client_packet.py +28 -38
  108. eolib/protocol/_generated/net/client/range_request_client_packet.py +38 -44
  109. eolib/protocol/_generated/net/client/refresh_request_client_packet.py +13 -7
  110. eolib/protocol/_generated/net/client/shop_buy_client_packet.py +28 -29
  111. eolib/protocol/_generated/net/client/shop_create_client_packet.py +28 -37
  112. eolib/protocol/_generated/net/client/shop_open_client_packet.py +21 -20
  113. eolib/protocol/_generated/net/client/shop_sell_client_packet.py +28 -29
  114. eolib/protocol/_generated/net/client/sit_request_client_packet.py +56 -43
  115. eolib/protocol/_generated/net/client/spell_request_client_packet.py +28 -37
  116. eolib/protocol/_generated/net/client/spell_target_group_client_packet.py +28 -37
  117. eolib/protocol/_generated/net/client/spell_target_other_client_packet.py +49 -80
  118. eolib/protocol/_generated/net/client/spell_target_self_client_packet.py +35 -46
  119. eolib/protocol/_generated/net/client/spell_use_client_packet.py +21 -12
  120. eolib/protocol/_generated/net/client/stat_skill_add_client_packet.py +83 -66
  121. eolib/protocol/_generated/net/client/stat_skill_junk_client_packet.py +21 -20
  122. eolib/protocol/_generated/net/client/stat_skill_open_client_packet.py +21 -20
  123. eolib/protocol/_generated/net/client/stat_skill_remove_client_packet.py +28 -37
  124. eolib/protocol/_generated/net/client/stat_skill_take_client_packet.py +28 -37
  125. eolib/protocol/_generated/net/client/talk_admin_client_packet.py +21 -12
  126. eolib/protocol/_generated/net/client/talk_announce_client_packet.py +21 -12
  127. eolib/protocol/_generated/net/client/talk_msg_client_packet.py +21 -12
  128. eolib/protocol/_generated/net/client/talk_open_client_packet.py +21 -12
  129. eolib/protocol/_generated/net/client/talk_player_client_packet.py +21 -12
  130. eolib/protocol/_generated/net/client/talk_report_client_packet.py +21 -12
  131. eolib/protocol/_generated/net/client/talk_request_client_packet.py +21 -12
  132. eolib/protocol/_generated/net/client/talk_tell_client_packet.py +31 -22
  133. eolib/protocol/_generated/net/client/talk_use_client_packet.py +21 -12
  134. eolib/protocol/_generated/net/client/trade_accept_client_packet.py +22 -21
  135. eolib/protocol/_generated/net/client/trade_add_client_packet.py +21 -12
  136. eolib/protocol/_generated/net/client/trade_agree_client_packet.py +21 -12
  137. eolib/protocol/_generated/net/client/trade_close_client_packet.py +13 -7
  138. eolib/protocol/_generated/net/client/trade_remove_client_packet.py +21 -20
  139. eolib/protocol/_generated/net/client/trade_request_client_packet.py +22 -21
  140. eolib/protocol/_generated/net/client/walk_action.py +35 -38
  141. eolib/protocol/_generated/net/client/walk_admin_client_packet.py +21 -12
  142. eolib/protocol/_generated/net/client/walk_player_client_packet.py +21 -12
  143. eolib/protocol/_generated/net/client/walk_spec_client_packet.py +21 -12
  144. eolib/protocol/_generated/net/client/warp_accept_client_packet.py +28 -37
  145. eolib/protocol/_generated/net/client/warp_take_client_packet.py +28 -37
  146. eolib/protocol/_generated/net/client/welcome_agree_client_packet.py +171 -169
  147. eolib/protocol/_generated/net/client/welcome_msg_client_packet.py +28 -37
  148. eolib/protocol/_generated/net/client/welcome_request_client_packet.py +21 -20
  149. eolib/protocol/_generated/net/item.py +28 -37
  150. eolib/protocol/_generated/net/server/__init__.py +4 -0
  151. eolib/protocol/_generated/net/server/account_reply_server_packet.py +190 -131
  152. eolib/protocol/_generated/net/server/admin_interact_agree_server_packet.py +21 -20
  153. eolib/protocol/_generated/net/server/admin_interact_list_server_packet.py +62 -74
  154. eolib/protocol/_generated/net/server/admin_interact_remove_server_packet.py +21 -20
  155. eolib/protocol/_generated/net/server/admin_interact_reply_server_packet.py +112 -91
  156. eolib/protocol/_generated/net/server/admin_interact_tell_server_packet.py +86 -110
  157. eolib/protocol/_generated/net/server/arena_accept_server_packet.py +47 -50
  158. eolib/protocol/_generated/net/server/arena_drop_server_packet.py +14 -8
  159. eolib/protocol/_generated/net/server/arena_spec_server_packet.py +55 -68
  160. eolib/protocol/_generated/net/server/arena_use_server_packet.py +21 -20
  161. eolib/protocol/_generated/net/server/attack_error_server_packet.py +13 -7
  162. eolib/protocol/_generated/net/server/attack_player_server_packet.py +28 -29
  163. eolib/protocol/_generated/net/server/avatar_admin_server_packet.py +67 -110
  164. eolib/protocol/_generated/net/server/avatar_agree_server_packet.py +21 -12
  165. eolib/protocol/_generated/net/server/avatar_change.py +132 -136
  166. eolib/protocol/_generated/net/server/avatar_change_type.py +1 -1
  167. eolib/protocol/_generated/net/server/avatar_remove_server_packet.py +29 -29
  168. eolib/protocol/_generated/net/server/avatar_reply_server_packet.py +56 -89
  169. eolib/protocol/_generated/net/server/bank_open_server_packet.py +35 -54
  170. eolib/protocol/_generated/net/server/bank_reply_server_packet.py +28 -37
  171. eolib/protocol/_generated/net/server/barber_agree_server_packet.py +28 -29
  172. eolib/protocol/_generated/net/server/barber_open_server_packet.py +21 -20
  173. eolib/protocol/_generated/net/server/big_coords.py +28 -37
  174. eolib/protocol/_generated/net/server/board_open_server_packet.py +44 -52
  175. eolib/protocol/_generated/net/server/board_player_server_packet.py +30 -29
  176. eolib/protocol/_generated/net/server/board_post_listing.py +39 -40
  177. eolib/protocol/_generated/net/server/book_reply_server_packet.py +42 -35
  178. eolib/protocol/_generated/net/server/cast_accept_server_packet.py +65 -71
  179. eolib/protocol/_generated/net/server/cast_reply_server_packet.py +78 -122
  180. eolib/protocol/_generated/net/server/cast_spec_server_packet.py +48 -60
  181. eolib/protocol/_generated/net/server/chair_close_server_packet.py +28 -29
  182. eolib/protocol/_generated/net/server/chair_player_server_packet.py +35 -38
  183. eolib/protocol/_generated/net/server/chair_remove_server_packet.py +28 -29
  184. eolib/protocol/_generated/net/server/chair_reply_server_packet.py +35 -38
  185. eolib/protocol/_generated/net/server/character_base_stats.py +56 -105
  186. eolib/protocol/_generated/net/server/character_base_stats_welcome.py +56 -105
  187. eolib/protocol/_generated/net/server/character_details.py +92 -115
  188. eolib/protocol/_generated/net/server/character_elemental_stats.py +56 -105
  189. eolib/protocol/_generated/net/server/character_map_info.py +161 -283
  190. eolib/protocol/_generated/net/server/character_player_server_packet.py +28 -37
  191. eolib/protocol/_generated/net/server/character_reply_server_packet.py +229 -179
  192. eolib/protocol/_generated/net/server/character_secondary_stats.py +49 -88
  193. eolib/protocol/_generated/net/server/character_secondary_stats_info_lookup.py +49 -88
  194. eolib/protocol/_generated/net/server/character_selection_list_entry.py +80 -125
  195. eolib/protocol/_generated/net/server/character_stats_equipment_change.py +42 -55
  196. eolib/protocol/_generated/net/server/character_stats_info_lookup.py +65 -100
  197. eolib/protocol/_generated/net/server/character_stats_reset.py +77 -140
  198. eolib/protocol/_generated/net/server/character_stats_update.py +56 -89
  199. eolib/protocol/_generated/net/server/character_stats_welcome.py +84 -157
  200. eolib/protocol/_generated/net/server/chest_agree_server_packet.py +25 -15
  201. eolib/protocol/_generated/net/server/chest_close_server_packet.py +28 -24
  202. eolib/protocol/_generated/net/server/chest_get_server_packet.py +39 -33
  203. eolib/protocol/_generated/net/server/chest_open_server_packet.py +32 -24
  204. eolib/protocol/_generated/net/server/chest_reply_server_packet.py +46 -58
  205. eolib/protocol/_generated/net/server/chest_spec_server_packet.py +13 -7
  206. eolib/protocol/_generated/net/server/citizen_accept_server_packet.py +21 -20
  207. eolib/protocol/_generated/net/server/citizen_open_server_packet.py +53 -79
  208. eolib/protocol/_generated/net/server/citizen_remove_server_packet.py +21 -12
  209. eolib/protocol/_generated/net/server/citizen_reply_server_packet.py +21 -20
  210. eolib/protocol/_generated/net/server/citizen_request_server_packet.py +21 -20
  211. eolib/protocol/_generated/net/server/connection_player_server_packet.py +28 -37
  212. eolib/protocol/_generated/net/server/dialog_entry.py +63 -57
  213. eolib/protocol/_generated/net/server/dialog_quest_entry.py +28 -29
  214. eolib/protocol/_generated/net/server/door_close_server_packet.py +21 -20
  215. eolib/protocol/_generated/net/server/door_open_server_packet.py +25 -14
  216. eolib/protocol/_generated/net/server/effect_admin_server_packet.py +42 -63
  217. eolib/protocol/_generated/net/server/effect_agree_server_packet.py +32 -38
  218. eolib/protocol/_generated/net/server/effect_player_server_packet.py +32 -45
  219. eolib/protocol/_generated/net/server/effect_report_server_packet.py +13 -7
  220. eolib/protocol/_generated/net/server/effect_spec_server_packet.py +111 -142
  221. eolib/protocol/_generated/net/server/effect_target_other_server_packet.py +46 -66
  222. eolib/protocol/_generated/net/server/effect_use_server_packet.py +56 -48
  223. eolib/protocol/_generated/net/server/emote_player_server_packet.py +28 -29
  224. eolib/protocol/_generated/net/server/equipment_change.py +50 -89
  225. eolib/protocol/_generated/net/server/equipment_character_select.py +49 -88
  226. eolib/protocol/_generated/net/server/equipment_map_info.py +53 -92
  227. eolib/protocol/_generated/net/server/equipment_paperdoll.py +115 -229
  228. eolib/protocol/_generated/net/server/equipment_welcome.py +114 -228
  229. eolib/protocol/_generated/net/server/face_player_server_packet.py +28 -29
  230. eolib/protocol/_generated/net/server/global_backfill_message.py +31 -22
  231. eolib/protocol/_generated/net/server/group_heal_target_player.py +35 -54
  232. eolib/protocol/_generated/net/server/guild_accept_server_packet.py +21 -20
  233. eolib/protocol/_generated/net/server/guild_agree_server_packet.py +48 -51
  234. eolib/protocol/_generated/net/server/guild_buy_server_packet.py +22 -21
  235. eolib/protocol/_generated/net/server/guild_create_server_packet.py +55 -68
  236. eolib/protocol/_generated/net/server/guild_kick_server_packet.py +13 -7
  237. eolib/protocol/_generated/net/server/guild_member.py +39 -40
  238. eolib/protocol/_generated/net/server/guild_open_server_packet.py +21 -20
  239. eolib/protocol/_generated/net/server/guild_rank_server_packet.py +30 -28
  240. eolib/protocol/_generated/net/server/guild_reply_server_packet.py +117 -93
  241. eolib/protocol/_generated/net/server/guild_report_server_packet.py +91 -111
  242. eolib/protocol/_generated/net/server/guild_request_server_packet.py +28 -29
  243. eolib/protocol/_generated/net/server/guild_sell_server_packet.py +21 -20
  244. eolib/protocol/_generated/net/server/guild_staff.py +31 -30
  245. eolib/protocol/_generated/net/server/guild_take_server_packet.py +21 -12
  246. eolib/protocol/_generated/net/server/guild_tell_server_packet.py +38 -36
  247. eolib/protocol/_generated/net/server/init_ban_type.py +1 -1
  248. eolib/protocol/_generated/net/server/init_init_server_packet.py +454 -393
  249. eolib/protocol/_generated/net/server/init_reply.py +3 -0
  250. eolib/protocol/_generated/net/server/item_accept_server_packet.py +21 -20
  251. eolib/protocol/_generated/net/server/item_add_server_packet.py +42 -63
  252. eolib/protocol/_generated/net/server/item_agree_server_packet.py +22 -21
  253. eolib/protocol/_generated/net/server/item_drop_server_packet.py +49 -64
  254. eolib/protocol/_generated/net/server/item_get_server_packet.py +35 -38
  255. eolib/protocol/_generated/net/server/item_junk_server_packet.py +35 -38
  256. eolib/protocol/_generated/net/server/item_kick_server_packet.py +28 -29
  257. eolib/protocol/_generated/net/server/item_map_info.py +42 -63
  258. eolib/protocol/_generated/net/server/item_obtain_server_packet.py +28 -29
  259. eolib/protocol/_generated/net/server/item_remove_server_packet.py +21 -20
  260. eolib/protocol/_generated/net/server/item_reply_server_packet.py +235 -300
  261. eolib/protocol/_generated/net/server/item_spec_server_packet.py +13 -7
  262. eolib/protocol/_generated/net/server/jukebox_agree_server_packet.py +21 -20
  263. eolib/protocol/_generated/net/server/jukebox_msg_server_packet.py +42 -63
  264. eolib/protocol/_generated/net/server/jukebox_open_server_packet.py +28 -29
  265. eolib/protocol/_generated/net/server/jukebox_player_server_packet.py +21 -20
  266. eolib/protocol/_generated/net/server/jukebox_reply_server_packet.py +13 -7
  267. eolib/protocol/_generated/net/server/jukebox_use_server_packet.py +22 -18
  268. eolib/protocol/_generated/net/server/level_up_stats.py +56 -105
  269. eolib/protocol/_generated/net/server/locker_buy_server_packet.py +28 -37
  270. eolib/protocol/_generated/net/server/locker_get_server_packet.py +39 -33
  271. eolib/protocol/_generated/net/server/locker_open_server_packet.py +32 -24
  272. eolib/protocol/_generated/net/server/locker_reply_server_packet.py +39 -33
  273. eolib/protocol/_generated/net/server/locker_spec_server_packet.py +21 -20
  274. eolib/protocol/_generated/net/server/login_reply.py +6 -0
  275. eolib/protocol/_generated/net/server/login_reply_server_packet.py +169 -115
  276. eolib/protocol/_generated/net/server/map_drain_damage_other.py +35 -54
  277. eolib/protocol/_generated/net/server/map_file.py +21 -12
  278. eolib/protocol/_generated/net/server/marriage_open_server_packet.py +21 -20
  279. eolib/protocol/_generated/net/server/marriage_reply_server_packet.py +56 -48
  280. eolib/protocol/_generated/net/server/message_accept_server_packet.py +30 -28
  281. eolib/protocol/_generated/net/server/message_close_server_packet.py +13 -7
  282. eolib/protocol/_generated/net/server/message_open_server_packet.py +21 -12
  283. eolib/protocol/_generated/net/server/message_pong_server_packet.py +13 -7
  284. eolib/protocol/_generated/net/server/music_player_server_packet.py +21 -20
  285. eolib/protocol/_generated/net/server/nearby_info.py +59 -61
  286. eolib/protocol/_generated/net/server/npc_accept_server_packet.py +47 -38
  287. eolib/protocol/_generated/net/server/npc_agree_server_packet.py +34 -32
  288. eolib/protocol/_generated/net/server/npc_dialog_server_packet.py +28 -29
  289. eolib/protocol/_generated/net/server/npc_junk_server_packet.py +21 -20
  290. eolib/protocol/_generated/net/server/npc_killed_data.py +70 -123
  291. eolib/protocol/_generated/net/server/npc_map_info.py +42 -55
  292. eolib/protocol/_generated/net/server/npc_player_server_packet.py +66 -76
  293. eolib/protocol/_generated/net/server/npc_reply_server_packet.py +60 -89
  294. eolib/protocol/_generated/net/server/npc_spec_server_packet.py +30 -27
  295. eolib/protocol/_generated/net/server/npc_update_attack.py +56 -89
  296. eolib/protocol/_generated/net/server/npc_update_chat.py +36 -45
  297. eolib/protocol/_generated/net/server/npc_update_position.py +35 -38
  298. eolib/protocol/_generated/net/server/online_player.py +60 -75
  299. eolib/protocol/_generated/net/server/paperdoll_agree_server_packet.py +49 -72
  300. eolib/protocol/_generated/net/server/paperdoll_ping_server_packet.py +22 -22
  301. eolib/protocol/_generated/net/server/paperdoll_remove_server_packet.py +42 -55
  302. eolib/protocol/_generated/net/server/paperdoll_reply_server_packet.py +37 -30
  303. eolib/protocol/_generated/net/server/party_add_server_packet.py +21 -12
  304. eolib/protocol/_generated/net/server/party_agree_server_packet.py +28 -37
  305. eolib/protocol/_generated/net/server/party_close_server_packet.py +13 -7
  306. eolib/protocol/_generated/net/server/party_create_server_packet.py +27 -16
  307. eolib/protocol/_generated/net/server/party_exp_share.py +37 -57
  308. eolib/protocol/_generated/net/server/party_list_server_packet.py +27 -16
  309. eolib/protocol/_generated/net/server/party_member.py +50 -73
  310. eolib/protocol/_generated/net/server/party_remove_server_packet.py +21 -20
  311. eolib/protocol/_generated/net/server/party_reply_server_packet.py +83 -58
  312. eolib/protocol/_generated/net/server/party_request_server_packet.py +35 -38
  313. eolib/protocol/_generated/net/server/party_target_group_server_packet.py +25 -15
  314. eolib/protocol/_generated/net/server/player_effect.py +90 -0
  315. eolib/protocol/_generated/net/server/players_agree_server_packet.py +21 -12
  316. eolib/protocol/_generated/net/server/players_list.py +38 -36
  317. eolib/protocol/_generated/net/server/players_list_friends.py +38 -36
  318. eolib/protocol/_generated/net/server/players_list_server_packet.py +23 -12
  319. eolib/protocol/_generated/net/server/players_net242_server_packet.py +21 -12
  320. eolib/protocol/_generated/net/server/players_ping_server_packet.py +21 -12
  321. eolib/protocol/_generated/net/server/players_pong_server_packet.py +21 -12
  322. eolib/protocol/_generated/net/server/players_remove_server_packet.py +21 -20
  323. eolib/protocol/_generated/net/server/players_reply_server_packet.py +23 -12
  324. eolib/protocol/_generated/net/server/priest_open_server_packet.py +21 -20
  325. eolib/protocol/_generated/net/server/priest_reply_server_packet.py +21 -12
  326. eolib/protocol/_generated/net/server/priest_request_server_packet.py +28 -29
  327. eolib/protocol/_generated/net/server/pub_file.py +28 -29
  328. eolib/protocol/_generated/net/server/quest_dialog_server_packet.py +76 -117
  329. eolib/protocol/_generated/net/server/quest_list_server_packet.py +99 -83
  330. eolib/protocol/_generated/net/server/quest_progress_entry.py +53 -66
  331. eolib/protocol/_generated/net/server/quest_report_server_packet.py +38 -37
  332. eolib/protocol/_generated/net/server/range_reply_server_packet.py +21 -12
  333. eolib/protocol/_generated/net/server/recover_agree_server_packet.py +35 -54
  334. eolib/protocol/_generated/net/server/recover_list_server_packet.py +28 -29
  335. eolib/protocol/_generated/net/server/recover_player_server_packet.py +30 -37
  336. eolib/protocol/_generated/net/server/recover_reply_server_packet.py +53 -93
  337. eolib/protocol/_generated/net/server/recover_target_group_server_packet.py +49 -88
  338. eolib/protocol/_generated/net/server/refresh_reply_server_packet.py +21 -12
  339. eolib/protocol/_generated/net/server/server_settings.py +63 -114
  340. eolib/protocol/_generated/net/server/shop_buy_server_packet.py +35 -38
  341. eolib/protocol/_generated/net/server/shop_craft_item.py +34 -42
  342. eolib/protocol/_generated/net/server/shop_create_server_packet.py +41 -51
  343. eolib/protocol/_generated/net/server/shop_open_server_packet.py +53 -57
  344. eolib/protocol/_generated/net/server/shop_sell_server_packet.py +35 -38
  345. eolib/protocol/_generated/net/server/shop_sold_item.py +28 -37
  346. eolib/protocol/_generated/net/server/shop_trade_item.py +42 -71
  347. eolib/protocol/_generated/net/server/sit_close_server_packet.py +28 -29
  348. eolib/protocol/_generated/net/server/sit_player_server_packet.py +36 -39
  349. eolib/protocol/_generated/net/server/sit_remove_server_packet.py +28 -29
  350. eolib/protocol/_generated/net/server/sit_reply_server_packet.py +36 -39
  351. eolib/protocol/_generated/net/server/skill_learn.py +64 -106
  352. eolib/protocol/_generated/net/server/skill_stat_requirements.py +134 -0
  353. eolib/protocol/_generated/net/server/spell_error_server_packet.py +13 -7
  354. eolib/protocol/_generated/net/server/spell_player_server_packet.py +28 -29
  355. eolib/protocol/_generated/net/server/spell_reply_server_packet.py +133 -0
  356. eolib/protocol/_generated/net/server/spell_request_server_packet.py +28 -37
  357. eolib/protocol/_generated/net/server/spell_target_group_server_packet.py +53 -83
  358. eolib/protocol/_generated/net/server/spell_target_other_server_packet.py +64 -114
  359. eolib/protocol/_generated/net/server/spell_target_self_server_packet.py +58 -107
  360. eolib/protocol/_generated/net/server/stat_skill_accept_server_packet.py +28 -29
  361. eolib/protocol/_generated/net/server/stat_skill_junk_server_packet.py +21 -12
  362. eolib/protocol/_generated/net/server/stat_skill_open_server_packet.py +42 -42
  363. eolib/protocol/_generated/net/server/stat_skill_player_server_packet.py +28 -29
  364. eolib/protocol/_generated/net/server/stat_skill_remove_server_packet.py +21 -20
  365. eolib/protocol/_generated/net/server/stat_skill_reply_server_packet.py +56 -48
  366. eolib/protocol/_generated/net/server/stat_skill_take_server_packet.py +28 -37
  367. eolib/protocol/_generated/net/server/talk_admin_server_packet.py +31 -22
  368. eolib/protocol/_generated/net/server/talk_announce_server_packet.py +31 -22
  369. eolib/protocol/_generated/net/server/talk_list_server_packet.py +27 -16
  370. eolib/protocol/_generated/net/server/talk_msg_server_packet.py +31 -22
  371. eolib/protocol/_generated/net/server/talk_open_server_packet.py +28 -29
  372. eolib/protocol/_generated/net/server/talk_player_server_packet.py +28 -29
  373. eolib/protocol/_generated/net/server/talk_reply_server_packet.py +28 -21
  374. eolib/protocol/_generated/net/server/talk_request_server_packet.py +31 -22
  375. eolib/protocol/_generated/net/server/talk_server_server_packet.py +21 -12
  376. eolib/protocol/_generated/net/server/talk_spec_server_packet.py +21 -12
  377. eolib/protocol/_generated/net/server/talk_tell_server_packet.py +31 -22
  378. eolib/protocol/_generated/net/server/tile_effect.py +91 -0
  379. eolib/protocol/_generated/net/server/trade_admin_server_packet.py +35 -13
  380. eolib/protocol/_generated/net/server/trade_agree_server_packet.py +28 -29
  381. eolib/protocol/_generated/net/server/trade_close_server_packet.py +21 -20
  382. eolib/protocol/_generated/net/server/trade_item_data.py +38 -82
  383. eolib/protocol/_generated/net/server/trade_open_server_packet.py +46 -57
  384. eolib/protocol/_generated/net/server/trade_reply_server_packet.py +35 -13
  385. eolib/protocol/_generated/net/server/trade_request_server_packet.py +29 -30
  386. eolib/protocol/_generated/net/server/trade_spec_server_packet.py +21 -12
  387. eolib/protocol/_generated/net/server/trade_use_server_packet.py +35 -13
  388. eolib/protocol/_generated/net/server/walk_close_server_packet.py +13 -7
  389. eolib/protocol/_generated/net/server/walk_open_server_packet.py +13 -7
  390. eolib/protocol/_generated/net/server/walk_player_server_packet.py +35 -58
  391. eolib/protocol/_generated/net/server/walk_reply_server_packet.py +49 -57
  392. eolib/protocol/_generated/net/server/warp_agree_server_packet.py +72 -66
  393. eolib/protocol/_generated/net/server/warp_create_server_packet.py +21 -12
  394. eolib/protocol/_generated/net/server/warp_player_server_packet.py +21 -12
  395. eolib/protocol/_generated/net/server/warp_request_server_packet.py +83 -106
  396. eolib/protocol/_generated/net/server/welcome_net242_server_packet.py +21 -12
  397. eolib/protocol/_generated/net/server/welcome_net243_server_packet.py +21 -12
  398. eolib/protocol/_generated/net/server/welcome_net244_server_packet.py +21 -12
  399. eolib/protocol/_generated/net/server/welcome_ping_server_packet.py +21 -12
  400. eolib/protocol/_generated/net/server/welcome_pong_server_packet.py +21 -12
  401. eolib/protocol/_generated/net/server/welcome_reply_server_packet.py +350 -556
  402. eolib/protocol/_generated/net/spell.py +28 -37
  403. eolib/protocol/_generated/net/three_item.py +28 -37
  404. eolib/protocol/_generated/net/version.py +35 -54
  405. eolib/protocol/_generated/net/weight.py +28 -37
  406. eolib/protocol/_generated/pub/ecf.py +52 -74
  407. eolib/protocol/_generated/pub/ecf_record.py +85 -164
  408. eolib/protocol/_generated/pub/eif.py +52 -74
  409. eolib/protocol/_generated/pub/eif_record.py +303 -658
  410. eolib/protocol/_generated/pub/enf.py +52 -74
  411. eolib/protocol/_generated/pub/enf_record.py +169 -328
  412. eolib/protocol/_generated/pub/esf.py +52 -74
  413. eolib/protocol/_generated/pub/esf_record.py +242 -491
  414. eolib/protocol/_generated/pub/server/__init__.py +30 -0
  415. eolib/protocol/_generated/pub/server/drop_file.py +87 -0
  416. eolib/protocol/_generated/pub/server/drop_npc_record.py +104 -0
  417. eolib/protocol/_generated/pub/server/drop_record.py +115 -0
  418. eolib/protocol/_generated/pub/server/inn_file.py +87 -0
  419. eolib/protocol/_generated/pub/server/inn_question_record.py +106 -0
  420. eolib/protocol/_generated/pub/server/inn_record.py +255 -0
  421. eolib/protocol/_generated/pub/server/shop_craft_ingredient_record.py +93 -0
  422. eolib/protocol/_generated/pub/server/shop_craft_record.py +98 -0
  423. eolib/protocol/_generated/pub/server/shop_file.py +87 -0
  424. eolib/protocol/_generated/pub/server/shop_record.py +188 -0
  425. eolib/protocol/_generated/pub/server/shop_trade_record.py +121 -0
  426. eolib/protocol/_generated/pub/server/skill_master_file.py +87 -0
  427. eolib/protocol/_generated/pub/server/skill_master_record.py +168 -0
  428. eolib/protocol/_generated/pub/server/skill_master_skill_record.py +223 -0
  429. eolib/protocol/_generated/pub/server/talk_file.py +87 -0
  430. eolib/protocol/_generated/pub/server/talk_message_record.py +87 -0
  431. eolib/protocol/_generated/pub/server/talk_record.py +121 -0
  432. eolib/protocol/protocol_enum_meta.py +1 -3
  433. eolib/protocol/pub/server/__init__.py +8 -0
  434. {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/METADATA +5 -3
  435. {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/RECORD +437 -414
  436. {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/WHEEL +1 -1
  437. {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -0,0 +1,188 @@
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 collections.abc import Iterable
8
+ from .shop_trade_record import ShopTradeRecord
9
+ from .shop_craft_record import ShopCraftRecord
10
+ from ....serialization_error import SerializationError
11
+ from .....data.eo_writer import EoWriter
12
+ from .....data.eo_reader import EoReader
13
+
14
+ class ShopRecord:
15
+ """
16
+ Record of Shop data in an Endless Shop File
17
+ """
18
+ _byte_size: int = 0
19
+ _behavior_id: int
20
+ _name_length: int
21
+ _name: str
22
+ _min_level: int
23
+ _max_level: int
24
+ _class_requirement: int
25
+ _trades_count: int
26
+ _crafts_count: int
27
+ _trades: tuple[ShopTradeRecord, ...]
28
+ _crafts: tuple[ShopCraftRecord, ...]
29
+
30
+ def __init__(self, *, behavior_id: int, name: str, min_level: int, max_level: int, class_requirement: int, trades: Iterable[ShopTradeRecord], crafts: Iterable[ShopCraftRecord]):
31
+ """
32
+ Create a new instance of ShopRecord.
33
+
34
+ Args:
35
+ behavior_id (int): (Value range is 0-64008.)
36
+ name (str): (Length must be 252 or less.)
37
+ min_level (int): Minimum level required to use this shop (Value range is 0-252.)
38
+ max_level (int): Maximum level allowed to use this shop (Value range is 0-252.)
39
+ class_requirement (int): Class required to use this shop (Value range is 0-252.)
40
+ trades (Iterable[ShopTradeRecord]): (Length must be 64008 or less.)
41
+ crafts (Iterable[ShopCraftRecord]): (Length must be 252 or less.)
42
+ """
43
+ self._behavior_id = behavior_id
44
+ self._name = name
45
+ self._name_length = len(self._name)
46
+ self._min_level = min_level
47
+ self._max_level = max_level
48
+ self._class_requirement = class_requirement
49
+ self._trades = tuple(trades)
50
+ self._trades_count = len(self._trades)
51
+ self._crafts = tuple(crafts)
52
+ self._crafts_count = len(self._crafts)
53
+
54
+ @property
55
+ def byte_size(self) -> int:
56
+ """
57
+ Returns the size of the data that this was deserialized from.
58
+
59
+ Returns:
60
+ int: The size of the data that this was deserialized from.
61
+ """
62
+ return self._byte_size
63
+
64
+ @property
65
+ def behavior_id(self) -> int:
66
+ return self._behavior_id
67
+
68
+ @property
69
+ def name(self) -> str:
70
+ return self._name
71
+
72
+ @property
73
+ def min_level(self) -> int:
74
+ """
75
+ Minimum level required to use this shop
76
+ """
77
+ return self._min_level
78
+
79
+ @property
80
+ def max_level(self) -> int:
81
+ """
82
+ Maximum level allowed to use this shop
83
+ """
84
+ return self._max_level
85
+
86
+ @property
87
+ def class_requirement(self) -> int:
88
+ """
89
+ Class required to use this shop
90
+ """
91
+ return self._class_requirement
92
+
93
+ @property
94
+ def trades(self) -> tuple[ShopTradeRecord, ...]:
95
+ return self._trades
96
+
97
+ @property
98
+ def crafts(self) -> tuple[ShopCraftRecord, ...]:
99
+ return self._crafts
100
+
101
+ @staticmethod
102
+ def serialize(writer: EoWriter, data: "ShopRecord") -> None:
103
+ """
104
+ Serializes an instance of `ShopRecord` to the provided `EoWriter`.
105
+
106
+ Args:
107
+ writer (EoWriter): The writer that the data will be serialized to.
108
+ data (ShopRecord): The data to serialize.
109
+ """
110
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
111
+ try:
112
+ if data._behavior_id is None:
113
+ raise SerializationError("behavior_id must be provided.")
114
+ writer.add_short(data._behavior_id)
115
+ if data._name_length is None:
116
+ raise SerializationError("name_length must be provided.")
117
+ writer.add_char(data._name_length)
118
+ if data._name is None:
119
+ raise SerializationError("name must be provided.")
120
+ if len(data._name) > 252:
121
+ raise SerializationError(f"Expected length of name to be 252 or less, got {len(data._name)}.")
122
+ writer.add_fixed_string(data._name, data._name_length, False)
123
+ if data._min_level is None:
124
+ raise SerializationError("min_level must be provided.")
125
+ writer.add_char(data._min_level)
126
+ if data._max_level is None:
127
+ raise SerializationError("max_level must be provided.")
128
+ writer.add_char(data._max_level)
129
+ if data._class_requirement is None:
130
+ raise SerializationError("class_requirement must be provided.")
131
+ writer.add_char(data._class_requirement)
132
+ if data._trades_count is None:
133
+ raise SerializationError("trades_count must be provided.")
134
+ writer.add_short(data._trades_count)
135
+ if data._crafts_count is None:
136
+ raise SerializationError("crafts_count must be provided.")
137
+ writer.add_char(data._crafts_count)
138
+ if data._trades is None:
139
+ raise SerializationError("trades must be provided.")
140
+ if len(data._trades) > 64008:
141
+ raise SerializationError(f"Expected length of trades to be 64008 or less, got {len(data._trades)}.")
142
+ for i in range(data._trades_count):
143
+ ShopTradeRecord.serialize(writer, data._trades[i])
144
+ if data._crafts is None:
145
+ raise SerializationError("crafts must be provided.")
146
+ if len(data._crafts) > 252:
147
+ raise SerializationError(f"Expected length of crafts to be 252 or less, got {len(data._crafts)}.")
148
+ for i in range(data._crafts_count):
149
+ ShopCraftRecord.serialize(writer, data._crafts[i])
150
+ finally:
151
+ writer.string_sanitization_mode = old_string_sanitization_mode
152
+
153
+ @staticmethod
154
+ def deserialize(reader: EoReader) -> "ShopRecord":
155
+ """
156
+ Deserializes an instance of `ShopRecord` from the provided `EoReader`.
157
+
158
+ Args:
159
+ reader (EoReader): The writer that the data will be serialized to.
160
+
161
+ Returns:
162
+ ShopRecord: The data to serialize.
163
+ """
164
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
165
+ try:
166
+ reader_start_position: int = reader.position
167
+ behavior_id = reader.get_short()
168
+ name_length = reader.get_char()
169
+ name = reader.get_fixed_string(name_length, False)
170
+ min_level = reader.get_char()
171
+ max_level = reader.get_char()
172
+ class_requirement = reader.get_char()
173
+ trades_count = reader.get_short()
174
+ crafts_count = reader.get_char()
175
+ trades = []
176
+ for i in range(trades_count):
177
+ trades.append(ShopTradeRecord.deserialize(reader))
178
+ crafts = []
179
+ for i in range(crafts_count):
180
+ crafts.append(ShopCraftRecord.deserialize(reader))
181
+ result = ShopRecord(behavior_id=behavior_id, name=name, min_level=min_level, max_level=max_level, class_requirement=class_requirement, trades=trades, crafts=crafts)
182
+ result._byte_size = reader.position - reader_start_position
183
+ return result
184
+ finally:
185
+ reader.chunked_reading_mode = old_chunked_reading_mode
186
+
187
+ def __repr__(self):
188
+ return f"ShopRecord(byte_size={repr(self._byte_size)}, behavior_id={repr(self._behavior_id)}, name={repr(self._name)}, min_level={repr(self._min_level)}, max_level={repr(self._max_level)}, class_requirement={repr(self._class_requirement)}, trades={repr(self._trades)}, crafts={repr(self._crafts)})"
@@ -0,0 +1,121 @@
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 ShopTradeRecord:
11
+ """
12
+ Record of an item that can be bought or sold in a shop
13
+ """
14
+ _byte_size: int = 0
15
+ _item_id: int
16
+ _buy_price: int
17
+ _sell_price: int
18
+ _max_amount: int
19
+
20
+ def __init__(self, *, item_id: int, buy_price: int, sell_price: int, max_amount: int):
21
+ """
22
+ Create a new instance of ShopTradeRecord.
23
+
24
+ Args:
25
+ item_id (int): (Value range is 0-64008.)
26
+ buy_price (int): How much it costs to buy the item from the shop (Value range is 0-16194276.)
27
+ sell_price (int): How much the shop will pay for the item (Value range is 0-16194276.)
28
+ max_amount (int): Max amount of the item that can be bought or sold at one time (Value range is 0-252.)
29
+ """
30
+ self._item_id = item_id
31
+ self._buy_price = buy_price
32
+ self._sell_price = sell_price
33
+ self._max_amount = max_amount
34
+
35
+ @property
36
+ def byte_size(self) -> int:
37
+ """
38
+ Returns the size of the data that this was deserialized from.
39
+
40
+ Returns:
41
+ int: The size of the data that this was deserialized from.
42
+ """
43
+ return self._byte_size
44
+
45
+ @property
46
+ def item_id(self) -> int:
47
+ return self._item_id
48
+
49
+ @property
50
+ def buy_price(self) -> int:
51
+ """
52
+ How much it costs to buy the item from the shop
53
+ """
54
+ return self._buy_price
55
+
56
+ @property
57
+ def sell_price(self) -> int:
58
+ """
59
+ How much the shop will pay for the item
60
+ """
61
+ return self._sell_price
62
+
63
+ @property
64
+ def max_amount(self) -> int:
65
+ """
66
+ Max amount of the item that can be bought or sold at one time
67
+ """
68
+ return self._max_amount
69
+
70
+ @staticmethod
71
+ def serialize(writer: EoWriter, data: "ShopTradeRecord") -> None:
72
+ """
73
+ Serializes an instance of `ShopTradeRecord` to the provided `EoWriter`.
74
+
75
+ Args:
76
+ writer (EoWriter): The writer that the data will be serialized to.
77
+ data (ShopTradeRecord): The data to serialize.
78
+ """
79
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
80
+ try:
81
+ if data._item_id is None:
82
+ raise SerializationError("item_id must be provided.")
83
+ writer.add_short(data._item_id)
84
+ if data._buy_price is None:
85
+ raise SerializationError("buy_price must be provided.")
86
+ writer.add_three(data._buy_price)
87
+ if data._sell_price is None:
88
+ raise SerializationError("sell_price must be provided.")
89
+ writer.add_three(data._sell_price)
90
+ if data._max_amount is None:
91
+ raise SerializationError("max_amount must be provided.")
92
+ writer.add_char(data._max_amount)
93
+ finally:
94
+ writer.string_sanitization_mode = old_string_sanitization_mode
95
+
96
+ @staticmethod
97
+ def deserialize(reader: EoReader) -> "ShopTradeRecord":
98
+ """
99
+ Deserializes an instance of `ShopTradeRecord` from the provided `EoReader`.
100
+
101
+ Args:
102
+ reader (EoReader): The writer that the data will be serialized to.
103
+
104
+ Returns:
105
+ ShopTradeRecord: The data to serialize.
106
+ """
107
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
108
+ try:
109
+ reader_start_position: int = reader.position
110
+ item_id = reader.get_short()
111
+ buy_price = reader.get_three()
112
+ sell_price = reader.get_three()
113
+ max_amount = reader.get_char()
114
+ result = ShopTradeRecord(item_id=item_id, buy_price=buy_price, sell_price=sell_price, max_amount=max_amount)
115
+ result._byte_size = reader.position - reader_start_position
116
+ return result
117
+ finally:
118
+ reader.chunked_reading_mode = old_chunked_reading_mode
119
+
120
+ def __repr__(self):
121
+ return f"ShopTradeRecord(byte_size={repr(self._byte_size)}, item_id={repr(self._item_id)}, buy_price={repr(self._buy_price)}, sell_price={repr(self._sell_price)}, max_amount={repr(self._max_amount)})"
@@ -0,0 +1,87 @@
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 collections.abc import Iterable
8
+ from .skill_master_record import SkillMasterRecord
9
+ from ....serialization_error import SerializationError
10
+ from .....data.eo_writer import EoWriter
11
+ from .....data.eo_reader import EoReader
12
+
13
+ class SkillMasterFile:
14
+ """
15
+ Endless Skill Master File
16
+ """
17
+ _byte_size: int = 0
18
+ _skill_masters: tuple[SkillMasterRecord, ...]
19
+
20
+ def __init__(self, *, skill_masters: Iterable[SkillMasterRecord]):
21
+ """
22
+ Create a new instance of SkillMasterFile.
23
+
24
+ Args:
25
+ skill_masters (Iterable[SkillMasterRecord]):
26
+ """
27
+ self._skill_masters = tuple(skill_masters)
28
+
29
+ @property
30
+ def byte_size(self) -> int:
31
+ """
32
+ Returns the size of the data that this was deserialized from.
33
+
34
+ Returns:
35
+ int: The size of the data that this was deserialized from.
36
+ """
37
+ return self._byte_size
38
+
39
+ @property
40
+ def skill_masters(self) -> tuple[SkillMasterRecord, ...]:
41
+ return self._skill_masters
42
+
43
+ @staticmethod
44
+ def serialize(writer: EoWriter, data: "SkillMasterFile") -> None:
45
+ """
46
+ Serializes an instance of `SkillMasterFile` to the provided `EoWriter`.
47
+
48
+ Args:
49
+ writer (EoWriter): The writer that the data will be serialized to.
50
+ data (SkillMasterFile): The data to serialize.
51
+ """
52
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
53
+ try:
54
+ writer.add_fixed_string("EMF", 3, False)
55
+ if data._skill_masters is None:
56
+ raise SerializationError("skill_masters must be provided.")
57
+ for i in range(len(data._skill_masters)):
58
+ SkillMasterRecord.serialize(writer, data._skill_masters[i])
59
+ finally:
60
+ writer.string_sanitization_mode = old_string_sanitization_mode
61
+
62
+ @staticmethod
63
+ def deserialize(reader: EoReader) -> "SkillMasterFile":
64
+ """
65
+ Deserializes an instance of `SkillMasterFile` from the provided `EoReader`.
66
+
67
+ Args:
68
+ reader (EoReader): The writer that the data will be serialized to.
69
+
70
+ Returns:
71
+ SkillMasterFile: The data to serialize.
72
+ """
73
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
74
+ try:
75
+ reader_start_position: int = reader.position
76
+ reader.get_fixed_string(3, False)
77
+ skill_masters = []
78
+ while reader.remaining > 0:
79
+ skill_masters.append(SkillMasterRecord.deserialize(reader))
80
+ result = SkillMasterFile(skill_masters=skill_masters)
81
+ result._byte_size = reader.position - reader_start_position
82
+ return result
83
+ finally:
84
+ reader.chunked_reading_mode = old_chunked_reading_mode
85
+
86
+ def __repr__(self):
87
+ return f"SkillMasterFile(byte_size={repr(self._byte_size)}, skill_masters={repr(self._skill_masters)})"
@@ -0,0 +1,168 @@
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 collections.abc import Iterable
8
+ from .skill_master_skill_record import SkillMasterSkillRecord
9
+ from ....serialization_error import SerializationError
10
+ from .....data.eo_writer import EoWriter
11
+ from .....data.eo_reader import EoReader
12
+
13
+ class SkillMasterRecord:
14
+ """
15
+ Record of Skill Master data in an Endless Skill Master File
16
+ """
17
+ _byte_size: int = 0
18
+ _behavior_id: int
19
+ _name_length: int
20
+ _name: str
21
+ _min_level: int
22
+ _max_level: int
23
+ _class_requirement: int
24
+ _skills_count: int
25
+ _skills: tuple[SkillMasterSkillRecord, ...]
26
+
27
+ def __init__(self, *, behavior_id: int, name: str, min_level: int, max_level: int, class_requirement: int, skills: Iterable[SkillMasterSkillRecord]):
28
+ """
29
+ Create a new instance of SkillMasterRecord.
30
+
31
+ Args:
32
+ behavior_id (int): Behavior ID of the Skill Master NPC (Value range is 0-64008.)
33
+ name (str): (Length must be 252 or less.)
34
+ min_level (int): Minimum level required to use this Skill Master (Value range is 0-252.)
35
+ max_level (int): Maximum level allowed to use this Skill Master (Value range is 0-252.)
36
+ class_requirement (int): Class required to use this Skill Master (Value range is 0-252.)
37
+ skills (Iterable[SkillMasterSkillRecord]): (Length must be 64008 or less.)
38
+ """
39
+ self._behavior_id = behavior_id
40
+ self._name = name
41
+ self._name_length = len(self._name)
42
+ self._min_level = min_level
43
+ self._max_level = max_level
44
+ self._class_requirement = class_requirement
45
+ self._skills = tuple(skills)
46
+ self._skills_count = len(self._skills)
47
+
48
+ @property
49
+ def byte_size(self) -> int:
50
+ """
51
+ Returns the size of the data that this was deserialized from.
52
+
53
+ Returns:
54
+ int: The size of the data that this was deserialized from.
55
+ """
56
+ return self._byte_size
57
+
58
+ @property
59
+ def behavior_id(self) -> int:
60
+ """
61
+ Behavior ID of the Skill Master NPC
62
+ """
63
+ return self._behavior_id
64
+
65
+ @property
66
+ def name(self) -> str:
67
+ return self._name
68
+
69
+ @property
70
+ def min_level(self) -> int:
71
+ """
72
+ Minimum level required to use this Skill Master
73
+ """
74
+ return self._min_level
75
+
76
+ @property
77
+ def max_level(self) -> int:
78
+ """
79
+ Maximum level allowed to use this Skill Master
80
+ """
81
+ return self._max_level
82
+
83
+ @property
84
+ def class_requirement(self) -> int:
85
+ """
86
+ Class required to use this Skill Master
87
+ """
88
+ return self._class_requirement
89
+
90
+ @property
91
+ def skills(self) -> tuple[SkillMasterSkillRecord, ...]:
92
+ return self._skills
93
+
94
+ @staticmethod
95
+ def serialize(writer: EoWriter, data: "SkillMasterRecord") -> None:
96
+ """
97
+ Serializes an instance of `SkillMasterRecord` to the provided `EoWriter`.
98
+
99
+ Args:
100
+ writer (EoWriter): The writer that the data will be serialized to.
101
+ data (SkillMasterRecord): The data to serialize.
102
+ """
103
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
104
+ try:
105
+ if data._behavior_id is None:
106
+ raise SerializationError("behavior_id must be provided.")
107
+ writer.add_short(data._behavior_id)
108
+ if data._name_length is None:
109
+ raise SerializationError("name_length must be provided.")
110
+ writer.add_char(data._name_length)
111
+ if data._name is None:
112
+ raise SerializationError("name must be provided.")
113
+ if len(data._name) > 252:
114
+ raise SerializationError(f"Expected length of name to be 252 or less, got {len(data._name)}.")
115
+ writer.add_fixed_string(data._name, data._name_length, False)
116
+ if data._min_level is None:
117
+ raise SerializationError("min_level must be provided.")
118
+ writer.add_char(data._min_level)
119
+ if data._max_level is None:
120
+ raise SerializationError("max_level must be provided.")
121
+ writer.add_char(data._max_level)
122
+ if data._class_requirement is None:
123
+ raise SerializationError("class_requirement must be provided.")
124
+ writer.add_char(data._class_requirement)
125
+ if data._skills_count is None:
126
+ raise SerializationError("skills_count must be provided.")
127
+ writer.add_short(data._skills_count)
128
+ if data._skills is None:
129
+ raise SerializationError("skills must be provided.")
130
+ if len(data._skills) > 64008:
131
+ raise SerializationError(f"Expected length of skills to be 64008 or less, got {len(data._skills)}.")
132
+ for i in range(data._skills_count):
133
+ SkillMasterSkillRecord.serialize(writer, data._skills[i])
134
+ finally:
135
+ writer.string_sanitization_mode = old_string_sanitization_mode
136
+
137
+ @staticmethod
138
+ def deserialize(reader: EoReader) -> "SkillMasterRecord":
139
+ """
140
+ Deserializes an instance of `SkillMasterRecord` from the provided `EoReader`.
141
+
142
+ Args:
143
+ reader (EoReader): The writer that the data will be serialized to.
144
+
145
+ Returns:
146
+ SkillMasterRecord: The data to serialize.
147
+ """
148
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
149
+ try:
150
+ reader_start_position: int = reader.position
151
+ behavior_id = reader.get_short()
152
+ name_length = reader.get_char()
153
+ name = reader.get_fixed_string(name_length, False)
154
+ min_level = reader.get_char()
155
+ max_level = reader.get_char()
156
+ class_requirement = reader.get_char()
157
+ skills_count = reader.get_short()
158
+ skills = []
159
+ for i in range(skills_count):
160
+ skills.append(SkillMasterSkillRecord.deserialize(reader))
161
+ result = SkillMasterRecord(behavior_id=behavior_id, name=name, min_level=min_level, max_level=max_level, class_requirement=class_requirement, skills=skills)
162
+ result._byte_size = reader.position - reader_start_position
163
+ return result
164
+ finally:
165
+ reader.chunked_reading_mode = old_chunked_reading_mode
166
+
167
+ def __repr__(self):
168
+ return f"SkillMasterRecord(byte_size={repr(self._byte_size)}, behavior_id={repr(self._behavior_id)}, name={repr(self._name)}, min_level={repr(self._min_level)}, max_level={repr(self._max_level)}, class_requirement={repr(self._class_requirement)}, skills={repr(self._skills)})"