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,12 +15,31 @@ class CharacterStatsUpdate:
15
15
  Sent when stats are updated.
16
16
  """
17
17
  _byte_size: int = 0
18
- _base_stats: CharacterBaseStats = None # type: ignore [assignment]
19
- _max_hp: int = None # type: ignore [assignment]
20
- _max_tp: int = None # type: ignore [assignment]
21
- _max_sp: int = None # type: ignore [assignment]
22
- _max_weight: int = None # type: ignore [assignment]
23
- _secondary_stats: CharacterSecondaryStats = None # type: ignore [assignment]
18
+ _base_stats: CharacterBaseStats
19
+ _max_hp: int
20
+ _max_tp: int
21
+ _max_sp: int
22
+ _max_weight: int
23
+ _secondary_stats: CharacterSecondaryStats
24
+
25
+ def __init__(self, *, base_stats: CharacterBaseStats, max_hp: int, max_tp: int, max_sp: int, max_weight: int, secondary_stats: CharacterSecondaryStats):
26
+ """
27
+ Create a new instance of CharacterStatsUpdate.
28
+
29
+ Args:
30
+ base_stats (CharacterBaseStats):
31
+ max_hp (int): (Value range is 0-64008.)
32
+ max_tp (int): (Value range is 0-64008.)
33
+ max_sp (int): (Value range is 0-64008.)
34
+ max_weight (int): (Value range is 0-64008.)
35
+ secondary_stats (CharacterSecondaryStats):
36
+ """
37
+ self._base_stats = base_stats
38
+ self._max_hp = max_hp
39
+ self._max_tp = max_tp
40
+ self._max_sp = max_sp
41
+ self._max_weight = max_weight
42
+ self._secondary_stats = secondary_stats
24
43
 
25
44
  @property
26
45
  def byte_size(self) -> int:
@@ -36,82 +55,26 @@ class CharacterStatsUpdate:
36
55
  def base_stats(self) -> CharacterBaseStats:
37
56
  return self._base_stats
38
57
 
39
- @base_stats.setter
40
- def base_stats(self, base_stats: CharacterBaseStats) -> None:
41
- self._base_stats = base_stats
42
-
43
58
  @property
44
59
  def max_hp(self) -> int:
45
- """
46
- Note:
47
- - Value range is 0-64008.
48
- """
49
60
  return self._max_hp
50
61
 
51
- @max_hp.setter
52
- def max_hp(self, max_hp: int) -> None:
53
- """
54
- Note:
55
- - Value range is 0-64008.
56
- """
57
- self._max_hp = max_hp
58
-
59
62
  @property
60
63
  def max_tp(self) -> int:
61
- """
62
- Note:
63
- - Value range is 0-64008.
64
- """
65
64
  return self._max_tp
66
65
 
67
- @max_tp.setter
68
- def max_tp(self, max_tp: int) -> None:
69
- """
70
- Note:
71
- - Value range is 0-64008.
72
- """
73
- self._max_tp = max_tp
74
-
75
66
  @property
76
67
  def max_sp(self) -> int:
77
- """
78
- Note:
79
- - Value range is 0-64008.
80
- """
81
68
  return self._max_sp
82
69
 
83
- @max_sp.setter
84
- def max_sp(self, max_sp: int) -> None:
85
- """
86
- Note:
87
- - Value range is 0-64008.
88
- """
89
- self._max_sp = max_sp
90
-
91
70
  @property
92
71
  def max_weight(self) -> int:
93
- """
94
- Note:
95
- - Value range is 0-64008.
96
- """
97
72
  return self._max_weight
98
73
 
99
- @max_weight.setter
100
- def max_weight(self, max_weight: int) -> None:
101
- """
102
- Note:
103
- - Value range is 0-64008.
104
- """
105
- self._max_weight = max_weight
106
-
107
74
  @property
108
75
  def secondary_stats(self) -> CharacterSecondaryStats:
109
76
  return self._secondary_stats
110
77
 
111
- @secondary_stats.setter
112
- def secondary_stats(self, secondary_stats: CharacterSecondaryStats) -> None:
113
- self._secondary_stats = secondary_stats
114
-
115
78
  @staticmethod
116
79
  def serialize(writer: EoWriter, data: "CharacterStatsUpdate") -> None:
117
80
  """
@@ -121,24 +84,28 @@ class CharacterStatsUpdate:
121
84
  writer (EoWriter): The writer that the data will be serialized to.
