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
@@ -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,14 +16,31 @@ from .....data.eo_reader import EoReader
14
16
 
15
17
  class CastAcceptServerPacket(Packet):
16
18
  """
17
- Nearby NPC killed by player spell and you leveled up
19
+ Nearby NPC killed by player spell and killer leveled up
18
20
  """
19
21
  _byte_size: int = 0
20
- _spell_id: int = None # type: ignore [assignment]
21
- _npc_killed_data: NpcKilledData = None # type: ignore [assignment]
22
- _caster_tp: int = None # type: ignore [assignment]
23
- _experience: int = None # type: ignore [assignment]
24
- _level_up: LevelUpStats = None # type: ignore [assignment]
22
+ _spell_id: int
23
+ _npc_killed_data: NpcKilledData
24
+ _caster_tp: Optional[int]
25
+ _experience: Optional[int]
26
+ _level_up: Optional[LevelUpStats]
27
+
28
+ def __init__(self, *, spell_id: int, npc_killed_data: NpcKilledData, caster_tp: Optional[int] = None, experience: Optional[int] = None, level_up: Optional[LevelUpStats] = None):
29
+ """
30
+ Create a new instance of CastAcceptServerPacket.
31
+
32
+ Args:
33
+ spell_id (int): (Value range is 0-64008.)
34
+ npc_killed_data (NpcKilledData):
35
+ caster_tp (Optional[int]): This field should be sent to the killer, but not nearby players (Value range is 0-64008.)
36
+ experience (Optional[int]): This field should be sent to the killer, but not nearby players (Value range is 0-4097152080.)
37
+ level_up (Optional[LevelUpStats]): This field should be sent to the killer if they leveled up, but not nearby players
38
+ """
39
+ self._spell_id = spell_id
40
+ self._npc_killed_data = npc_killed_data
41
+ self._caster_tp = caster_tp
42
+ self._experience = experience
43
+ self._level_up = level_up
25
44
 
26
45
  @property
27
46
  def byte_size(self) -> int:
@@ -35,68 +54,33 @@ class CastAcceptServerPacket(Packet):
35
54
 
36
55
  @property
37
56
  def spell_id(self) -> int:
38
- """
39
- Note:
40
- - Value range is 0-64008.
41
- """
42
57
  return self._spell_id
43
58
 
44
- @spell_id.setter
45
- def spell_id(self, spell_id: int) -> None:
46
- """
47
- Note:
48
- - Value range is 0-64008.
49
- """
50
- self._spell_id = spell_id
51
-
52
59
  @property
53
60
  def npc_killed_data(self) -> NpcKilledData:
54
61
  return self._npc_killed_data
55
62
 
56
- @npc_killed_data.setter
57
- def npc_killed_data(self, npc_killed_data: NpcKilledData) -> None:
58
- self._npc_killed_data = npc_killed_data
59
-
60
63
  @property
61
- def caster_tp(self) -> int:
64
+ def caster_tp(self) -> Optional[int]:
62
65
  """
63
- Note:
64
- - Value range is 0-64008.
66
+ This field should be sent to the killer, but not nearby players
65
67
  """
66
68
  return self._caster_tp
67
69
 
68
- @caster_tp.setter
69
- def caster_tp(self, caster_tp: int) -> None:
70
- """
71
- Note:
72
- - Value range is 0-64008.
73
- """
74
- self._caster_tp = caster_tp
75
-
76
70
  @property
77
- def experience(self) -> int:
71
+ def experience(self) -> Optional[int]:
78
72
  """
79
- Note:
80
- - Value range is 0-4097152080.
73
+ This field should be sent to the killer, but not nearby players
81
74
  """
82
75
  return self._experience
83
76
 
84
- @experience.setter
85
- def experience(self, experience: int) -> None:
77
+ @property
78
+ def level_up(self) -> Optional[LevelUpStats]:
86
79
  """
87
- Note:
88
- - Value range is 0-4097152080.
80
+ This field should be sent to the killer if they leveled up, but not nearby players
89
81
  """
90
- self._experience = experience
91
-
92
- @property
93
- def level_up(self) -> LevelUpStats:
94
82
  return self._level_up
95
83
 
96
- @level_up.setter
97
- def level_up(self, level_up: LevelUpStats) -> None:
98
- self._level_up = level_up
99
-
100
84
  @staticmethod
