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
@@ -5,6 +5,7 @@
5
5
 
6
6
  from __future__ import annotations
7
7
  from typing import Union
8
+ from collections.abc import Iterable
8
9
  from .quest_progress_entry import QuestProgressEntry
9
10
  from ..quest_page import QuestPage
10
11
  from ..packet_family import PacketFamily
@@ -19,9 +20,22 @@ class QuestListServerPacket(Packet):
19
20
  Quest history / progress reply
20
21
  """
21
22
  _byte_size: int = 0
22
- _page: QuestPage = None # type: ignore [assignment]
23
- _quests_count: int = None # type: ignore [assignment]
24
- _page_data: 'QuestListServerPacket.PageData' = None
23
+ _page: QuestPage
24
+ _quests_count: int
25
+ _page_data: 'QuestListServerPacket.PageData'
26
+
27
+ def __init__(self, *, page: QuestPage, quests_count: int, page_data: 'QuestListServerPacket.PageData' = None):
28
+ """
29
+ Create a new instance of QuestListServerPacket.
30
+
31
+ Args:
32
+ page (QuestPage):
33
+ quests_count (int): (Value range is 0-64008.)
34
+ page_data (QuestListServerPacket.PageData): Data associated with the `page` field.
35
+ """
36
+ self._page = page
37
+ self._quests_count = quests_count
38
+ self._page_data = page_data
25
39
 
26
40
  @property
27
41
  def byte_size(self) -> int:
@@ -37,37 +51,17 @@ class QuestListServerPacket(Packet):
37
51
  def page(self) -> QuestPage:
38
52
  return self._page
39
53
 
40
- @page.setter
41
- def page(self, page: QuestPage) -> None:
42
- self._page = page
43
-
44
54
  @property
45
55
  def quests_count(self) -> int:
46
- """
47
- Note:
48
- - Value range is 0-64008.
49
- """
50
56
  return self._quests_count
51
57
 
52
- @quests_count.setter
53
- def quests_count(self, quests_count: int) -> None:
54
- """
55
- Note:
56
- - Value range is 0-64008.
57
- """
58
- self._quests_count = quests_count
59
-
60
58
  @property
61
59
  def page_data(self) -> 'QuestListServerPacket.PageData':
62
60
  """
63
- QuestListServerPacket.PageData: Gets or sets the data associated with the `page` field.
61
+ QuestListServerPacket.PageData: Data associated with the `page` field.
64
62
  """
65
63
  return self._page_data
66
64
 
67
- @page_data.setter
68
- def page_data(self, page_data: 'QuestListServerPacket.PageData') -> None:
69
- self._page_data = page_data
70
-
71
65
  @staticmethod
72
66
  def family() -> PacketFamily:
73
67
  """
@@ -106,20 +100,26 @@ class QuestListServerPacket(Packet):
106
100
  writer (EoWriter): The writer that the data will be serialized to.
107
101
  data (QuestListServerPacket): The data to serialize.