122
85
  data (CharacterStatsUpdate): The data to serialize.
123
86
  """
124
- if data._base_stats is None:
125
- raise SerializationError("base_stats must be provided.")
126
- CharacterBaseStats.serialize(writer, data._base_stats)
127
- if data._max_hp is None:
128
- raise SerializationError("max_hp must be provided.")
129
- writer.add_short(data._max_hp)
130
- if data._max_tp is None:
131
- raise SerializationError("max_tp must be provided.")
132
- writer.add_short(data._max_tp)
133
- if data._max_sp is None:
134
- raise SerializationError("max_sp must be provided.")
135
- writer.add_short(data._max_sp)
136
- if data._max_weight is None:
137
- raise SerializationError("max_weight must be provided.")
138
- writer.add_short(data._max_weight)
139
- if data._secondary_stats is None:
140
- raise SerializationError("secondary_stats must be provided.")
141
- CharacterSecondaryStats.serialize(writer, data._secondary_stats)
87
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
88
+ try:
89
+ if data._base_stats is None:
90
+ raise SerializationError("base_stats must be provided.")
91
+ CharacterBaseStats.serialize(writer, data._base_stats)
92
+ if data._max_hp is None:
93
+ raise SerializationError("max_hp must be provided.")
94
+ writer.add_short(data._max_hp)
95
+ if data._max_tp is None:
96
+ raise SerializationError("max_tp must be provided.")
97
+ writer.add_short(data._max_tp)
98
+ if data._max_sp is None:
99
+ raise SerializationError("max_sp must be provided.")
100
+ writer.add_short(data._max_sp)
101
+ if data._max_weight is None:
102
+ raise SerializationError("max_weight must be provided.")
103
+ writer.add_short(data._max_weight)
104
+ if data._secondary_stats is None:
105
+ raise SerializationError("secondary_stats must be provided.")
106
+ CharacterSecondaryStats.serialize(writer, data._secondary_stats)
107
+ finally:
108
+ writer.string_sanitization_mode = old_string_sanitization_mode
142
109
 
143
110
  @staticmethod
144
111
  def deserialize(reader: EoReader) -> "CharacterStatsUpdate":
@@ -151,18 +118,18 @@ class CharacterStatsUpdate:
151
118
  Returns:
152
119
  CharacterStatsUpdate: The data to serialize.
153
120
  """
154
- data: CharacterStatsUpdate = CharacterStatsUpdate()
155
121
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
156
122
  try:
157
123
  reader_start_position: int = reader.position
158
- data._base_stats = CharacterBaseStats.deserialize(reader)
159
- data._max_hp = reader.get_short()
160
- data._max_tp = reader.get_short()
161
- data._max_sp = reader.get_short()
162
- data._max_weight = reader.get_short()
163
- data._secondary_stats = CharacterSecondaryStats.deserialize(reader)
164
- data._byte_size = reader.position - reader_start_position
165
- return data
124
+ base_stats = CharacterBaseStats.deserialize(reader)
125
+ max_hp = reader.get_short()
126
+ max_tp = reader.get_short()
127
+ max_sp = reader.get_short()
128
+ max_weight = reader.get_short()
129
+ secondary_stats = CharacterSecondaryStats.deserialize(reader)
130
+ result = CharacterStatsUpdate(base_stats=base_stats, max_hp=max_hp, max_tp=max_tp, max_sp=max_sp, max_weight=max_weight, secondary_stats=secondary_stats)
131
+ result._byte_size = reader.position - reader_start_position
132
+ return result
166
133
  finally:
167
134
  reader.chunked_reading_mode = old_chunked_reading_mode
168
135
 
@@ -15,16 +15,43 @@ class CharacterStatsWelcome:
15
15
  Sent upon selecting a character and entering the game.
