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
@@ -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 ..char_item import CharItem
8
9
  from ....serialization_error import SerializationError
9
10
  from .....data.eo_writer import EoWriter
@@ -14,8 +15,19 @@ class ShopCraftItem:
14
15
  An item that a shop can craft
15
16
  """
16
17
  _byte_size: int = 0
17
- _item_id: int = None # type: ignore [assignment]
18
- _ingredients: list[CharItem] = None # type: ignore [assignment]
18
+ _item_id: int
19
+ _ingredients: tuple[CharItem, ...]
20
+
21
+ def __init__(self, *, item_id: int, ingredients: Iterable[CharItem]):
22
+ """
23
+ Create a new instance of ShopCraftItem.
24
+
25
+ Args:
26
+ item_id (int): (Value range is 0-64008.)
27
+ ingredients (Iterable[CharItem]): (Length must be `4`.)
28
+ """
29
+ self._item_id = item_id
30
+ self._ingredients = tuple(ingredients)
19
31
 
20
32
  @property
21
33
  def byte_size(self) -> int:
@@ -29,36 +41,12 @@ class ShopCraftItem:
29
41
 
30
42
  @property
31
43
  def item_id(self) -> int:
32
- """
33
- Note:
34
- - Value range is 0-64008.
35
- """
36
44
  return self._item_id
37
45
 
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
46
  @property
47
- def ingredients(self) -> list[CharItem]:
48
- """
49
- Note:
50
- - Length must be `4`.
51
- """
47
+ def ingredients(self) -> tuple[CharItem, ...]:
52
48
  return self._ingredients
53
49
 
54
- @ingredients.setter
55
- def ingredients(self, ingredients: list[CharItem]) -> None:
56
- """
57
- Note:
58
- - Length must be `4`.
59
- """
60
- self._ingredients = ingredients
61
-
62
50
  @staticmethod
63
51
  def serialize(writer: EoWriter, data: "ShopCraftItem") -> None:
64
52
  """
@@ -68,15 +56,19 @@ class ShopCraftItem:
68
56
  writer (EoWriter): The writer that the data will be serialized to.
69
57
  data (ShopCraftItem): The data to serialize.
70
58
  """
71
- if data._item_id is None:
72
- raise SerializationError("item_id must be provided.")
73
- writer.add_short(data._item_id)
74
- if data._ingredients is None:
75
- raise SerializationError("ingredients must be provided.")
76
- if len(data._ingredients) != 4:
77
- raise SerializationError(f"Expected length of ingredients to be exactly 4, got {len(data._ingredients)}.")
78
- for i in range(4):
79
- CharItem.serialize(writer, data._ingredients[i])
59
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
60
+ try:
61
+ if data._item_id is None:
62
+ raise SerializationError("item_id must be provided.")
63
+ writer.add_short(data._item_id)
64
+ if data._ingredients is None:
65
+ raise SerializationError("ingredients must be provided.")
66
+ if len(data._ingredients) != 4:
67
+ raise SerializationError(f"Expected length of ingredients to be exactly 4, got {len(data._ingredients)}.")
68
+ for i in range(4):
69
+ CharItem.serialize(writer, data._ingredients[i])
70
+ finally:
71
+ writer.string_sanitization_mode = old_string_sanitization_mode
80
72
 
81
73
  @staticmethod
82
74
  def deserialize(reader: EoReader) -> "ShopCraftItem":
@@ -89,16 +81,16 @@ class ShopCraftItem:
89
81
  Returns:
90
82
  ShopCraftItem: The data to serialize.
91
83
  """
92
- data: ShopCraftItem = ShopCraftItem()
93
84
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
94
85
  try:
95
86
  reader_start_position: int = reader.position
96
- data._item_id = reader.get_short()
97
- data._ingredients = []
87
+ item_id = reader.get_short()
88
+ ingredients = []
98
89
  for i in range(4):
99
- data._ingredients.append(CharItem.deserialize(reader))
100
- data._byte_size = reader.position - reader_start_position
101
- return data
90
+ ingredients.append(CharItem.deserialize(reader))
91
+ result = ShopCraftItem(item_id=item_id, ingredients=ingredients)
92
+ result._byte_size = reader.position - reader_start_position
93
+ return result
102
94
  finally:
103
95
  reader.chunked_reading_mode = old_chunked_reading_mode
104
96
 
@@ -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 ..weight import Weight
8
9
  from ..packet_family import PacketFamily
9
10
  from ..packet_action import PacketAction
@@ -18,9 +19,22 @@ class ShopCreateServerPacket(Packet):
18
19
  Response to crafting an item from a shop
19
20
  """
20
21
  _byte_size: int = 0
21
- _craft_item_id: int = None # type: ignore [assignment]
22
- _weight: Weight = None # type: ignore [assignment]
23
- _ingredients: list[Item] = None # type: ignore [assignment]
22
+ _craft_item_id: int
23
+ _weight: Weight
24
+ _ingredients: tuple[Item, ...]
25
+
26
+ def __init__(self, *, craft_item_id: int, weight: Weight, ingredients: Iterable[Item]):
27
+ """
28
+ Create a new instance of ShopCreateServerPacket.
29
+
30
+ Args:
31
+ craft_item_id (int): (Value range is 0-64008.)
32
+ weight (Weight):
33
+ ingredients (Iterable[Item]): (Length must be `4`.)
34
+ """
35
+ self._craft_item_id = craft_item_id
36
+ self._weight = weight
37
+ self._ingredients = tuple(ingredients)
24
38
 
25
39
  @property
26
40
  def byte_size(self) -> int:
@@ -34,44 +48,16 @@ class ShopCreateServerPacket(Packet):
34
48
 
35
49
  @property
36
50
  def craft_item_id(self) -> int:
37
- """
38
- Note:
39
- - Value range is 0-64008.
40
- """
41
51
  return self._craft_item_id
42
52
 
43
- @craft_item_id.setter
44
- def craft_item_id(self, craft_item_id: int) -> None:
45
- """
46
- Note:
47
- - Value range is 0-64008.
48
- """
49
- self._craft_item_id = craft_item_id
50
-
51
53
  @property
52
54
  def weight(self) -> Weight:
53
55
  return self._weight
54
56
 
55
- @weight.setter
56
- def weight(self, weight: Weight) -> None:
57
- self._weight = weight
58
-
59
57
  @property
60
- def ingredients(self) -> list[Item]:
61
- """
62
- Note:
63
- - Length must be `4`.
64
- """
58
+ def ingredients(self) -> tuple[Item, ...]:
65
59
  return self._ingredients
66
60
 
67
- @ingredients.setter
68
- def ingredients(self, ingredients: list[Item]) -> None:
69
- """
70
- Note:
71
- - Length must be `4`.
72
- """
73
- self._ingredients = ingredients
74
-
75
61
  @staticmethod
76
62
  def family() -> PacketFamily:
77
63
  """
@@ -110,18 +96,22 @@ class ShopCreateServerPacket(Packet):
110
96
  writer (EoWriter): The writer that the data will be serialized to.
111
97
  data (ShopCreateServerPacket): The data to serialize.
112
98
  """
113
- if data._craft_item_id is None:
114
- raise SerializationError("craft_item_id must be provided.")
115
- writer.add_short(data._craft_item_id)
116
- if data._weight is None:
117
- raise SerializationError("weight must be provided.")
118
- Weight.serialize(writer, data._weight)
119
- if data._ingredients is None:
120
- raise SerializationError("ingredients must be provided.")
121
- if len(data._ingredients) != 4:
122
- raise SerializationError(f"Expected length of ingredients to be exactly 4, got {len(data._ingredients)}.")
123
- for i in range(4):
124
- Item.serialize(writer, data._ingredients[i])
99
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
100
+ try:
101
+ if data._craft_item_id is None:
102
+ raise SerializationError("craft_item_id must be provided.")
103
+ writer.add_short(data._craft_item_id)
104
+ if data._weight is None:
105
+ raise SerializationError("weight must be provided.")
106
+ Weight.serialize(writer, data._weight)
107
+ if data._ingredients is None:
108
+ raise SerializationError("ingredients must be provided.")
109
+ if len(data._ingredients) != 4:
110
+ raise SerializationError(f"Expected length of ingredients to be exactly 4, got {len(data._ingredients)}.")
111
+ for i in range(4):
112
+ Item.serialize(writer, data._ingredients[i])
113
+ finally:
114
+ writer.string_sanitization_mode = old_string_sanitization_mode
125
115
 
126
116
  @staticmethod
127
117
  def deserialize(reader: EoReader) -> "ShopCreateServerPacket":
@@ -134,17 +124,17 @@ class ShopCreateServerPacket(Packet):
134
124
  Returns:
135
125
  ShopCreateServerPacket: The data to serialize.
136
126
  """
