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
@@ -15,6 +15,11 @@ class MessagePongServerPacket(Packet):
15
15
  """
16
16
  _byte_size: int = 0
17
17
 
18
+ def __init__(self):
19
+ """
20
+ Create a new instance of MessagePongServerPacket.
21
+ """
22
+
18
23
  @property
19
24
  def byte_size(self) -> int:
20
25
  """
@@ -63,9 +68,11 @@ class MessagePongServerPacket(Packet):
63
68
  writer (EoWriter): The writer that the data will be serialized to.
64
69
  data (MessagePongServerPacket): The data to serialize.
65
70
  """
66
- old_writer_length: int = len(writer)
67
- if len(writer) == old_writer_length:
71
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
72
+ try:
68
73
  writer.add_short(2)
74
+ finally:
75
+ writer.string_sanitization_mode = old_string_sanitization_mode
69
76
 
70
77
  @staticmethod
71
78
  def deserialize(reader: EoReader) -> "MessagePongServerPacket":
@@ -78,14 +85,13 @@ class MessagePongServerPacket(Packet):
78
85
  Returns:
79
86
  MessagePongServerPacket: The data to serialize.
80
87
  """
81
- data: MessagePongServerPacket = MessagePongServerPacket()
82
88
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
83
89
  try:
84
90
  reader_start_position: int = reader.position
85
- if reader.position == reader_start_position:
86
- reader.get_short()
87
- data._byte_size = reader.position - reader_start_position
88
- return data
91
+ reader.get_short()
92
+ result = MessagePongServerPacket()
93
+ result._byte_size = reader.position - reader_start_position
94
+ return result
89
95
  finally:
90
96
  reader.chunked_reading_mode = old_chunked_reading_mode
91
97
 
@@ -15,7 +15,16 @@ class MusicPlayerServerPacket(Packet):
15
15
  Sound effect
16
16
  """
17
17
  _byte_size: int = 0
18
- _sound_id: int = None # type: ignore [assignment]
18
+ _sound_id: int
19
+
20
+ def __init__(self, *, sound_id: int):
21
+ """
22
+ Create a new instance of MusicPlayerServerPacket.
23
+
24
+ Args:
25
+ sound_id (int): (Value range is 0-252.)
26
+ """
27
+ self._sound_id = sound_id
19
28
 
20
29
  @property
21
30
  def byte_size(self) -> int:
@@ -29,20 +38,8 @@ class MusicPlayerServerPacket(Packet):
29
38
 
30
39
  @property
31
40
  def sound_id(self) -> int:
32
- """
33
- Note:
34
- - Value range is 0-252.
35
- """
36
41
  return self._sound_id
37
42
 
38
- @sound_id.setter
39
- def sound_id(self, sound_id: int) -> None:
40
- """
41
- Note:
42
- - Value range is 0-252.
43
- """
44
- self._sound_id = sound_id
45
-
46
43
  @staticmethod
47
44
  def family() -> PacketFamily:
48
45
  """
@@ -81,9 +78,13 @@ class MusicPlayerServerPacket(Packet):
81
78
  writer (EoWriter): The writer that the data will be serialized to.
82
79
  data (MusicPlayerServerPacket): The data to serialize.
83
80
  """
84
- if data._sound_id is None:
85
- raise SerializationError("sound_id must be provided.")
86
- writer.add_char(data._sound_id)
81
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
82
+ try:
83
+ if data._sound_id is None:
84
+ raise SerializationError("sound_id must be provided.")
85
+ writer.add_char(data._sound_id)
86
+ finally:
87
+ writer.string_sanitization_mode = old_string_sanitization_mode
87
88
 
88
89
  @staticmethod
89
90
  def deserialize(reader: EoReader) -> "MusicPlayerServerPacket":
@@ -96,13 +97,13 @@ class MusicPlayerServerPacket(Packet):
96
97
  Returns:
97
98
  MusicPlayerServerPacket: The data to serialize.
98
99
  """
99
- data: MusicPlayerServerPacket = MusicPlayerServerPacket()
100
100
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
101
101
  try:
102
102
  reader_start_position: int = reader.position
103
- data._sound_id = reader.get_char()
104
- data._byte_size = reader.position - reader_start_position
105
- return data
103
+ sound_id = reader.get_char()
104
+ result = MusicPlayerServerPacket(sound_id=sound_id)
105
+ result._byte_size = reader.position - reader_start_position
106
+ return result
106
107
  finally:
107
108
  reader.chunked_reading_mode = old_chunked_reading_mode
108
109
 
@@ -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 .npc_map_info import NpcMapInfo
8
9
  from .item_map_info import ItemMapInfo
9
10
  from .character_map_info import CharacterMapInfo
@@ -16,10 +17,24 @@ class NearbyInfo:
16
17
  Information about nearby entities
17
18
  """
18
19
  _byte_size: int = 0
19
- _characters_count: int = None # type: ignore [assignment]
20
- _characters: list[CharacterMapInfo] = None # type: ignore [assignment]
21
- _npcs: list[NpcMapInfo] = None # type: ignore [assignment]
22
- _items: list[ItemMapInfo] = None # type: ignore [assignment]
20
+ _characters_count: int
21
+ _characters: tuple[CharacterMapInfo, ...]
22
+ _npcs: tuple[NpcMapInfo, ...]
23
+ _items: tuple[ItemMapInfo, ...]
24
+
25
+ def __init__(self, *, characters: Iterable[CharacterMapInfo], npcs: Iterable[NpcMapInfo], items: Iterable[ItemMapInfo]):
26
+ """
27
+ Create a new instance of NearbyInfo.
28
+
29
+ Args:
30
+ characters (Iterable[CharacterMapInfo]): (Length must be 252 or less.)
31
+ npcs (Iterable[NpcMapInfo]):
32
+ items (Iterable[ItemMapInfo]):
33
+ """
34
+ self._characters = tuple(characters)
35
+ self._characters_count = len(self._characters)
36
+ self._npcs = tuple(npcs)
37
+ self._items = tuple(items)
23
38
 
24
39
  @property
25
40
  def byte_size(self) -> int:
@@ -32,38 +47,17 @@ class NearbyInfo:
32
47
  return self._byte_size
33
48
 
34
49
  @property
35
- def characters(self) -> list[CharacterMapInfo]:
36
- """
37
- Note:
38
- - Length must be 252 or less.
39
- """
50
+ def characters(self) -> tuple[CharacterMapInfo, ...]:
40
51
  return self._characters
41
52
 
42
- @characters.setter
43
- def characters(self, characters: list[CharacterMapInfo]) -> None:
44
- """
45
- Note:
46
- - Length must be 252 or less.
47
- """
48
- self._characters = characters
49
- self._characters_count = len(self._characters)
50
-
51
53
  @property
52
- def npcs(self) -> list[NpcMapInfo]:
54
+ def npcs(self) -> tuple[NpcMapInfo, ...]:
53
55
  return self._npcs
54
56
 
55
- @npcs.setter
56
- def npcs(self, npcs: list[NpcMapInfo]) -> None:
57
- self._npcs = npcs
58
-
59
57
  @property
60
- def items(self) -> list[ItemMapInfo]:
58
+ def items(self) -> tuple[ItemMapInfo, ...]:
61
59
  return self._items
62
60
 
63
- @items.setter
64
- def items(self, items: list[ItemMapInfo]) -> None:
65
- self._items = items
66
-
67
61
  @staticmethod
68
62
  def serialize(writer: EoWriter, data: "NearbyInfo") -> None:
69
63
  """
@@ -73,27 +67,32 @@ class NearbyInfo:
73
67
  writer (EoWriter): The writer that the data will be serialized to.
74
68
  data (NearbyInfo): The data to serialize.