16
16
  """
17
17
  _byte_size: int = 0
18
- _hp: int = None # type: ignore [assignment]
19
- _max_hp: int = None # type: ignore [assignment]
20
- _tp: int = None # type: ignore [assignment]
21
- _max_tp: int = None # type: ignore [assignment]
22
- _max_sp: int = None # type: ignore [assignment]
23
- _stat_points: int = None # type: ignore [assignment]
24
- _skill_points: int = None # type: ignore [assignment]
25
- _karma: int = None # type: ignore [assignment]
26
- _secondary: CharacterSecondaryStats = None # type: ignore [assignment]
27
- _base: CharacterBaseStatsWelcome = None # type: ignore [assignment]
18
+ _hp: int
19
+ _max_hp: int
20
+ _tp: int
21
+ _max_tp: int
22
+ _max_sp: int
23
+ _stat_points: int
24
+ _skill_points: int
25
+ _karma: int
26
+ _secondary: CharacterSecondaryStats
27
+ _base: CharacterBaseStatsWelcome
28
+
29
+ def __init__(self, *, hp: int, max_hp: int, tp: int, max_tp: int, max_sp: int, stat_points: int, skill_points: int, karma: int, secondary: CharacterSecondaryStats, base: CharacterBaseStatsWelcome):
30
+ """
31
+ Create a new instance of CharacterStatsWelcome.
32
+
33
+ Args:
34
+ hp (int): (Value range is 0-64008.)
35
+ max_hp (int): (Value range is 0-64008.)
36
+ tp (int): (Value range is 0-64008.)
37
+ max_tp (int): (Value range is 0-64008.)
38
+ max_sp (int): (Value range is 0-64008.)
39
+ stat_points (int): (Value range is 0-64008.)
40
+ skill_points (int): (Value range is 0-64008.)
41
+ karma (int): (Value range is 0-64008.)
42
+ secondary (CharacterSecondaryStats):
43
+ base (CharacterBaseStatsWelcome):
44
+ """
45
+ self._hp = hp
46
+ self._max_hp = max_hp
47
+ self._tp = tp
48
+ self._max_tp = max_tp
49
+ self._max_sp = max_sp
50
+ self._stat_points = stat_points
51
+ self._skill_points = skill_points
52
+ self._karma = karma
53
+ self._secondary = secondary
54
+ self._base = base
28
55
 
29
56
  @property
30
57
  def byte_size(self) -> int:
@@ -38,148 +65,44 @@ class CharacterStatsWelcome:
38
65
 
39
66
  @property
40
67
  def hp(self) -> int:
41
- """
42
- Note:
43
- - Value range is 0-64008.
44
- """
45
68
  return self._hp
46
69
 
47
- @hp.setter
48
- def hp(self, hp: int) -> None:
49
- """
50
- Note:
51
- - Value range is 0-64008.
52
- """
53
- self._hp = hp
54
-
55
70
  @property
56
71
  def max_hp(self) -> int:
57
- """
58
- Note:
59
- - Value range is 0-64008.
60
- """
61
72
  return self._max_hp
62
73
 
63
- @max_hp.setter
64
- def max_hp(self, max_hp: int) -> None:
65
- """
66
- Note:
67
- - Value range is 0-64008.
68
- """
69
- self._max_hp = max_hp
70
-
71
74
  @property
72
75
  def tp(self) -> int:
73
- """
74
- Note:
75
- - Value range is 0-64008.
76
- """
77
76
  return self._tp
78
77
 
79
- @tp.setter
80
- def tp(self, tp: int) -> None:
81
- """
82
- Note:
83
- - Value range is 0-64008.
84
- """
85
- self._tp = tp
86
-
87
78
  @property
88
79
  def max_tp(self) -> int:
89
- """
90
- Note:
91
- - Value range is 0-64008.
92
- """
93
80
  return self._max_tp
94
81
 
95
- @max_tp.setter
96
- def max_tp(self, max_tp: int) -> None:
97
- """
98
- Note:
99
- - Value range is 0-64008.
100
- """
101
- self._max_tp = max_tp
102
-
103
82
  @property
104
83
  def max_sp(self) -> int:
105
- """
106
- Note:
107
- - Value range is 0-64008.
108
- """
109
84
  return self._max_sp
110
85
 
111
- @max_sp.setter
112
- def max_sp(self, max_sp: int) -> None:
113
- """
114
- Note:
115
- - Value range is 0-64008.
116
- """
117
- self._max_sp = max_sp
118
-
119
86
  @property
120
87
  def stat_points(self) -> int:
121
- """
122
- Note:
123
- - Value range is 0-64008.
124
- """
125
88
  return self._stat_points
126
89
 
127
- @stat_points.setter
128
- def stat_points(self, stat_points: int) -> None:
129
- """
130
- Note:
131
- - Value range is 0-64008.
132
- """
133
- self._stat_points = stat_points
134
-
135
90
  @property
136
91
  def skill_points(self) -> int:
137
- """
138
- Note:
139
- - Value range is 0-64008.
140
- """
141
92
  return self._skill_points
142
93
 
143
- @skill_points.setter
144
- def skill_points(self, skill_points: int) -> None:
145
- """
146
- Note:
147
- - Value range is 0-64008.
148
- """
149
- self._skill_points = skill_points
150
-
151
94
  @property
152
95
  def karma(self) -> int:
153
- """
154
- Note:
155
- - Value range is 0-64008.
156
- """
157
96
  return self._karma
158
97
 
159
- @karma.setter
160
- def karma(self, karma: int) -> None:
161
- """
162
- Note:
163
- - Value range is 0-64008.
164
- """
165
- self._karma = karma
166
-
167
98
  @property
168
99
  def secondary(self) -> CharacterSecondaryStats:
169
100
  return self._secondary
170
101
 
171
- @secondary.setter
172
- def secondary(self, secondary: CharacterSecondaryStats) -> None:
173
- self._secondary = secondary
174
-
175
102
  @property
176
103
  def base(self) -> CharacterBaseStatsWelcome:
177
104
  return self._base
178
105
 
179
- @base.setter
180
- def base(self, base: CharacterBaseStatsWelcome) -> None:
181
- self._base = base
182
-
183
106
  @staticmethod
184
107
  def serialize(writer: EoWriter, data: "CharacterStatsWelcome") -> None:
185
108
  """