108
102
  """
109
- if data._page is None:
110
- raise SerializationError("page must be provided.")
111
- writer.add_char(int(data._page))
112
- if data._quests_count is None:
113
- raise SerializationError("quests_count must be provided.")
114
- writer.add_short(data._quests_count)
115
- if data._page == QuestPage.Progress:
116
- if not isinstance(data._page_data, QuestListServerPacket.PageDataProgress):
117
- raise SerializationError("Expected page_data to be type QuestListServerPacket.PageDataProgress for page " + QuestPage(data._page).name + ".")
118
- QuestListServerPacket.PageDataProgress.serialize(writer, data._page_data)
119
- elif data._page == QuestPage.History:
120
- if not isinstance(data._page_data, QuestListServerPacket.PageDataHistory):
121
- raise SerializationError("Expected page_data to be type QuestListServerPacket.PageDataHistory for page " + QuestPage(data._page).name + ".")
122
- QuestListServerPacket.PageDataHistory.serialize(writer, data._page_data)
103
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
104
+ try:
105
+ writer.string_sanitization_mode = True
106
+ if data._page is None:
107
+ raise SerializationError("page must be provided.")
108
+ writer.add_char(int(data._page))
109
+ if data._quests_count is None:
110
+ raise SerializationError("quests_count must be provided.")
111
+ writer.add_short(data._quests_count)
112
+ if data._page == QuestPage.Progress:
113
+ if not isinstance(data._page_data, QuestListServerPacket.PageDataProgress):
114
+ raise SerializationError("Expected page_data to be type QuestListServerPacket.PageDataProgress for page " + QuestPage(data._page).name + ".")
115
+ QuestListServerPacket.PageDataProgress.serialize(writer, data._page_data)
116
+ elif data._page == QuestPage.History:
117
+ if not isinstance(data._page_data, QuestListServerPacket.PageDataHistory):
118
+ raise SerializationError("Expected page_data to be type QuestListServerPacket.PageDataHistory for page " + QuestPage(data._page).name + ".")
119
+ QuestListServerPacket.PageDataHistory.serialize(writer, data._page_data)
120
+ writer.string_sanitization_mode = False
121
+ finally:
122
+ writer.string_sanitization_mode = old_string_sanitization_mode
123
123
 
124
124
  @staticmethod
125
125
  def deserialize(reader: EoReader) -> "QuestListServerPacket":
@@ -132,20 +132,21 @@ class QuestListServerPacket(Packet):
132
132
  Returns:
133
133
  QuestListServerPacket: The data to serialize.
134
134
  """
135
- data: QuestListServerPacket = QuestListServerPacket()
136
135
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
137
136
  try:
138
137
  reader_start_position: int = reader.position
139
138
  reader.chunked_reading_mode = True
140
- data._page = QuestPage(reader.get_char())
141
- data._quests_count = reader.get_short()
142
- if data._page == QuestPage.Progress:
143
- data._page_data = QuestListServerPacket.PageDataProgress.deserialize(reader)
144
- elif data._page == QuestPage.History:
145
- data._page_data = QuestListServerPacket.PageDataHistory.deserialize(reader)
139
+ page = QuestPage(reader.get_char())
140
+ quests_count = reader.get_short()
141
+ page_data: QuestListServerPacket.PageData = None
142
+ if page == QuestPage.Progress:
143
+ page_data = QuestListServerPacket.PageDataProgress.deserialize(reader)
144
+ elif page == QuestPage.History:
145
+ page_data = QuestListServerPacket.PageDataHistory.deserialize(reader)
146
146
  reader.chunked_reading_mode = False
147
- data._byte_size = reader.position - reader_start_position
148
- return data
147
+ result = QuestListServerPacket(page=page, quests_count=quests_count, page_data=page_data)
148
+ result._byte_size = reader.position - reader_start_position
149
+ return result
149
150
  finally:
150
151
  reader.chunked_reading_mode = old_chunked_reading_mode
151
152
 
@@ -153,17 +154,25 @@ class QuestListServerPacket(Packet):
153
154
  return f"QuestListServerPacket(byte_size={repr(self._byte_size)}, page={repr(self._page)}, quests_count={repr(self._quests_count)}, page_data={repr(self._page_data)})"
154
155
 
155
156
  PageData = Union['QuestListServerPacket.PageDataProgress', 'QuestListServerPacket.PageDataHistory', None]
156
- PageData.__doc__ = \
157
- """
158
- Data associated with different values of the `page` field.
159
- """
157
+ """
158
+ Data associated with different values of the `page` field.
159
+ """
160
160
 
161
161
  class PageDataProgress:
162
162
  """
163
163
  Data associated with page value QuestPage.Progress
164
164
  """
165
165
  _byte_size: int = 0
166
- _quest_progress_entries: list[QuestProgressEntry] = None # type: ignore [assignment]
166
+ _quest_progress_entries: tuple[QuestProgressEntry, ...]
167
+
168
+ def __init__(self, *, quest_progress_entries: Iterable[QuestProgressEntry]):
169
+ """
170
+ Create a new instance of QuestListServerPacket.PageDataProgress.
171
+
172
+ Args:
173
+ quest_progress_entries (Iterable[QuestProgressEntry]):
174
+ """
175
+ self._quest_progress_entries = tuple(quest_progress_entries)
167
176
 