75
69
  """
76
- if data._characters_count is None:
77
- raise SerializationError("characters_count must be provided.")
78
- writer.add_char(data._characters_count)
79
- writer.add_byte(0xFF)
80
- if data._characters is None:
81
- raise SerializationError("characters must be provided.")
82
- if len(data._characters) > 252:
83
- raise SerializationError(f"Expected length of characters to be 252 or less, got {len(data._characters)}.")
84
- for i in range(data._characters_count):
85
- if i > 0:
70
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
71
+ try:
72
+ if data._characters_count is None:
73
+ raise SerializationError("characters_count must be provided.")
74
+ writer.add_char(data._characters_count)
75
+ writer.string_sanitization_mode = True
76
+ writer.add_byte(0xFF)
77
+ if data._characters is None:
78
+ raise SerializationError("characters must be provided.")
79
+ if len(data._characters) > 252:
80
+ raise SerializationError(f"Expected length of characters to be 252 or less, got {len(data._characters)}.")
81
+ for i in range(data._characters_count):
82
+ CharacterMapInfo.serialize(writer, data._characters[i])
86
83
  writer.add_byte(0xFF)
87
- CharacterMapInfo.serialize(writer, data._characters[i])
88
- if data._npcs is None:
89
- raise SerializationError("npcs must be provided.")
90
- for i in range(len(data._npcs)):
91
- NpcMapInfo.serialize(writer, data._npcs[i])
92
- writer.add_byte(0xFF)
93
- if data._items is None:
94
- raise SerializationError("items must be provided.")
95
- for i in range(len(data._items)):
96
- ItemMapInfo.serialize(writer, data._items[i])
84
+ if data._npcs is None:
85
+ raise SerializationError("npcs must be provided.")
86
+ for i in range(len(data._npcs)):
87
+ NpcMapInfo.serialize(writer, data._npcs[i])
88
+ writer.add_byte(0xFF)
89
+ if data._items is None:
90
+ raise SerializationError("items must be provided.")
91
+ for i in range(len(data._items)):
92
+ ItemMapInfo.serialize(writer, data._items[i])
93
+ writer.string_sanitization_mode = False
94
+ finally:
95
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
96
 
98
97
  @staticmethod
99
98
  def deserialize(reader: EoReader) -> "NearbyInfo":
@@ -106,30 +105,29 @@ class NearbyInfo:
106
105
  Returns:
107
106
  NearbyInfo: The data to serialize.
108
107
  """
109
- data: NearbyInfo = NearbyInfo()
110
108
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
111
109
  try:
112
110
  reader_start_position: int = reader.position
113
- data._characters_count = reader.get_char()
111
+ characters_count = reader.get_char()
114
112
  reader.chunked_reading_mode = True
115
113
  reader.next_chunk()
116
- data._characters = []
117
- for i in range(data._characters_count):
118
- data._characters.append(CharacterMapInfo.deserialize(reader))
119
- if i + 1 < data._characters_count:
120
- reader.next_chunk()
114
+ characters = []
115
+ for i in range(characters_count):
116
+ characters.append(CharacterMapInfo.deserialize(reader))
117
+ reader.next_chunk()
121
118
  npcs_length = int(reader.remaining / 6)
122
- data._npcs = []
119
+ npcs = []
123
120
  for i in range(npcs_length):
124
- data._npcs.append(NpcMapInfo.deserialize(reader))
121
+ npcs.append(NpcMapInfo.deserialize(reader))
125
122
  reader.next_chunk()
126
123
  items_length = int(reader.remaining / 9)
127
- data._items = []
124
+ items = []
128
125
  for i in range(items_length):
129
- data._items.append(ItemMapInfo.deserialize(reader))
126
+ items.append(ItemMapInfo.deserialize(reader))
130
127
  reader.chunked_reading_mode = False
131
- data._byte_size = reader.position - reader_start_position
132
- return data
128
+ result = NearbyInfo(characters=characters, npcs=npcs, items=items)
129
+ result._byte_size = reader.position - reader_start_position
130
+ return result
133
131
  finally:
134
132
  reader.chunked_reading_mode = old_chunked_reading_mode
135
133
 
@@ -3,6 +3,8 @@
3
3
  # This file should not be modified.
4
4
  # Changes will be lost when code is regenerated.
5
5
 
6
+ from typing import cast
7
+ from typing import Optional
6
8
  from .npc_killed_data import NpcKilledData
7
9
  from .level_up_stats import LevelUpStats
8
10
  from ..packet_family import PacketFamily
@@ -14,12 +16,25 @@ from .....data.eo_reader import EoReader
14
16
 
15
17
  class NpcAcceptServerPacket(Packet):
16
18
  """
17
- Nearby NPC killed by player and you leveled up
19
+ Nearby NPC killed and killer leveled up
18
20
  """
19
21
  _byte_size: int = 0