101
85
  def family() -> PacketFamily:
102
86
  """
@@ -135,21 +119,25 @@ class CastAcceptServerPacket(Packet):
135
119
  writer (EoWriter): The writer that the data will be serialized to.
136
120
  data (CastAcceptServerPacket): The data to serialize.
137
121
  """
138
- if data._spell_id is None:
139
- raise SerializationError("spell_id must be provided.")
140
- writer.add_short(data._spell_id)
141
- if data._npc_killed_data is None:
142
- raise SerializationError("npc_killed_data must be provided.")
143
- NpcKilledData.serialize(writer, data._npc_killed_data)
144
- if data._caster_tp is None:
145
- raise SerializationError("caster_tp must be provided.")
146
- writer.add_short(data._caster_tp)
147
- if data._experience is None:
148
- raise SerializationError("experience must be provided.")
149
- writer.add_int(data._experience)
150
- if data._level_up is None:
151
- raise SerializationError("level_up must be provided.")
152
- LevelUpStats.serialize(writer, data._level_up)
122
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
123
+ try:
124
+ if data._spell_id is None:
125
+ raise SerializationError("spell_id must be provided.")
126
+ writer.add_short(data._spell_id)
127
+ if data._npc_killed_data is None:
128
+ raise SerializationError("npc_killed_data must be provided.")
129
+ NpcKilledData.serialize(writer, data._npc_killed_data)
130
+ reached_missing_optional = data._caster_tp is None
131
+ if not reached_missing_optional:
132
+ writer.add_short(cast(int, data._caster_tp))
133
+ reached_missing_optional = reached_missing_optional or data._experience is None
134
+ if not reached_missing_optional:
135
+ writer.add_int(cast(int, data._experience))
136
+ reached_missing_optional = reached_missing_optional or data._level_up is None
137
+ if not reached_missing_optional:
138
+ LevelUpStats.serialize(writer, cast(LevelUpStats, data._level_up))
139
+ finally:
140
+ writer.string_sanitization_mode = old_string_sanitization_mode
153
141
 
154
142
  @staticmethod
155
143
  def deserialize(reader: EoReader) -> "CastAcceptServerPacket":
@@ -162,17 +150,23 @@ class CastAcceptServerPacket(Packet):
162
150
  Returns:
163
151
  CastAcceptServerPacket: The data to serialize.
164
152
  """
165
- data: CastAcceptServerPacket = CastAcceptServerPacket()
166
153
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
167
154
  try:
168
155
  reader_start_position: int = reader.position
169
- data._spell_id = reader.get_short()
170
- data._npc_killed_data = NpcKilledData.deserialize(reader)
171
- data._caster_tp = reader.get_short()
172
- data._experience = reader.get_int()
173
- data._level_up = LevelUpStats.deserialize(reader)
174
- data._byte_size = reader.position - reader_start_position
175
- return data
156
+ spell_id = reader.get_short()
157
+ npc_killed_data = NpcKilledData.deserialize(reader)
158
+ caster_tp: Optional[int] = None
159
+ if reader.remaining > 0:
160
+ caster_tp = reader.get_short()
161
+ experience: Optional[int] = None
162
+ if reader.remaining > 0:
163
+ experience = reader.get_int()
164
+ level_up: Optional[LevelUpStats] = None
165
+ if reader.remaining > 0:
166
+ level_up = LevelUpStats.deserialize(reader)
167
+ result = CastAcceptServerPacket(spell_id=spell_id, npc_killed_data=npc_killed_data, caster_tp=caster_tp, experience=experience, level_up=level_up)
168
+ result._byte_size = reader.position - reader_start_position
169
+ return result
176
170
  finally:
177
171
  reader.chunked_reading_mode = old_chunked_reading_mode
178
172
 
@@ -19,14 +19,37 @@ class CastReplyServerPacket(Packet):
19
19
  Nearby NPC hit by a spell from a player
20
20
  """
21
21
  _byte_size: int = 0