@@ -189,36 +112,40 @@ class CharacterStatsWelcome:
189
112
  writer (EoWriter): The writer that the data will be serialized to.
190
113
  data (CharacterStatsWelcome): The data to serialize.
191
114
  """
192
- if data._hp is None:
193
- raise SerializationError("hp must be provided.")
194
- writer.add_short(data._hp)
195
- if data._max_hp is None:
196
- raise SerializationError("max_hp must be provided.")
197
- writer.add_short(data._max_hp)
198
- if data._tp is None:
199
- raise SerializationError("tp must be provided.")
200
- writer.add_short(data._tp)
201
- if data._max_tp is None:
202
- raise SerializationError("max_tp must be provided.")
203
- writer.add_short(data._max_tp)
204
- if data._max_sp is None:
205
- raise SerializationError("max_sp must be provided.")
206
- writer.add_short(data._max_sp)
207
- if data._stat_points is None:
208
- raise SerializationError("stat_points must be provided.")
209
- writer.add_short(data._stat_points)
210
- if data._skill_points is None:
211
- raise SerializationError("skill_points must be provided.")
212
- writer.add_short(data._skill_points)
213
- if data._karma is None:
214
- raise SerializationError("karma must be provided.")
215
- writer.add_short(data._karma)
216
- if data._secondary is None:
217
- raise SerializationError("secondary must be provided.")
218
- CharacterSecondaryStats.serialize(writer, data._secondary)
219
- if data._base is None:
220
- raise SerializationError("base must be provided.")
221
- CharacterBaseStatsWelcome.serialize(writer, data._base)
115
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
116
+ try:
117
+ if data._hp is None:
118
+ raise SerializationError("hp must be provided.")
119
+ writer.add_short(data._hp)
120
+ if data._max_hp is None:
121
+ raise SerializationError("max_hp must be provided.")
122
+ writer.add_short(data._max_hp)
123
+ if data._tp is None:
124
+ raise SerializationError("tp must be provided.")
125
+ writer.add_short(data._tp)
126
+ if data._max_tp is None:
127
+ raise SerializationError("max_tp must be provided.")
128
+ writer.add_short(data._max_tp)
129
+ if data._max_sp is None:
130
+ raise SerializationError("max_sp must be provided.")
131
+ writer.add_short(data._max_sp)
132
+ if data._stat_points is None:
133
+ raise SerializationError("stat_points must be provided.")
134
+ writer.add_short(data._stat_points)
135
+ if data._skill_points is None:
136
+ raise SerializationError("skill_points must be provided.")
137
+ writer.add_short(data._skill_points)
138
+ if data._karma is None:
139
+ raise SerializationError("karma must be provided.")
140
+ writer.add_short(data._karma)
141
+ if data._secondary is None:
142
+ raise SerializationError("secondary must be provided.")
143
+ CharacterSecondaryStats.serialize(writer, data._secondary)
144
+ if data._base is None:
145
+ raise SerializationError("base must be provided.")
146
+ CharacterBaseStatsWelcome.serialize(writer, data._base)
147
+ finally:
148
+ writer.string_sanitization_mode = old_string_sanitization_mode
222
149
 
223
150
  @staticmethod
224
151
  def deserialize(reader: EoReader) -> "CharacterStatsWelcome":
@@ -231,22 +158,22 @@ class CharacterStatsWelcome:
231
158
  Returns:
232
159
  CharacterStatsWelcome: The data to serialize.
233
160
  """