168
177
  @property
169
178
  def byte_size(self) -> int:
@@ -176,13 +185,9 @@ class QuestListServerPacket(Packet):
176
185
  return self._byte_size
177
186
 
178
187
  @property
179
- def quest_progress_entries(self) -> list[QuestProgressEntry]:
188
+ def quest_progress_entries(self) -> tuple[QuestProgressEntry, ...]:
180
189
  return self._quest_progress_entries
181
190
 
182
- @quest_progress_entries.setter
183
- def quest_progress_entries(self, quest_progress_entries: list[QuestProgressEntry]) -> None:
184
- self._quest_progress_entries = quest_progress_entries
185
-
186
191
  @staticmethod
187
192
  def serialize(writer: EoWriter, data: "QuestListServerPacket.PageDataProgress") -> None:
188
193
  """
@@ -192,12 +197,15 @@ class QuestListServerPacket(Packet):
192
197
  writer (EoWriter): The writer that the data will be serialized to.
193
198
  data (QuestListServerPacket.PageDataProgress): The data to serialize.
194
199
  """
195
- if data._quest_progress_entries is None:
196
- raise SerializationError("quest_progress_entries must be provided.")
197
- for i in range(len(data._quest_progress_entries)):
198
- if i > 0:
200
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
201
+ try:
202
+ if data._quest_progress_entries is None:
203
+ raise SerializationError("quest_progress_entries must be provided.")
204
+ for i in range(len(data._quest_progress_entries)):
205
+ QuestProgressEntry.serialize(writer, data._quest_progress_entries[i])
199
206
  writer.add_byte(0xFF)
200
- QuestProgressEntry.serialize(writer, data._quest_progress_entries[i])
207
+ finally:
208
+ writer.string_sanitization_mode = old_string_sanitization_mode
201
209
 
202
210
  @staticmethod
203
211
  def deserialize(reader: EoReader) -> "QuestListServerPacket.PageDataProgress":
@@ -210,16 +218,16 @@ class QuestListServerPacket(Packet):
210
218
  Returns:
211
219
  QuestListServerPacket.PageDataProgress: The data to serialize.
212
220
  """
213
- data: QuestListServerPacket.PageDataProgress = QuestListServerPacket.PageDataProgress()
214
221
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
215
222
  try:
216
223
  reader_start_position: int = reader.position
217
- data._quest_progress_entries = []
224
+ quest_progress_entries = []
218
225
  while reader.remaining > 0:
219
- data._quest_progress_entries.append(QuestProgressEntry.deserialize(reader))
226
+ quest_progress_entries.append(QuestProgressEntry.deserialize(reader))
220
227
  reader.next_chunk()
221
- data._byte_size = reader.position - reader_start_position
222
- return data
228
+ result = QuestListServerPacket.PageDataProgress(quest_progress_entries=quest_progress_entries)
229
+ result._byte_size = reader.position - reader_start_position
230
+ return result
223
231
  finally:
224
232
  reader.chunked_reading_mode = old_chunked_reading_mode
225
233
 
@@ -231,7 +239,16 @@ class QuestListServerPacket(Packet):
231
239
  Data associated with page value QuestPage.History
232
240
  """
233
241
  _byte_size: int = 0
234
- _completed_quests: list[str] = None # type: ignore [assignment]
242
+ _completed_quests: tuple[str, ...]
243
+
244
+ def __init__(self, *, completed_quests: Iterable[str]):
245
+ """
246
+ Create a new instance of QuestListServerPacket.PageDataHistory.
247
+
248
+ Args:
249
+ completed_quests (Iterable[str]):
250
+ """
251
+ self._completed_quests = tuple(completed_quests)
235
252
 
236
253
  @property
237
254
  def byte_size(self) -> int:
@@ -244,13 +261,9 @@ class QuestListServerPacket(Packet):
244
261
  return self._byte_size