20
- _npc_killed_data: NpcKilledData = None # type: ignore [assignment]
21
- _experience: int = None # type: ignore [assignment]
22
- _level_up: LevelUpStats = None # type: ignore [assignment]
22
+ _npc_killed_data: NpcKilledData
23
+ _experience: Optional[int]
24
+ _level_up: Optional[LevelUpStats]
25
+
26
+ def __init__(self, *, npc_killed_data: NpcKilledData, experience: Optional[int] = None, level_up: Optional[LevelUpStats] = None):
27
+ """
28
+ Create a new instance of NpcAcceptServerPacket.
29
+
30
+ Args:
31
+ npc_killed_data (NpcKilledData):
32
+ experience (Optional[int]): This field should be sent to the killer, but not nearby players (Value range is 0-4097152080.)
33
+ level_up (Optional[LevelUpStats]): This field should be sent to the killer if they leveled up, but not nearby players
34
+ """
35
+ self._npc_killed_data = npc_killed_data
36
+ self._experience = experience
37
+ self._level_up = level_up
23
38
 
24
39
  @property
25
40
  def byte_size(self) -> int:
@@ -35,34 +50,20 @@ class NpcAcceptServerPacket(Packet):
35
50
  def npc_killed_data(self) -> NpcKilledData:
36
51
  return self._npc_killed_data
37
52
 
38
- @npc_killed_data.setter
39
- def npc_killed_data(self, npc_killed_data: NpcKilledData) -> None:
40
- self._npc_killed_data = npc_killed_data
41
-
42
53
  @property
43
- def experience(self) -> int:
54
+ def experience(self) -> Optional[int]:
44
55
  """
45
- Note:
46
- - Value range is 0-4097152080.
56
+ This field should be sent to the killer, but not nearby players
47
57
  """
48
58
  return self._experience
49
59
 
50
- @experience.setter
51
- def experience(self, experience: int) -> None:
60
+ @property
61
+ def level_up(self) -> Optional[LevelUpStats]:
52
62
  """
53
- Note:
54
- - Value range is 0-4097152080.
63
+ This field should be sent to the killer if they leveled up, but not nearby players
55
64
  """
56
- self._experience = experience
57
-
58
- @property
59
- def level_up(self) -> LevelUpStats:
60
65
  return self._level_up
61
66
 
62
- @level_up.setter
63
- def level_up(self, level_up: LevelUpStats) -> None:
64
- self._level_up = level_up
65
-
66
67
  @staticmethod
67
68
  def family() -> PacketFamily:
68
69
  """
@@ -101,15 +102,19 @@ class NpcAcceptServerPacket(Packet):
101
102
  writer (EoWriter): The writer that the data will be serialized to.
102
103
  data (NpcAcceptServerPacket): The data to serialize.
103
104
  """
104
- if data._npc_killed_data is None:
105
- raise SerializationError("npc_killed_data must be provided.")
106
- NpcKilledData.serialize(writer, data._npc_killed_data)
107
- if data._experience is None:
108
- raise SerializationError("experience must be provided.")
109
- writer.add_int(data._experience)
110
- if data._level_up is None:
111
- raise SerializationError("level_up must be provided.")
112
- LevelUpStats.serialize(writer, data._level_up)
105
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
106
+ try:
107
+ if data._npc_killed_data is None:
108
+ raise SerializationError("npc_killed_data must be provided.")
109
+ NpcKilledData.serialize(writer, data._npc_killed_data)
110
+ reached_missing_optional = data._experience is None
111
+ if not reached_missing_optional:
112
+ writer.add_int(cast(int, data._experience))
113
+ reached_missing_optional = reached_missing_optional or data._level_up is None
114
+ if not reached_missing_optional:
115
+ LevelUpStats.serialize(writer, cast(LevelUpStats, data._level_up))
116
+ finally:
117
+ writer.string_sanitization_mode = old_string_sanitization_mode
113
118
 
114
119
  @staticmethod
115
120
  def deserialize(reader: EoReader) -> "NpcAcceptServerPacket":
@@ -122,15 +127,19 @@ class NpcAcceptServerPacket(Packet):
122
127
  Returns:
123
128
  NpcAcceptServerPacket: The data to serialize.