22
- _spell_id: int = None # type: ignore [assignment]
23
- _caster_id: int = None # type: ignore [assignment]
24
- _caster_direction: Direction = None # type: ignore [assignment]
25
- _npc_index: int = None # type: ignore [assignment]
26
- _damage: int = None # type: ignore [assignment]
27
- _hp_percentage: int = None # type: ignore [assignment]
28
- _caster_tp: int = None # type: ignore [assignment]
29
- _kill_steal_protection: Optional[NpcKillStealProtectionState] = None # type: ignore [assignment]
22
+ _spell_id: int
23
+ _caster_id: int
24
+ _caster_direction: Direction
25
+ _npc_index: int
26
+ _damage: int
27
+ _hp_percentage: int
28
+ _caster_tp: Optional[int]
29
+ _kill_steal_protection: Optional[NpcKillStealProtectionState]
30
+
31
+ def __init__(self, *, spell_id: int, caster_id: int, caster_direction: Direction, npc_index: int, damage: int, hp_percentage: int, caster_tp: Optional[int] = None, kill_steal_protection: Optional[NpcKillStealProtectionState] = None):
32
+ """
33
+ Create a new instance of CastReplyServerPacket.
34
+
35
+ Args:
36
+ spell_id (int): (Value range is 0-64008.)
37
+ caster_id (int): (Value range is 0-64008.)
38
+ caster_direction (Direction):
39
+ npc_index (int): (Value range is 0-64008.)
40
+ damage (int): (Value range is 0-16194276.)
41
+ hp_percentage (int): (Value range is 0-64008.)
42
+ caster_tp (Optional[int]): This field should be sent to the attacker, but not nearby players (Value range is 0-64008.)
43
+ kill_steal_protection (Optional[NpcKillStealProtectionState]): This field should be sent to the attacker, but not nearby players
44
+ """
45
+ self._spell_id = spell_id
46
+ self._caster_id = caster_id
47
+ self._caster_direction = caster_direction
48
+ self._npc_index = npc_index
49
+ self._damage = damage
50
+ self._hp_percentage = hp_percentage
51
+ self._caster_tp = caster_tp
52
+ self._kill_steal_protection = kill_steal_protection
30
53
 
31
54
  @property
32
55
  def byte_size(self) -> int:
@@ -40,116 +63,42 @@ class CastReplyServerPacket(Packet):
40
63
 
41
64
  @property
42
65
  def spell_id(self) -> int:
43
- """
44
- Note:
45
- - Value range is 0-64008.
46
- """
47
66
  return self._spell_id
48
67
 
49
- @spell_id.setter
50
- def spell_id(self, spell_id: int) -> None:
51
- """
52
- Note:
53
- - Value range is 0-64008.
54
- """
55
- self._spell_id = spell_id
56
-
57
68
  @property
58
69
  def caster_id(self) -> int:
59
- """
60
- Note:
61
- - Value range is 0-64008.
62
- """
63
70
  return self._caster_id
64
71
 
65
- @caster_id.setter
66
- def caster_id(self, caster_id: int) -> None:
67
- """
68
- Note:
69
- - Value range is 0-64008.
70
- """
71
- self._caster_id = caster_id
72
-
73
72
  @property
74
73
  def caster_direction(self) -> Direction:
75
74
  return self._caster_direction
76
75
 
77
- @caster_direction.setter
78
- def caster_direction(self, caster_direction: Direction) -> None:
79
- self._caster_direction = caster_direction
80
-
81
76
  @property
82
77
  def npc_index(self) -> int:
83
- """
84
- Note:
85
- - Value range is 0-64008.
86
- """
87
78
  return self._npc_index
88
79
 
89
- @npc_index.setter
90
- def npc_index(self, npc_index: int) -> None:
91
- """
92
- Note:
93
- - Value range is 0-64008.
94
- """
95
- self._npc_index = npc_index
96
-
97
80
  @property
98
81
  def damage(self) -> int:
99
- """
100
- Note:
101
- - Value range is 0-16194276.
102
- """
103
82
  return self._damage
104
83
 
105
- @damage.setter
106
- def damage(self, damage: int) -> None:
107
- """
108
- Note:
109
- - Value range is 0-16194276.
110
- """
111
- self._damage = damage
112
-
113
84
  @property
114
85
  def hp_percentage(self) -> int:
115
- """
116
- Note:
117
- - Value range is 0-64008.
118
- """
119
86
  return self._hp_percentage
120
87
 