245
262
 
246
263
  @property
247
- def completed_quests(self) -> list[str]:
264
+ def completed_quests(self) -> tuple[str, ...]:
248
265
  return self._completed_quests
249
266
 
250
- @completed_quests.setter
251
- def completed_quests(self, completed_quests: list[str]) -> None:
252
- self._completed_quests = completed_quests
253
-
254
267
  @staticmethod
255
268
  def serialize(writer: EoWriter, data: "QuestListServerPacket.PageDataHistory") -> None:
256
269
  """
@@ -260,12 +273,15 @@ class QuestListServerPacket(Packet):
260
273
  writer (EoWriter): The writer that the data will be serialized to.
261
274
  data (QuestListServerPacket.PageDataHistory): The data to serialize.
262
275
  """
263
- if data._completed_quests is None:
264
- raise SerializationError("completed_quests must be provided.")
265
- for i in range(len(data._completed_quests)):
266
- if i > 0:
276
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
277
+ try:
278
+ if data._completed_quests is None:
279
+ raise SerializationError("completed_quests must be provided.")
280
+ for i in range(len(data._completed_quests)):
281
+ writer.add_string(data._completed_quests[i])
267
282
  writer.add_byte(0xFF)
268
- writer.add_string(data._completed_quests[i])
283
+ finally:
284
+ writer.string_sanitization_mode = old_string_sanitization_mode
269
285
 
270
286
  @staticmethod
271
287
  def deserialize(reader: EoReader) -> "QuestListServerPacket.PageDataHistory":
@@ -278,16 +294,16 @@ class QuestListServerPacket(Packet):
278
294
  Returns:
279
295
  QuestListServerPacket.PageDataHistory: The data to serialize.
280
296
  """
281
- data: QuestListServerPacket.PageDataHistory = QuestListServerPacket.PageDataHistory()
282
297
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
283
298
  try:
284
299
  reader_start_position: int = reader.position
285
- data._completed_quests = []
300
+ completed_quests = []
286
301
  while reader.remaining > 0:
287
- data._completed_quests.append(reader.get_string())
302
+ completed_quests.append(reader.get_string())
288
303
  reader.next_chunk()
289
- data._byte_size = reader.position - reader_start_position
290
- return data
304
+ result = QuestListServerPacket.PageDataHistory(completed_quests=completed_quests)
305
+ result._byte_size = reader.position - reader_start_position
306
+ return result
291
307
  finally:
292
308
  reader.chunked_reading_mode = old_chunked_reading_mode
293
309
 
@@ -13,11 +13,28 @@ class QuestProgressEntry:
13
13
  An entry in the Quest Progress window
14
14
  """
15
15
  _byte_size: int = 0
16
- _name: str = None # type: ignore [assignment]
17
- _description: str = None # type: ignore [assignment]
18
- _icon: QuestRequirementIcon = None # type: ignore [assignment]
19
- _progress: int = None # type: ignore [assignment]
20
- _target: int = None # type: ignore [assignment]
16
+ _name: str
17
+ _description: str
18
+ _icon: QuestRequirementIcon
19
+ _progress: int
20
+ _target: int
21
+
22
+ def __init__(self, *, name: str, description: str, icon: QuestRequirementIcon, progress: int, target: int):
23
+ """
24
+ Create a new instance of QuestProgressEntry.
25
+
26
+ Args:
27
+ name (str):
28
+ description (str):
29
+ icon (QuestRequirementIcon):
30
+ progress (int): (Value range is 0-64008.)
31
+ target (int): (Value range is 0-64008.)
32
+ """
33
+ self._name = name
34
+ self._description = description
35
+ self._icon = icon
36
+ self._progress = progress
37
+ self._target = target
21
38
 
22
39
  @property
23
40
  def byte_size(self) -> int:
@@ -33,58 +50,22 @@ class QuestProgressEntry:
33
50
  def name(self) -> str:
34
51
  return self._name
35
52
 
36
- @name.setter
37
- def name(self, name: str) -> None:
38
- self._name = name
39
-
40
53
  @property