234
- data: CharacterStatsWelcome = CharacterStatsWelcome()
235
161
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
236
162
  try:
237
163
  reader_start_position: int = reader.position
238
- data._hp = reader.get_short()
239
- data._max_hp = reader.get_short()
240
- data._tp = reader.get_short()
241
- data._max_tp = reader.get_short()
242
- data._max_sp = reader.get_short()
243
- data._stat_points = reader.get_short()
244
- data._skill_points = reader.get_short()
245
- data._karma = reader.get_short()
246
- data._secondary = CharacterSecondaryStats.deserialize(reader)
247
- data._base = CharacterBaseStatsWelcome.deserialize(reader)
248
- data._byte_size = reader.position - reader_start_position
249
- return data
164
+ hp = reader.get_short()
165
+ max_hp = reader.get_short()
166
+ tp = reader.get_short()
167
+ max_tp = reader.get_short()
168
+ max_sp = reader.get_short()
169
+ stat_points = reader.get_short()
170
+ skill_points = reader.get_short()
171
+ karma = reader.get_short()
172
+ secondary = CharacterSecondaryStats.deserialize(reader)
173
+ base = CharacterBaseStatsWelcome.deserialize(reader)
174
+ result = CharacterStatsWelcome(hp=hp, max_hp=max_hp, tp=tp, max_tp=max_tp, max_sp=max_sp, stat_points=stat_points, skill_points=skill_points, karma=karma, secondary=secondary, base=base)
175
+ result._byte_size = reader.position - reader_start_position
176
+ return result
250
177
  finally:
251
178
  reader.chunked_reading_mode = old_chunked_reading_mode
252
179
 
@@ -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 ..three_item import ThreeItem
8
9
  from ..packet_family import PacketFamily
9
10
  from ..packet_action import PacketAction
@@ -17,7 +18,16 @@ class ChestAgreeServerPacket(Packet):
17
18
  Chest contents updating
18
19
  """
19
20
  _byte_size: int = 0
20
- _items: list[ThreeItem] = None # type: ignore [assignment]
21
+ _items: tuple[ThreeItem, ...]
22
+
23
+ def __init__(self, *, items: Iterable[ThreeItem]):
24
+ """
25
+ Create a new instance of ChestAgreeServerPacket.
26
+
27
+ Args:
28
+ items (Iterable[ThreeItem]):
29
+ """
30
+ self._items = tuple(items)
21
31
 
22
32
  @property
23
33
  def byte_size(self) -> int:
@@ -30,13 +40,9 @@ class ChestAgreeServerPacket(Packet):
30
40
  return self._byte_size
31
41
 
32
42
  @property
33
- def items(self) -> list[ThreeItem]:
43
+ def items(self) -> tuple[ThreeItem, ...]:
34
44
  return self._items
35
45
 
36
- @items.setter
37
- def items(self, items: list[ThreeItem]) -> None:
38
- self._items = items
39
-
40
46
  @staticmethod
41
47
  def family() -> PacketFamily:
42
48
  """
@@ -75,10 +81,14 @@ class ChestAgreeServerPacket(Packet):
75
81
  writer (EoWriter): The writer that the data will be serialized to.
76
82
  data (ChestAgreeServerPacket): The data to serialize.
77
83
  """
78
- if data._items is None:
79
- raise SerializationError("items must be provided.")
80
- for i in range(len(data._items)):
81
- ThreeItem.serialize(writer, data._items[i])
84
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
85
+ try:
86
+ if data._items is None:
87
+ raise SerializationError("items must be provided.")
88
+ for i in range(len(data._items)):
89
+ ThreeItem.serialize(writer, data._items[i])
90
+ finally:
91
+ writer.string_sanitization_mode = old_string_sanitization_mode
82
92
 
83
93
  @staticmethod
84
94
  def deserialize(reader: EoReader) -> "ChestAgreeServerPacket":
@@ -91,16 +101,16 @@ class ChestAgreeServerPacket(Packet):
91
101
  Returns:
92
102
  ChestAgreeServerPacket: The data to serialize.
93
103
  """