121
- @hp_percentage.setter
122
- def hp_percentage(self, hp_percentage: int) -> None:
123
- """
124
- Note:
125
- - Value range is 0-64008.
126
- """
127
- self._hp_percentage = hp_percentage
128
-
129
88
  @property
130
- def caster_tp(self) -> int:
89
+ def caster_tp(self) -> Optional[int]:
131
90
  """
132
- Note:
133
- - Value range is 0-64008.
91
+ This field should be sent to the attacker, but not nearby players
134
92
  """
135
93
  return self._caster_tp
136
94
 
137
- @caster_tp.setter
138
- def caster_tp(self, caster_tp: int) -> None:
139
- """
140
- Note:
141
- - Value range is 0-64008.
142
- """
143
- self._caster_tp = caster_tp
144
-
145
95
  @property
146
96
  def kill_steal_protection(self) -> Optional[NpcKillStealProtectionState]:
97
+ """
98
+ This field should be sent to the attacker, but not nearby players
99
+ """
147
100
  return self._kill_steal_protection
148
101
 
149
- @kill_steal_protection.setter
150
- def kill_steal_protection(self, kill_steal_protection: Optional[NpcKillStealProtectionState]) -> None:
151
- self._kill_steal_protection = kill_steal_protection
152
-
153
102
  @staticmethod
154
103
  def family() -> PacketFamily:
155
104
  """
@@ -188,30 +137,34 @@ class CastReplyServerPacket(Packet):
188
137
  writer (EoWriter): The writer that the data will be serialized to.
189
138
  data (CastReplyServerPacket): The data to serialize.
190
139
  """
191
- if data._spell_id is None:
192
- raise SerializationError("spell_id must be provided.")
193
- writer.add_short(data._spell_id)
194
- if data._caster_id is None:
195
- raise SerializationError("caster_id must be provided.")
196
- writer.add_short(data._caster_id)
197
- if data._caster_direction is None:
198
- raise SerializationError("caster_direction must be provided.")
199
- writer.add_char(int(data._caster_direction))
200
- if data._npc_index is None:
201
- raise SerializationError("npc_index must be provided.")
202
- writer.add_short(data._npc_index)
203
- if data._damage is None:
204
- raise SerializationError("damage must be provided.")
205
- writer.add_three(data._damage)
206
- if data._hp_percentage is None:
207
- raise SerializationError("hp_percentage must be provided.")
208
- writer.add_short(data._hp_percentage)
209
- if data._caster_tp is None:
210
- raise SerializationError("caster_tp must be provided.")
211
- writer.add_short(data._caster_tp)
212
- reached_missing_optional = data._kill_steal_protection is None
213
- if not reached_missing_optional:
214
- writer.add_char(int(cast(NpcKillStealProtectionState, data._kill_steal_protection)))
140
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
141
+ try:
142
+ if data._spell_id is None:
143
+ raise SerializationError("spell_id must be provided.")
144
+ writer.add_short(data._spell_id)
145
+ if data._caster_id is None:
146
+ raise SerializationError("caster_id must be provided.")
147
+ writer.add_short(data._caster_id)
148
+ if data._caster_direction is None:
149
+ raise SerializationError("caster_direction must be provided.")
150
+ writer.add_char(int(data._caster_direction))
151
+ if data._npc_index is None:
152
+ raise SerializationError("npc_index must be provided.")
153
+ writer.add_short(data._npc_index)
154
+ if data._damage is None:
155
+ raise SerializationError("damage must be provided.")
156
+ writer.add_three(data._damage)
157
+ if data._hp_percentage is None:
158
+ raise SerializationError("hp_percentage must be provided.")
159
+ writer.add_short(data._hp_percentage)
160
+ reached_missing_optional = data._caster_tp is None
161
+ if not reached_missing_optional:
162
+ writer.add_short(cast(int, data._caster_tp))
163
+ reached_missing_optional = reached_missing_optional or data._kill_steal_protection is None
164
+ if not reached_missing_optional:
165
+ writer.add_char(int(cast(NpcKillStealProtectionState, data._kill_steal_protection)))
166
+ finally:
167
+ writer.string_sanitization_mode = old_string_sanitization_mode
215
168
 
216
169
  @staticmethod
217
170
  def deserialize(reader: EoReader) -> "CastReplyServerPacket":