41
54
  def description(self) -> str:
42
55
  return self._description
43
56
 
44
- @description.setter
45
- def description(self, description: str) -> None:
46
- self._description = description
47
-
48
57
  @property
49
58
  def icon(self) -> QuestRequirementIcon:
50
59
  return self._icon
51
60
 
52
- @icon.setter
53
- def icon(self, icon: QuestRequirementIcon) -> None:
54
- self._icon = icon
55
-
56
61
  @property
57
62
  def progress(self) -> int:
58
- """
59
- Note:
60
- - Value range is 0-64008.
61
- """
62
63
  return self._progress
63
64
 
64
- @progress.setter
65
- def progress(self, progress: int) -> None:
66
- """
67
- Note:
68
- - Value range is 0-64008.
69
- """
70
- self._progress = progress
71
-
72
65
  @property
73
66
  def target(self) -> int:
74
- """
75
- Note:
76
- - Value range is 0-64008.
77
- """
78
67
  return self._target
79
68
 
80
- @target.setter
81
- def target(self, target: int) -> None:
82
- """
83
- Note:
84
- - Value range is 0-64008.
85
- """
86
- self._target = target
87
-
88
69
  @staticmethod
89
70
  def serialize(writer: EoWriter, data: "QuestProgressEntry") -> None:
90
71
  """
@@ -94,23 +75,29 @@ class QuestProgressEntry:
94
75
  writer (EoWriter): The writer that the data will be serialized to.
95
76
  data (QuestProgressEntry): The data to serialize.
96
77
  """
97
- if data._name is None:
98
- raise SerializationError("name must be provided.")
99
- writer.add_string(data._name)
100
- writer.add_byte(0xFF)
101
- if data._description is None:
102
- raise SerializationError("description must be provided.")
103
- writer.add_string(data._description)
104
- writer.add_byte(0xFF)
105
- if data._icon is None:
106
- raise SerializationError("icon must be provided.")
107
- writer.add_short(int(data._icon))
108
- if data._progress is None:
109
- raise SerializationError("progress must be provided.")
110
- writer.add_short(data._progress)
111
- if data._target is None:
112
- raise SerializationError("target must be provided.")
113
- writer.add_short(data._target)
78
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
79
+ try:
80
+ writer.string_sanitization_mode = True
81
+ if data._name is None:
82
+ raise SerializationError("name must be provided.")
83
+ writer.add_string(data._name)
84
+ writer.add_byte(0xFF)
85
+ if data._description is None:
86
+ raise SerializationError("description must be provided.")
87
+ writer.add_string(data._description)
88
+ writer.add_byte(0xFF)
89
+ if data._icon is None:
90
+ raise SerializationError("icon must be provided.")
91
+ writer.add_short(int(data._icon))
92
+ if data._progress is None:
93
+ raise SerializationError("progress must be provided.")
94
+ writer.add_short(data._progress)
95
+ if data._target is None:
96
+ raise SerializationError("target must be provided.")
97
+ writer.add_short(data._target)
98
+ writer.string_sanitization_mode = False
99
+ finally:
100
+ writer.string_sanitization_mode = old_string_sanitization_mode
114
101
 
115
102
  @staticmethod
116
103
  def deserialize(reader: EoReader) -> "QuestProgressEntry":
@@ -123,21 +110,21 @@ class QuestProgressEntry:
123
110
  Returns:
124
111
  QuestProgressEntry: The data to serialize.