137
- data: ShopCreateServerPacket = ShopCreateServerPacket()
138
127
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
139
128
  try:
140
129
  reader_start_position: int = reader.position
141
- data._craft_item_id = reader.get_short()
142
- data._weight = Weight.deserialize(reader)
143
- data._ingredients = []
130
+ craft_item_id = reader.get_short()
131
+ weight = Weight.deserialize(reader)
132
+ ingredients = []
144
133
  for i in range(4):
145
- data._ingredients.append(Item.deserialize(reader))
146
- data._byte_size = reader.position - reader_start_position
147
- return data
134
+ ingredients.append(Item.deserialize(reader))
135
+ result = ShopCreateServerPacket(craft_item_id=craft_item_id, weight=weight, ingredients=ingredients)
136
+ result._byte_size = reader.position - reader_start_position
137
+ return result
148
138
  finally:
149
139
  reader.chunked_reading_mode = old_chunked_reading_mode
150
140
 
@@ -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_item import ShopTradeItem
8
9
  from .shop_craft_item import ShopCraftItem
9
10
  from ..packet_family import PacketFamily
@@ -18,10 +19,25 @@ class ShopOpenServerPacket(Packet):
18
19
  Response from talking to a shop NPC
19
20
  """
20
21
  _byte_size: int = 0
21
- _session_id: int = None # type: ignore [assignment]
22
- _shop_name: str = None # type: ignore [assignment]
23
- _trade_items: list[ShopTradeItem] = None # type: ignore [assignment]
24
- _craft_items: list[ShopCraftItem] = None # type: ignore [assignment]
22
+ _session_id: int
23
+ _shop_name: str
24
+ _trade_items: tuple[ShopTradeItem, ...]
25
+ _craft_items: tuple[ShopCraftItem, ...]
26
+
27
+ def __init__(self, *, session_id: int, shop_name: str, trade_items: Iterable[ShopTradeItem], craft_items: Iterable[ShopCraftItem]):
28
+ """
29
+ Create a new instance of ShopOpenServerPacket.
30
+
31
+ Args:
32
+ session_id (int): (Value range is 0-64008.)
33
+ shop_name (str):
34
+ trade_items (Iterable[ShopTradeItem]):
35
+ craft_items (Iterable[ShopCraftItem]):
36
+ """
37
+ self._session_id = session_id
38
+ self._shop_name = shop_name
39
+ self._trade_items = tuple(trade_items)
40
+ self._craft_items = tuple(craft_items)
25
41
 
26
42
  @property
27
43
  def byte_size(self) -> int:
@@ -35,44 +51,20 @@ class ShopOpenServerPacket(Packet):
35
51
 
36
52
  @property
37
53
  def session_id(self) -> int:
38
- """
39
- Note:
40
- - Value range is 0-64008.
41
- """
42
54
  return self._session_id
43
55
 
44
- @session_id.setter
45
- def session_id(self, session_id: int) -> None:
46
- """
47
- Note:
48
- - Value range is 0-64008.
49
- """
50
- self._session_id = session_id
51
-
52
56
  @property
53
57
  def shop_name(self) -> str:
54
58
  return self._shop_name
55
59
 
56
- @shop_name.setter
57
- def shop_name(self, shop_name: str) -> None:
58
- self._shop_name = shop_name
59
-
60
60
  @property
61
- def trade_items(self) -> list[ShopTradeItem]:
61
+ def trade_items(self) -> tuple[ShopTradeItem, ...]:
62
62
  return self._trade_items
63
63
 
64
- @trade_items.setter
65
- def trade_items(self, trade_items: list[ShopTradeItem]) -> None:
66
- self._trade_items = trade_items
67
-
68
64
  @property
69
- def craft_items(self) -> list[ShopCraftItem]:
65
+ def craft_items(self) -> tuple[ShopCraftItem, ...]:
70
66
  return self._craft_items
71
67
 
72
- @craft_items.setter
73
- def craft_items(self, craft_items: list[ShopCraftItem]) -> None:
74
- self._craft_items = craft_items
75
-
76
68
  @staticmethod
77
69
  def family() -> PacketFamily:
78
70
  """