124
129
  """
125
- data: NpcAcceptServerPacket = NpcAcceptServerPacket()
126
130
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
127
131
  try:
128
132
  reader_start_position: int = reader.position
129
- data._npc_killed_data = NpcKilledData.deserialize(reader)
130
- data._experience = reader.get_int()
131
- data._level_up = LevelUpStats.deserialize(reader)
132
- data._byte_size = reader.position - reader_start_position
133
- return data
133
+ npc_killed_data = NpcKilledData.deserialize(reader)
134
+ experience: Optional[int] = None
135
+ if reader.remaining > 0:
136
+ experience = reader.get_int()
137
+ level_up: Optional[LevelUpStats] = None
138
+ if reader.remaining > 0:
139
+ level_up = LevelUpStats.deserialize(reader)
140
+ result = NpcAcceptServerPacket(npc_killed_data=npc_killed_data, experience=experience, level_up=level_up)
141
+ result._byte_size = reader.position - reader_start_position
142
+ return result
134
143
  finally:
135
144
  reader.chunked_reading_mode = old_chunked_reading_mode
136
145
 
@@ -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 .npc_map_info import NpcMapInfo
8
9
  from ..packet_family import PacketFamily
9
10
  from ..packet_action import PacketAction
@@ -17,8 +18,18 @@ class NpcAgreeServerPacket(Packet):
17
18
  Reply to request for information about nearby NPCs
18
19
  """
19
20
  _byte_size: int = 0
20
- _npcs_count: int = None # type: ignore [assignment]
21
- _npcs: list[NpcMapInfo] = None # type: ignore [assignment]
21
+ _npcs_count: int
22
+ _npcs: tuple[NpcMapInfo, ...]
23
+
24
+ def __init__(self, *, npcs: Iterable[NpcMapInfo]):
25
+ """
26
+ Create a new instance of NpcAgreeServerPacket.
27
+
28
+ Args:
29
+ npcs (Iterable[NpcMapInfo]): (Length must be 252 or less.)
30
+ """
31
+ self._npcs = tuple(npcs)
32
+ self._npcs_count = len(self._npcs)
22
33
 
23
34
  @property
24
35
  def byte_size(self) -> int:
@@ -31,22 +42,9 @@ class NpcAgreeServerPacket(Packet):
31
42
  return self._byte_size
32
43
 
33
44
  @property
34
- def npcs(self) -> list[NpcMapInfo]:
35
- """
36
- Note:
37
- - Length must be 64008 or less.
38
- """
45
+ def npcs(self) -> tuple[NpcMapInfo, ...]:
39
46
  return self._npcs
40
47
 
41
- @npcs.setter
42
- def npcs(self, npcs: list[NpcMapInfo]) -> None:
43
- """
44
- Note:
45
- - Length must be 64008 or less.
46
- """
47
- self._npcs = npcs
48
- self._npcs_count = len(self._npcs)
49
-
50
48
  @staticmethod
51
49
  def family() -> PacketFamily:
52
50
  """
@@ -85,15 +83,19 @@ class NpcAgreeServerPacket(Packet):
85
83
  writer (EoWriter): The writer that the data will be serialized to.
86
84
  data (NpcAgreeServerPacket): The data to serialize.
87
85
  """
88
- if data._npcs_count is None:
89
- raise SerializationError("npcs_count must be provided.")
90
- writer.add_short(data._npcs_count)
91
- if data._npcs is None:
92
- raise SerializationError("npcs must be provided.")
93
- if len(data._npcs) > 64008:
94
- raise SerializationError(f"Expected length of npcs to be 64008 or less, got {len(data._npcs)}.")
95
- for i in range(data._npcs_count):
96
- NpcMapInfo.serialize(writer, data._npcs[i])
86
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
87
+ try:
88
+ if data._npcs_count is None:
89
+ raise SerializationError("npcs_count must be provided.")
90
+ writer.add_char(data._npcs_count)
91
+ if data._npcs is None:
92
+ raise SerializationError("npcs must be provided.")
93
+ if len(data._npcs) > 252:
94
+ raise SerializationError(f"Expected length of npcs to be 252 or less, got {len(data._npcs)}.")
95
+ for i in range(data._npcs_count):
96
+ NpcMapInfo.serialize(writer, data._npcs[i])
97
+ finally:
98
+ writer.string_sanitization_mode = old_string_sanitization_mode
97
99
 
98
100
  @staticmethod
99
101
  def deserialize(reader: EoReader) -> "NpcAgreeServerPacket":
@@ -106,16 +108,16 @@ class NpcAgreeServerPacket(Packet):
106
108
  Returns:
107
109
  NpcAgreeServerPacket: The data to serialize.