94
- data: ChestAgreeServerPacket = ChestAgreeServerPacket()
95
104
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
96
105
  try:
97
106
  reader_start_position: int = reader.position
98
107
  items_length = int(reader.remaining / 5)
99
- data._items = []
108
+ items = []
100
109
  for i in range(items_length):
101
- data._items.append(ThreeItem.deserialize(reader))
102
- data._byte_size = reader.position - reader_start_position
103
- return data
110
+ items.append(ThreeItem.deserialize(reader))
111
+ result = ChestAgreeServerPacket(items=items)
112
+ result._byte_size = reader.position - reader_start_position
113
+ return result
104
114
  finally:
105
115
  reader.chunked_reading_mode = old_chunked_reading_mode
106
116
 
@@ -13,11 +13,20 @@ from .....data.eo_reader import EoReader
13
13
 
14
14
  class ChestCloseServerPacket(Packet):
15
15
  """
16
- Reply to trying to interact with a locked or "broken" chest.
16
+ Reply to trying to interact with a locked or "broken" chest.
17
17
  The official client assumes a broken chest if the packet is under 2 bytes in length.
18
18
  """
19
19
  _byte_size: int = 0
20
- _key: Optional[int] = None # type: ignore [assignment]
20
+ _key: Optional[int]
21
+
22
+ def __init__(self, *, key: Optional[int] = None):
23
+ """
24
+ Create a new instance of ChestCloseServerPacket.
25
+
26
+ Args:
27
+ key (Optional[int]): Sent if the player is trying to interact with a locked chest (Value range is 0-64008.)
28
+ """
29
+ self._key = key
21
30
 
22
31
  @property
23
32
  def byte_size(self) -> int:
@@ -33,22 +42,9 @@ class ChestCloseServerPacket(Packet):
33
42
  def key(self) -> Optional[int]:
34
43
  """
35
44
  Sent if the player is trying to interact with a locked chest
36
-
37
- Note:
38
- - Value range is 0-64008.
39
45
  """
40
46
  return self._key
41
47
 
42
- @key.setter
43
- def key(self, key: Optional[int]) -> None:
44
- """
45
- Sent if the player is trying to interact with a locked chest
46
-
47
- Note:
48
- - Value range is 0-64008.
49
- """
50
- self._key = key
51
-
52
48
  @staticmethod
53
49
  def family() -> PacketFamily:
54
50
  """
@@ -87,10 +83,16 @@ class ChestCloseServerPacket(Packet):
87
83
  writer (EoWriter): The writer that the data will be serialized to.
88
84
  data (ChestCloseServerPacket): The data to serialize.
89
85
  """
90
- reached_missing_optional = data._key is None
91
- if not reached_missing_optional:
92
- writer.add_short(cast(int, data._key))
93
- writer.add_string("N")
86
+ old_writer_length: int = len(writer)
87
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
88
+ try:
89
+ reached_missing_optional = data._key is None
90
+ if not reached_missing_optional:
91
+ writer.add_short(cast(int, data._key))
92
+ if len(writer) == old_writer_length:
93
+ writer.add_string("N")
94
+ finally:
95
+ writer.string_sanitization_mode = old_string_sanitization_mode
94
96
 
95
97
  @staticmethod
96
98
  def deserialize(reader: EoReader) -> "ChestCloseServerPacket":
@@ -103,15 +105,17 @@ class ChestCloseServerPacket(Packet):
103
105
  Returns:
104
106
  ChestCloseServerPacket: The data to serialize.
105
107
  """
106
- data: ChestCloseServerPacket = ChestCloseServerPacket()
107
108
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
108
109
  try:
109
110
  reader_start_position: int = reader.position
111
+ key: Optional[int] = None
110
112
  if reader.remaining > 0:
111
- data._key = reader.get_short()
112
- reader.get_string()
113
- data._byte_size = reader.position - reader_start_position
114
- return data
113
+ key = reader.get_short()
114
+ if reader.position == reader_start_position:
115
+ reader.get_string()
116
+ result = ChestCloseServerPacket(key=key)
117
+ result._byte_size = reader.position - reader_start_position
118
+ return result
115
119
  finally:
116
120
  reader.chunked_reading_mode = old_chunked_reading_mode
117
121