@@ -111,23 +103,28 @@ class ShopOpenServerPacket(Packet):
111
103
  writer (EoWriter): The writer that the data will be serialized to.
112
104
  data (ShopOpenServerPacket): The data to serialize.
113
105
  """
114
- if data._session_id is None:
115
- raise SerializationError("session_id must be provided.")
116
- writer.add_short(data._session_id)
117
- if data._shop_name is None:
118
- raise SerializationError("shop_name must be provided.")
119
- writer.add_string(data._shop_name)
120
- writer.add_byte(0xFF)
121
- if data._trade_items is None:
122
- raise SerializationError("trade_items must be provided.")
123
- for i in range(len(data._trade_items)):
124
- ShopTradeItem.serialize(writer, data._trade_items[i])
125
- writer.add_byte(0xFF)
126
- if data._craft_items is None:
127
- raise SerializationError("craft_items must be provided.")
128
- for i in range(len(data._craft_items)):
129
- ShopCraftItem.serialize(writer, data._craft_items[i])
130
- writer.add_byte(0xFF)
106
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
107
+ try:
108
+ writer.string_sanitization_mode = True
109
+ if data._session_id is None:
110
+ raise SerializationError("session_id must be provided.")
111
+ writer.add_short(data._session_id)
112
+ if data._shop_name is None:
113
+ raise SerializationError("shop_name must be provided.")
114
+ writer.add_string(data._shop_name)
115
+ writer.add_byte(0xFF)
116
+ if data._trade_items is None:
117
+ raise SerializationError("trade_items must be provided.")
118
+ for i in range(len(data._trade_items)):
119
+ ShopTradeItem.serialize(writer, data._trade_items[i])
120
+ writer.add_byte(0xFF)
121
+ if data._craft_items is None:
122
+ raise SerializationError("craft_items must be provided.")
123
+ for i in range(len(data._craft_items)):
124
+ ShopCraftItem.serialize(writer, data._craft_items[i])
125
+ writer.string_sanitization_mode = False
126
+ finally:
127
+ writer.string_sanitization_mode = old_string_sanitization_mode
131
128
 
132
129
  @staticmethod
133
130
  def deserialize(reader: EoReader) -> "ShopOpenServerPacket":
@@ -140,27 +137,26 @@ class ShopOpenServerPacket(Packet):
140
137
  Returns:
141
138
  ShopOpenServerPacket: The data to serialize.
142
139
  """
143
- data: ShopOpenServerPacket = ShopOpenServerPacket()
144
140
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
145
141
  try:
146
142
  reader_start_position: int = reader.position
147
143
  reader.chunked_reading_mode = True
148
- data._session_id = reader.get_short()
149
- data._shop_name = reader.get_string()
144
+ session_id = reader.get_short()
145
+ shop_name = reader.get_string()
150
146
  reader.next_chunk()
151
147
  trade_items_length = int(reader.remaining / 9)
152
- data._trade_items = []
148
+ trade_items = []
153
149
  for i in range(trade_items_length):
154
- data._trade_items.append(ShopTradeItem.deserialize(reader))
150
+ trade_items.append(ShopTradeItem.deserialize(reader))
155
151
  reader.next_chunk()
156
152
  craft_items_length = int(reader.remaining / 14)
157
- data._craft_items = []
153
+ craft_items = []
158
154
  for i in range(craft_items_length):
159
- data._craft_items.append(ShopCraftItem.deserialize(reader))
160
- reader.next_chunk()
155
+ craft_items.append(ShopCraftItem.deserialize(reader))
161
156
  reader.chunked_reading_mode = False