108
110
  """
109
- data: NpcAgreeServerPacket = NpcAgreeServerPacket()
110
111
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
111
112
  try:
112
113
  reader_start_position: int = reader.position
113
- data._npcs_count = reader.get_short()
114
- data._npcs = []
115
- for i in range(data._npcs_count):
116
- data._npcs.append(NpcMapInfo.deserialize(reader))
117
- data._byte_size = reader.position - reader_start_position
118
- return data
114
+ npcs_count = reader.get_char()
115
+ npcs = []
116
+ for i in range(npcs_count):
117
+ npcs.append(NpcMapInfo.deserialize(reader))
118
+ result = NpcAgreeServerPacket(npcs=npcs)
119
+ result._byte_size = reader.position - reader_start_position
120
+ return result
119
121
  finally:
120
122
  reader.chunked_reading_mode = old_chunked_reading_mode
121
123
 
@@ -15,8 +15,19 @@ class NpcDialogServerPacket(Packet):
15
15
  NPC chat message
16
16
  """
17
17
  _byte_size: int = 0
18
- _npc_index: int = None # type: ignore [assignment]
19
- _message: str = None # type: ignore [assignment]
18
+ _npc_index: int
19
+ _message: str
20
+
21
+ def __init__(self, *, npc_index: int, message: str):
22
+ """
23
+ Create a new instance of NpcDialogServerPacket.
24
+
25
+ Args:
26
+ npc_index (int): (Value range is 0-64008.)
27
+ message (str):
28
+ """
29
+ self._npc_index = npc_index
30
+ self._message = message
20
31
 
21
32
  @property
22
33
  def byte_size(self) -> int:
@@ -30,28 +41,12 @@ class NpcDialogServerPacket(Packet):
30
41
 
31
42
  @property
32
43
  def npc_index(self) -> int:
33
- """
34
- Note:
35
- - Value range is 0-64008.
36
- """
37
44
  return self._npc_index
38
45
 
39
- @npc_index.setter
40
- def npc_index(self, npc_index: int) -> None:
41
- """
42
- Note:
43
- - Value range is 0-64008.
44
- """
45
- self._npc_index = npc_index
46
-
47
46
  @property
48
47
  def message(self) -> str:
49
48
  return self._message
50
49
 
51
- @message.setter
52
- def message(self, message: str) -> None:
53
- self._message = message
54
-
55
50
  @staticmethod
56
51
  def family() -> PacketFamily:
57
52
  """
@@ -90,12 +85,16 @@ class NpcDialogServerPacket(Packet):
90
85
  writer (EoWriter): The writer that the data will be serialized to.
91
86
  data (NpcDialogServerPacket): The data to serialize.
92
87
  """
93
- if data._npc_index is None:
94
- raise SerializationError("npc_index must be provided.")
95
- writer.add_short(data._npc_index)
96
- if data._message is None:
97
- raise SerializationError("message must be provided.")
98
- writer.add_string(data._message)
88
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
89
+ try:
90
+ if data._npc_index is None:
91
+ raise SerializationError("npc_index must be provided.")
92
+ writer.add_short(data._npc_index)
93
+ if data._message is None:
94
+ raise SerializationError("message must be provided.")
95
+ writer.add_string(data._message)
96
+ finally:
97
+ writer.string_sanitization_mode = old_string_sanitization_mode
99
98
 
100
99
  @staticmethod
101
100
  def deserialize(reader: EoReader) -> "NpcDialogServerPacket":
@@ -108,14 +107,14 @@ class NpcDialogServerPacket(Packet):
108
107
  Returns:
109
108
  NpcDialogServerPacket: The data to serialize.
110
109
  """
111
- data: NpcDialogServerPacket = NpcDialogServerPacket()
112
110
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
113
111
  try:
114
112
  reader_start_position: int = reader.position
115
- data._npc_index = reader.get_short()
116
- data._message = reader.get_string()
117
- data._byte_size = reader.position - reader_start_position
118
- return data
113
+ npc_index = reader.get_short()
114
+ message = reader.get_string()
115
+ result = NpcDialogServerPacket(npc_index=npc_index, message=message)
116
+ result._byte_size = reader.position - reader_start_position
117
+ return result
119
118
  finally:
120
119
  reader.chunked_reading_mode = old_chunked_reading_mode
121
120