125
112
  """
126
- data: QuestProgressEntry = QuestProgressEntry()
127
113
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
128
114
  try:
129
115
  reader_start_position: int = reader.position
130
116
  reader.chunked_reading_mode = True
131
- data._name = reader.get_string()
117
+ name = reader.get_string()
132
118
  reader.next_chunk()
133
- data._description = reader.get_string()
119
+ description = reader.get_string()
134
120
  reader.next_chunk()
135
- data._icon = QuestRequirementIcon(reader.get_short())
136
- data._progress = reader.get_short()
137
- data._target = reader.get_short()
121
+ icon = QuestRequirementIcon(reader.get_short())
122
+ progress = reader.get_short()
123
+ target = reader.get_short()
138
124
  reader.chunked_reading_mode = False
139
- data._byte_size = reader.position - reader_start_position
140
- return data
125
+ result = QuestProgressEntry(name=name, description=description, icon=icon, progress=progress, target=target)
126
+ result._byte_size = reader.position - reader_start_position
127
+ return result
141
128
  finally:
142
129
  reader.chunked_reading_mode = old_chunked_reading_mode
143
130
 
@@ -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 ..packet_family import PacketFamily
8
9
  from ..packet_action import PacketAction
9
10
  from ....serialization_error import SerializationError
@@ -16,8 +17,19 @@ class QuestReportServerPacket(Packet):
16
17
  NPC chat messages
17
18
  """
18
19
  _byte_size: int = 0
19
- _npc_id: int = None # type: ignore [assignment]
20
- _messages: list[str] = None # type: ignore [assignment]
20
+ _npc_index: int
21
+ _messages: tuple[str, ...]
22
+
23
+ def __init__(self, *, npc_index: int, messages: Iterable[str]):
24
+ """
25
+ Create a new instance of QuestReportServerPacket.
26
+
27
+ Args:
28
+ npc_index (int): (Value range is 0-64008.)
29
+ messages (Iterable[str]):
30
+ """
31
+ self._npc_index = npc_index
32
+ self._messages = tuple(messages)
21
33
 
22
34
  @property
23
35
  def byte_size(self) -> int:
@@ -30,29 +42,13 @@ class QuestReportServerPacket(Packet):
30
42
  return self._byte_size
31
43
 
32
44
  @property
33
- def npc_id(self) -> int:
34
- """
35
- Note:
36
- - Value range is 0-64008.
37
- """
38
- return self._npc_id
39
-
40
- @npc_id.setter
41
- def npc_id(self, npc_id: int) -> None:
42
- """
43
- Note:
44
- - Value range is 0-64008.
45
- """
46
- self._npc_id = npc_id
45
+ def npc_index(self) -> int:
46
+ return self._npc_index
47
47
 
48
48
  @property
49
- def messages(self) -> list[str]:
49
+ def messages(self) -> tuple[str, ...]:
50
50
  return self._messages
51
51
 
52
- @messages.setter
53
- def messages(self, messages: list[str]) -> None:
54
- self._messages = messages
55
-
56
52
  @staticmethod
57
53
  def family() -> PacketFamily:
58
54
  """
@@ -91,16 +87,21 @@ class QuestReportServerPacket(Packet):
91
87
  writer (EoWriter): The writer that the data will be serialized to.
92
88
  data (QuestReportServerPacket): The data to serialize.
93
89
  """
94
- if data._npc_id is None:
95
- raise SerializationError("npc_id must be provided.")
96
- writer.add_short(data._npc_id)
97
- writer.add_byte(0xFF)
98
- if data._messages is None:
99
- raise SerializationError("messages must be provided.")
100
- for i in range(len(data._messages)):
101
- if i > 0:
90
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
91
+ try:
92
+ writer.string_sanitization_mode = True
93
+ if data._npc_index is None:
94
+ raise SerializationError("npc_index must be provided.")
95
+ writer.add_short(data._npc_index)
96
+ writer.add_byte(0xFF)
97
+ if data._messages is None:
98
+ raise SerializationError("messages must be provided.")
99
+ for i in range(len(data._messages)):
100
+ writer.add_string(data._messages[i])
102
101
  writer.add_byte(0xFF)
103
- writer.add_string(data._messages[i])
102
+ writer.string_sanitization_mode = False
103
+ finally:
104
+ writer.string_sanitization_mode = old_string_sanitization_mode
104
105
 
105
106
  @staticmethod
106
107
  def deserialize(reader: EoReader) -> "QuestReportServerPacket":
@@ -113,22 +114,22 @@ class QuestReportServerPacket(Packet):
113
114
  Returns:
114
115
  QuestReportServerPacket: The data to serialize.