162
- data._byte_size = reader.position - reader_start_position
163
- return data
157
+ result = ShopOpenServerPacket(session_id=session_id, shop_name=shop_name, trade_items=trade_items, craft_items=craft_items)
158
+ result._byte_size = reader.position - reader_start_position
159
+ return result
164
160
  finally:
165
161
  reader.chunked_reading_mode = old_chunked_reading_mode
166
162
 
@@ -17,9 +17,22 @@ class ShopSellServerPacket(Packet):
17
17
  Response to selling an item to a shop
18
18
  """
19
19
  _byte_size: int = 0
20
- _sold_item: ShopSoldItem = None # type: ignore [assignment]
21
- _gold_amount: int = None # type: ignore [assignment]
22
- _weight: Weight = None # type: ignore [assignment]
20
+ _sold_item: ShopSoldItem
21
+ _gold_amount: int
22
+ _weight: Weight
23
+
24
+ def __init__(self, *, sold_item: ShopSoldItem, gold_amount: int, weight: Weight):
25
+ """
26
+ Create a new instance of ShopSellServerPacket.
27
+
28
+ Args:
29
+ sold_item (ShopSoldItem):
30
+ gold_amount (int): (Value range is 0-4097152080.)
31
+ weight (Weight):
32
+ """
33
+ self._sold_item = sold_item
34
+ self._gold_amount = gold_amount
35
+ self._weight = weight
23
36
 
24
37
  @property
25
38
  def byte_size(self) -> int:
@@ -35,34 +48,14 @@ class ShopSellServerPacket(Packet):
35
48
  def sold_item(self) -> ShopSoldItem:
36
49
  return self._sold_item
37
50
 
38
- @sold_item.setter
39
- def sold_item(self, sold_item: ShopSoldItem) -> None:
40
- self._sold_item = sold_item
41
-
42
51
  @property
43
52
  def gold_amount(self) -> int:
44
- """
45
- Note:
46
- - Value range is 0-4097152080.
47
- """
48
53
  return self._gold_amount
49
54
 
50
- @gold_amount.setter
51
- def gold_amount(self, gold_amount: int) -> None:
52
- """
53
- Note:
54
- - Value range is 0-4097152080.
55
- """
56
- self._gold_amount = gold_amount
57
-
58
55
  @property
59
56
  def weight(self) -> Weight:
60
57
  return self._weight
61
58
 
62
- @weight.setter
63
- def weight(self, weight: Weight) -> None:
64
- self._weight = weight
65
-
66
59
  @staticmethod
67
60
  def family() -> PacketFamily:
68
61
  """
@@ -101,15 +94,19 @@ class ShopSellServerPacket(Packet):
101
94
  writer (EoWriter): The writer that the data will be serialized to.
102
95
  data (ShopSellServerPacket): The data to serialize.
103
96
  """
104
- if data._sold_item is None:
105
- raise SerializationError("sold_item must be provided.")
106
- ShopSoldItem.serialize(writer, data._sold_item)
107
- if data._gold_amount is None:
108
- raise SerializationError("gold_amount must be provided.")
109
- writer.add_int(data._gold_amount)
110
- if data._weight is None:
111
- raise SerializationError("weight must be provided.")
112
- Weight.serialize(writer, data._weight)
97
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
98
+ try:
99
+ if data._sold_item is None:
100
+ raise SerializationError("sold_item must be provided.")
101
+ ShopSoldItem.serialize(writer, data._sold_item)
102
+ if data._gold_amount is None:
103
+ raise SerializationError("gold_amount must be provided.")
104
+ writer.add_int(data._gold_amount)
105
+ if data._weight is None:
106
+ raise SerializationError("weight must be provided.")
107
+ Weight.serialize(writer, data._weight)
108
+ finally:
109
+ writer.string_sanitization_mode = old_string_sanitization_mode
113
110
 
114
111
  @staticmethod
115
112
  def deserialize(reader: EoReader) -> "ShopSellServerPacket":
@@ -122,15 +119,15 @@ class ShopSellServerPacket(Packet):
122
119
  Returns:
123
120
  ShopSellServerPacket: The data to serialize.
124
121
  """
125
- data: ShopSellServerPacket = ShopSellServerPacket()
126
122
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
127
123
  try:
128
124
  reader_start_position: int = reader.position