@@ -224,21 +177,24 @@ class CastReplyServerPacket(Packet):
224
177
  Returns:
225
178
  CastReplyServerPacket: The data to serialize.
226
179
  """
227
- data: CastReplyServerPacket = CastReplyServerPacket()
228
180
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
229
181
  try:
230
182
  reader_start_position: int = reader.position
231
- data._spell_id = reader.get_short()
232
- data._caster_id = reader.get_short()
233
- data._caster_direction = Direction(reader.get_char())
234
- data._npc_index = reader.get_short()
235
- data._damage = reader.get_three()
236
- data._hp_percentage = reader.get_short()
237
- data._caster_tp = reader.get_short()
183
+ spell_id = reader.get_short()
184
+ caster_id = reader.get_short()
185
+ caster_direction = Direction(reader.get_char())
186
+ npc_index = reader.get_short()
187
+ damage = reader.get_three()
188
+ hp_percentage = reader.get_short()
189
+ caster_tp: Optional[int] = None
190
+ if reader.remaining > 0:
191
+ caster_tp = reader.get_short()
192
+ kill_steal_protection: Optional[NpcKillStealProtectionState] = None
238
193
  if reader.remaining > 0:
239
- data._kill_steal_protection = NpcKillStealProtectionState(reader.get_char())
240
- data._byte_size = reader.position - reader_start_position
241
- return data
194
+ kill_steal_protection = NpcKillStealProtectionState(reader.get_char())
195
+ result = CastReplyServerPacket(spell_id=spell_id, caster_id=caster_id, caster_direction=caster_direction, npc_index=npc_index, damage=damage, hp_percentage=hp_percentage, caster_tp=caster_tp, kill_steal_protection=kill_steal_protection)
196
+ result._byte_size = reader.position - reader_start_position
197
+ return result
242
198
  finally:
243
199
  reader.chunked_reading_mode = old_chunked_reading_mode
244
200
 
@@ -18,10 +18,25 @@ class CastSpecServerPacket(Packet):
18
18
  Nearby NPC killed by player spell
19
19
  """
20
20
  _byte_size: int = 0
21
- _spell_id: int = None # type: ignore [assignment]
22
- _npc_killed_data: NpcKilledData = None # type: ignore [assignment]
23
- _caster_tp: int = None # type: ignore [assignment]
24
- _experience: Optional[int] = None # type: ignore [assignment]
21
+ _spell_id: int
22
+ _npc_killed_data: NpcKilledData
23
+ _caster_tp: Optional[int]
24
+ _experience: Optional[int]
25
+
26
+ def __init__(self, *, spell_id: int, npc_killed_data: NpcKilledData, caster_tp: Optional[int] = None, experience: Optional[int] = None):
27
+ """
28
+ Create a new instance of CastSpecServerPacket.
29
+
30
+ Args:
31
+ spell_id (int): (Value range is 0-64008.)
32
+ npc_killed_data (NpcKilledData):
33
+ caster_tp (Optional[int]): This field should be sent to the killer, but not nearby players (Value range is 0-64008.)
34
+ experience (Optional[int]): This field should be sent to the killer, but not nearby players (Value range is 0-4097152080.)
35
+ """
36
+ self._spell_id = spell_id
37
+ self._npc_killed_data = npc_killed_data
38
+ self._caster_tp = caster_tp
39
+ self._experience = experience
25
40
 
26
41
  @property
27
42
  def byte_size(self) -> int:
@@ -35,60 +50,26 @@ class CastSpecServerPacket(Packet):
35
50
 
36
51
  @property
37
52
  def spell_id(self) -> int:
38
- """
39
- Note:
40
- - Value range is 0-64008.
41
- """
42
53
  return self._spell_id
43
54
 
44
- @spell_id.setter
45
- def spell_id(self, spell_id: int) -> None:
46
- """
47
- Note:
48
- - Value range is 0-64008.
49
- """
50
- self._spell_id = spell_id
51
-
52
55
  @property
53
56
  def npc_killed_data(self) -> NpcKilledData:
54
57
  return self._npc_killed_data
55
58
 
56
- @npc_killed_data.setter
57
- def npc_killed_data(self, npc_killed_data: NpcKilledData) -> None:
58
- self._npc_killed_data = npc_killed_data
59
-
60
59
  @property