115
116
  """
116
- data: QuestReportServerPacket = QuestReportServerPacket()
117
117
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
118
118
  try:
119
119
  reader_start_position: int = reader.position
120
120
  reader.chunked_reading_mode = True
121
- data._npc_id = reader.get_short()
121
+ npc_index = reader.get_short()
122
122
  reader.next_chunk()
123
- data._messages = []
123
+ messages = []
124
124
  while reader.remaining > 0:
125
- data._messages.append(reader.get_string())
125
+ messages.append(reader.get_string())
126
126
  reader.next_chunk()
127
127
  reader.chunked_reading_mode = False
128
- data._byte_size = reader.position - reader_start_position
129
- return data
128
+ result = QuestReportServerPacket(npc_index=npc_index, messages=messages)
129
+ result._byte_size = reader.position - reader_start_position
130
+ return result
130
131
  finally:
131
132
  reader.chunked_reading_mode = old_chunked_reading_mode
132
133
 
133
134
  def __repr__(self):
134
- return f"QuestReportServerPacket(byte_size={repr(self._byte_size)}, npc_id={repr(self._npc_id)}, messages={repr(self._messages)})"
135
+ return f"QuestReportServerPacket(byte_size={repr(self._byte_size)}, npc_index={repr(self._npc_index)}, messages={repr(self._messages)})"
@@ -16,7 +16,16 @@ class RangeReplyServerPacket(Packet):
16
16
  Reply to request for information about nearby players and NPCs
17
17
  """
18
18
  _byte_size: int = 0
19
- _nearby: NearbyInfo = None # type: ignore [assignment]
19
+ _nearby: NearbyInfo
20
+
21
+ def __init__(self, *, nearby: NearbyInfo):
22
+ """
23
+ Create a new instance of RangeReplyServerPacket.
24
+
25
+ Args:
26
+ nearby (NearbyInfo):
27
+ """
28
+ self._nearby = nearby
20
29
 
21
30
  @property
22
31
  def byte_size(self) -> int:
@@ -32,10 +41,6 @@ class RangeReplyServerPacket(Packet):
32
41
  def nearby(self) -> NearbyInfo:
33
42
  return self._nearby
34
43
 
35
- @nearby.setter
36
- def nearby(self, nearby: NearbyInfo) -> None:
37
- self._nearby = nearby
38
-
39
44
  @staticmethod
40
45
  def family() -> PacketFamily:
41
46
  """
@@ -74,9 +79,13 @@ class RangeReplyServerPacket(Packet):
74
79
  writer (EoWriter): The writer that the data will be serialized to.
75
80
  data (RangeReplyServerPacket): The data to serialize.
76
81
  """
77
- if data._nearby is None:
78
- raise SerializationError("nearby must be provided.")
79
- NearbyInfo.serialize(writer, data._nearby)
82
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
83
+ try:
84
+ if data._nearby is None:
85
+ raise SerializationError("nearby must be provided.")
86
+ NearbyInfo.serialize(writer, data._nearby)
87
+ finally:
88
+ writer.string_sanitization_mode = old_string_sanitization_mode
80
89
 
81
90
  @staticmethod
82
91
  def deserialize(reader: EoReader) -> "RangeReplyServerPacket":
@@ -89,13 +98,13 @@ class RangeReplyServerPacket(Packet):
89
98
  Returns:
90
99
  RangeReplyServerPacket: The data to serialize.
91
100
  """
92
- data: RangeReplyServerPacket = RangeReplyServerPacket()
93
101
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
94
102
  try:
95
103
  reader_start_position: int = reader.position
96
- data._nearby = NearbyInfo.deserialize(reader)
97
- data._byte_size = reader.position - reader_start_position
98
- return data
104
+ nearby = NearbyInfo.deserialize(reader)
105
+ result = RangeReplyServerPacket(nearby=nearby)
106
+ result._byte_size = reader.position - reader_start_position
107
+ return result
99
108
  finally:
100
109
  reader.chunked_reading_mode = old_chunked_reading_mode
101
110