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