129
- data._sold_item = ShopSoldItem.deserialize(reader)
130
- data._gold_amount = reader.get_int()
131
- data._weight = Weight.deserialize(reader)
132
- data._byte_size = reader.position - reader_start_position
133
- return data
125
+ sold_item = ShopSoldItem.deserialize(reader)
126
+ gold_amount = reader.get_int()
127
+ weight = Weight.deserialize(reader)
128
+ result = ShopSellServerPacket(sold_item=sold_item, gold_amount=gold_amount, weight=weight)
129
+ result._byte_size = reader.position - reader_start_position
130
+ return result
134
131
  finally:
135
132
  reader.chunked_reading_mode = old_chunked_reading_mode
136
133
 
@@ -12,8 +12,19 @@ class ShopSoldItem:
12
12
  A sold item when selling an item to a shop
13
13
  """
14
14
  _byte_size: int = 0
15
- _amount: int = None # type: ignore [assignment]
16
- _id: int = None # type: ignore [assignment]
15
+ _amount: int
16
+ _id: int
17
+
18
+ def __init__(self, *, amount: int, id: int):
19
+ """
20
+ Create a new instance of ShopSoldItem.
21
+
22
+ Args:
23
+ amount (int): (Value range is 0-4097152080.)
24
+ id (int): (Value range is 0-64008.)
25
+ """
26
+ self._amount = amount
27
+ self._id = id
17
28
 
18
29
  @property
19
30
  def byte_size(self) -> int:
@@ -27,36 +38,12 @@ class ShopSoldItem:
27
38
 
28
39
  @property
29
40
  def amount(self) -> int:
30
- """
31
- Note:
32
- - Value range is 0-4097152080.
33
- """
34
41
  return self._amount
35
42
 
36
- @amount.setter
37
- def amount(self, amount: int) -> None:
38
- """
39
- Note:
40
- - Value range is 0-4097152080.
41
- """
42
- self._amount = amount
43
-
44
43
  @property
45
44
  def id(self) -> int:
46
- """
47
- Note:
48
- - Value range is 0-64008.
49
- """
50
45
  return self._id
51
46
 
52
- @id.setter
53
- def id(self, id: int) -> None:
54
- """
55
- Note:
56
- - Value range is 0-64008.
57
- """
58
- self._id = id
59
-
60
47
  @staticmethod
61
48
  def serialize(writer: EoWriter, data: "ShopSoldItem") -> None:
62
49
  """
@@ -66,12 +53,16 @@ class ShopSoldItem:
66
53
  writer (EoWriter): The writer that the data will be serialized to.
67
54
  data (ShopSoldItem): The data to serialize.
68
55
  """
69
- if data._amount is None:
70
- raise SerializationError("amount must be provided.")
71
- writer.add_int(data._amount)
72
- if data._id is None:
73
- raise SerializationError("id must be provided.")
74
- writer.add_short(data._id)
56
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
57
+ try:
58
+ if data._amount is None:
59
+ raise SerializationError("amount must be provided.")
60
+ writer.add_int(data._amount)
61
+ if data._id is None:
62
+ raise SerializationError("id must be provided.")
63
+ writer.add_short(data._id)
64
+ finally:
65
+ writer.string_sanitization_mode = old_string_sanitization_mode
75
66
 
76
67
  @staticmethod
77
68
  def deserialize(reader: EoReader) -> "ShopSoldItem":
@@ -84,14 +75,14 @@ class ShopSoldItem:
84
75
  Returns:
85
76
  ShopSoldItem: The data to serialize.
86
77
  """
87
- data: ShopSoldItem = ShopSoldItem()
88
78
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
89
79
  try:
90
80
  reader_start_position: int = reader.position
91
- data._amount = reader.get_int()
92
- data._id = reader.get_short()
93
- data._byte_size = reader.position - reader_start_position
94
- return data
81
+ amount = reader.get_int()
82
+ id = reader.get_short()
83
+ result = ShopSoldItem(amount=amount, id=id)
84
+ result._byte_size = reader.position - reader_start_position
85
+ return result
95
86
  finally:
96
87
  reader.chunked_reading_mode = old_chunked_reading_mode
97
88