61
- def caster_tp(self) -> int:
60
+ def caster_tp(self) -> Optional[int]:
62
61
  """
63
- Note:
64
- - Value range is 0-64008.
62
+ This field should be sent to the killer, but not nearby players
65
63
  """
66
64
  return self._caster_tp
67
65
 
68
- @caster_tp.setter
69
- def caster_tp(self, caster_tp: int) -> None:
70
- """
71
- Note:
72
- - Value range is 0-64008.
73
- """
74
- self._caster_tp = caster_tp
75
-
76
66
  @property
77
67
  def experience(self) -> Optional[int]:
78
68
  """
79
- Note:
80
- - Value range is 0-4097152080.
69
+ This field should be sent to the killer, but not nearby players
81
70
  """
82
71
  return self._experience
83
72
 
84
- @experience.setter
85
- def experience(self, experience: Optional[int]) -> None:
86
- """
87
- Note:
88
- - Value range is 0-4097152080.
89
- """
90
- self._experience = experience
91
-
92
73
  @staticmethod
93
74
  def family() -> PacketFamily:
94
75
  """
@@ -127,18 +108,22 @@ class CastSpecServerPacket(Packet):
127
108
  writer (EoWriter): The writer that the data will be serialized to.
128
109
  data (CastSpecServerPacket): The data to serialize.
129
110
  """
130
- if data._spell_id is None:
131
- raise SerializationError("spell_id must be provided.")
132
- writer.add_short(data._spell_id)
133
- if data._npc_killed_data is None:
134
- raise SerializationError("npc_killed_data must be provided.")
135
- NpcKilledData.serialize(writer, data._npc_killed_data)
136
- if data._caster_tp is None:
137
- raise SerializationError("caster_tp must be provided.")
138
- writer.add_short(data._caster_tp)
139
- reached_missing_optional = data._experience is None
140
- if not reached_missing_optional:
141
- writer.add_int(cast(int, data._experience))
111
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
112
+ try:
113
+ if data._spell_id is None:
114
+ raise SerializationError("spell_id must be provided.")
115
+ writer.add_short(data._spell_id)
116
+ if data._npc_killed_data is None:
117
+ raise SerializationError("npc_killed_data must be provided.")
118
+ NpcKilledData.serialize(writer, data._npc_killed_data)
119
+ reached_missing_optional = data._caster_tp is None
120
+ if not reached_missing_optional:
121
+ writer.add_short(cast(int, data._caster_tp))
122
+ reached_missing_optional = reached_missing_optional or data._experience is None
123
+ if not reached_missing_optional:
124
+ writer.add_int(cast(int, data._experience))
125
+ finally:
126
+ writer.string_sanitization_mode = old_string_sanitization_mode
142
127
 
143
128
  @staticmethod
144
129
  def deserialize(reader: EoReader) -> "CastSpecServerPacket":
@@ -151,17 +136,20 @@ class CastSpecServerPacket(Packet):
151
136
  Returns:
152
137
  CastSpecServerPacket: The data to serialize.
153
138
  """
154
- data: CastSpecServerPacket = CastSpecServerPacket()
155
139
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
156
140
  try:
157
141
  reader_start_position: int = reader.position
158
- data._spell_id = reader.get_short()
159
- data._npc_killed_data = NpcKilledData.deserialize(reader)
160
- data._caster_tp = reader.get_short()
142
+ spell_id = reader.get_short()
143
+ npc_killed_data = NpcKilledData.deserialize(reader)
144
+ caster_tp: Optional[int] = None
145
+ if reader.remaining > 0:
146
+ caster_tp = reader.get_short()
147
+ experience: Optional[int] = None
161
148
  if reader.remaining > 0:
162
- data._experience = reader.get_int()
163
- data._byte_size = reader.position - reader_start_position
164
- return data
149
+ experience = reader.get_int()
150
+ result = CastSpecServerPacket(spell_id=spell_id, npc_killed_data=npc_killed_data, caster_tp=caster_tp, experience=experience)
151
+ result._byte_size = reader.position - reader_start_position
152
+ return result
165
153
  finally:
166
154
  reader.chunked_reading_mode = old_chunked_reading_mode
167
155