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
@@ -12,8 +12,19 @@ class BigCoords:
12
12
  Map coordinates with 2-byte values
13
13
  """
14
14
  _byte_size: int = 0
15
- _x: int = None # type: ignore [assignment]
16
- _y: int = None # type: ignore [assignment]
15
+ _x: int
16
+ _y: int
17
+
18
+ def __init__(self, *, x: int, y: int):
19
+ """
20
+ Create a new instance of BigCoords.
21
+
22
+ Args:
23
+ x (int): (Value range is 0-64008.)
24
+ y (int): (Value range is 0-64008.)
25
+ """
26
+ self._x = x
27
+ self._y = y
17
28
 
18
29
  @property
19
30
  def byte_size(self) -> int:
@@ -27,36 +38,12 @@ class BigCoords:
27
38
 
28
39
  @property
29
40
  def x(self) -> int:
30
- """
31
- Note:
32
- - Value range is 0-64008.
33
- """
34
41
  return self._x
35
42
 
36
- @x.setter
37
- def x(self, x: int) -> None:
38
- """
39
- Note:
40
- - Value range is 0-64008.
41
- """
42
- self._x = x
43
-
44
43
  @property
45
44
  def y(self) -> int:
46
- """
47
- Note:
48
- - Value range is 0-64008.
49
- """
50
45
  return self._y
51
46
 
52
- @y.setter
53
- def y(self, y: int) -> None:
54
- """
55
- Note:
56
- - Value range is 0-64008.
57
- """
58
- self._y = y
59
-
60
47
  @staticmethod
61
48
  def serialize(writer: EoWriter, data: "BigCoords") -> None:
62
49
  """
@@ -66,12 +53,16 @@ class BigCoords:
66
53
  writer (EoWriter): The writer that the data will be serialized to.
67
54
  data (BigCoords): The data to serialize.
68
55
  """
69
- if data._x is None:
70
- raise SerializationError("x must be provided.")
71
- writer.add_short(data._x)
72
- if data._y is None:
73
- raise SerializationError("y must be provided.")
74
- writer.add_short(data._y)
56
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
57
+ try:
58
+ if data._x is None:
59
+ raise SerializationError("x must be provided.")
60
+ writer.add_short(data._x)
61
+ if data._y is None:
62
+ raise SerializationError("y must be provided.")
63
+ writer.add_short(data._y)
64
+ finally:
65
+ writer.string_sanitization_mode = old_string_sanitization_mode
75
66
 
76
67
  @staticmethod
77
68
  def deserialize(reader: EoReader) -> "BigCoords":
@@ -84,14 +75,14 @@ class BigCoords:
84
75
  Returns:
85
76
  BigCoords: The data to serialize.
86
77
  """
87
- data: BigCoords = BigCoords()
88
78
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
89
79
  try:
90
80
  reader_start_position: int = reader.position
91
- data._x = reader.get_short()
92
- data._y = reader.get_short()
93
- data._byte_size = reader.position - reader_start_position
94
- return data
81
+ x = reader.get_short()
82
+ y = reader.get_short()
83
+ result = BigCoords(x=x, y=y)
84
+ result._byte_size = reader.position - reader_start_position
85
+ return result
95
86
  finally:
96
87
  reader.chunked_reading_mode = old_chunked_reading_mode
97
88
 
@@ -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 .board_post_listing import BoardPostListing
8
9
  from ..packet_family import PacketFamily
9
10
  from ..packet_action import PacketAction
@@ -17,9 +18,21 @@ class BoardOpenServerPacket(Packet):
17
18
  Reply to opening a town board
18
19
  """
19
20
  _byte_size: int = 0
20
- _board_id: int = None # type: ignore [assignment]
21
- _posts_count: int = None # type: ignore [assignment]
22
- _posts: list[BoardPostListing] = None # type: ignore [assignment]
21
+ _board_id: int
22
+ _posts_count: int
23
+ _posts: tuple[BoardPostListing, ...]
24
+
25
+ def __init__(self, *, board_id: int, posts: Iterable[BoardPostListing]):
26
+ """
27
+ Create a new instance of BoardOpenServerPacket.
28
+
29
+ Args:
30
+ board_id (int): (Value range is 0-252.)
31
+ posts (Iterable[BoardPostListing]): (Length must be 252 or less.)
32
+ """
33
+ self._board_id = board_id
34
+ self._posts = tuple(posts)
35
+ self._posts_count = len(self._posts)
23
36
 
24
37
  @property
25
38
  def byte_size(self) -> int:
@@ -33,37 +46,12 @@ class BoardOpenServerPacket(Packet):
33
46
 
34
47
  @property
35
48
  def board_id(self) -> int:
36
- """
37
- Note:
38
- - Value range is 0-252.
39
- """
40
49
  return self._board_id
41
50
 
42
- @board_id.setter
43
- def board_id(self, board_id: int) -> None:
44
- """
45
- Note:
46
- - Value range is 0-252.
47
- """
48
- self._board_id = board_id
49
-
50
51
  @property
51
- def posts(self) -> list[BoardPostListing]:
52
- """
53
- Note:
54
- - Length must be 252 or less.
55
- """
52
+ def posts(self) -> tuple[BoardPostListing, ...]:
56
53
  return self._posts
57
54
 
58
- @posts.setter
59
- def posts(self, posts: list[BoardPostListing]) -> None:
60
- """
61
- Note:
62
- - Length must be 252 or less.
63
- """
64
- self._posts = posts
65
- self._posts_count = len(self._posts)
66
-
67
55
  @staticmethod
68
56
  def family() -> PacketFamily:
69
57
  """
@@ -102,20 +90,25 @@ class BoardOpenServerPacket(Packet):
102
90
  writer (EoWriter): The writer that the data will be serialized to.
103
91
  data (BoardOpenServerPacket): The data to serialize.
104
92
  """
105
- if data._board_id is None:
106
- raise SerializationError("board_id must be provided.")
107
- writer.add_char(data._board_id)
108
- if data._posts_count is None:
109
- raise SerializationError("posts_count must be provided.")
110
- writer.add_char(data._posts_count)
111
- if data._posts is None:
112
- raise SerializationError("posts must be provided.")
113
- if len(data._posts) > 252:
114
- raise SerializationError(f"Expected length of posts to be 252 or less, got {len(data._posts)}.")
115
- for i in range(data._posts_count):
116
- if i > 0:
93
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
94
+ try:
95
+ writer.string_sanitization_mode = True
96
+ if data._board_id is None:
97
+ raise SerializationError("board_id must be provided.")
98
+ writer.add_char(data._board_id)
99
+ if data._posts_count is None:
100
+ raise SerializationError("posts_count must be provided.")
101
+ writer.add_char(data._posts_count)
102
+ if data._posts is None:
103
+ raise SerializationError("posts must be provided.")
104
+ if len(data._posts) > 252:
105
+ raise SerializationError(f"Expected length of posts to be 252 or less, got {len(data._posts)}.")
106
+ for i in range(data._posts_count):
107
+ BoardPostListing.serialize(writer, data._posts[i])
117
108
  writer.add_byte(0xFF)
118
- BoardPostListing.serialize(writer, data._posts[i])
109
+ writer.string_sanitization_mode = False
110
+ finally:
111
+ writer.string_sanitization_mode = old_string_sanitization_mode
119
112
 
120
113
  @staticmethod
121
114
  def deserialize(reader: EoReader) -> "BoardOpenServerPacket":
@@ -128,21 +121,20 @@ class BoardOpenServerPacket(Packet):
128
121
  Returns:
129
122
  BoardOpenServerPacket: The data to serialize.
130
123
  """
131
- data: BoardOpenServerPacket = BoardOpenServerPacket()
132
124
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
133
125
  try:
134
126
  reader_start_position: int = reader.position
135
127
  reader.chunked_reading_mode = True
136
- data._board_id = reader.get_char()
137
- data._posts_count = reader.get_char()
138
- data._posts = []
139
- for i in range(data._posts_count):
140
- data._posts.append(BoardPostListing.deserialize(reader))
141
- if i + 1 < data._posts_count:
142
- reader.next_chunk()
128
+ board_id = reader.get_char()
129
+ posts_count = reader.get_char()
130
+ posts = []
131
+ for i in range(posts_count):
132
+ posts.append(BoardPostListing.deserialize(reader))
133
+ reader.next_chunk()
143
134
  reader.chunked_reading_mode = False
144
- data._byte_size = reader.position - reader_start_position
145
- return data
135
+ result = BoardOpenServerPacket(board_id=board_id, posts=posts)
136
+ result._byte_size = reader.position - reader_start_position
137
+ return result
146
138
  finally:
147
139
  reader.chunked_reading_mode = old_chunked_reading_mode
148
140
 
@@ -15,8 +15,19 @@ class BoardPlayerServerPacket(Packet):
15
15
  Reply to reading a post on a town board
16
16
  """
17
17
  _byte_size: int = 0
18
- _post_id: int = None # type: ignore [assignment]
19
- _post_body: str = None # type: ignore [assignment]
18
+ _post_id: int
19
+ _post_body: str
20
+
21
+ def __init__(self, *, post_id: int, post_body: str):
22
+ """
23
+ Create a new instance of BoardPlayerServerPacket.
24
+
25
+ Args:
26
+ post_id (int): (Value range is 0-64008.)
27
+ post_body (str):
28
+ """
29
+ self._post_id = post_id
30
+ self._post_body = post_body
20
31
 
21
32
  @property
22
33
  def byte_size(self) -> int:
@@ -30,28 +41,12 @@ class BoardPlayerServerPacket(Packet):
30
41
 
31
42
  @property
32
43
  def post_id(self) -> int:
33
- """
34
- Note:
35
- - Value range is 0-64008.
36
- """
37
44
  return self._post_id
38
45
 
39
- @post_id.setter
40
- def post_id(self, post_id: int) -> None:
41
- """
42
- Note:
43
- - Value range is 0-64008.
44
- """
45
- self._post_id = post_id
46
-
47
46
  @property
48
47
  def post_body(self) -> str:
49
48
  return self._post_body
50
49
 
51
- @post_body.setter
52
- def post_body(self, post_body: str) -> None:
53
- self._post_body = post_body
54
-
55
50
  @staticmethod
56
51
  def family() -> PacketFamily:
57
52
  """
@@ -90,12 +85,18 @@ class BoardPlayerServerPacket(Packet):
90
85
  writer (EoWriter): The writer that the data will be serialized to.
91
86
  data (BoardPlayerServerPacket): The data to serialize.
92
87
  """
93
- if data._post_id is None:
94
- raise SerializationError("post_id must be provided.")
95
- writer.add_short(data._post_id)
96
- if data._post_body is None:
97
- raise SerializationError("post_body must be provided.")
98
- writer.add_string(data._post_body)
88
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
89
+ try:
90
+ writer.string_sanitization_mode = True
91
+ if data._post_id is None:
92
+ raise SerializationError("post_id must be provided.")
93
+ writer.add_short(data._post_id)
94
+ if data._post_body is None:
95
+ raise SerializationError("post_body must be provided.")
96
+ writer.add_string(data._post_body)
97
+ writer.string_sanitization_mode = False
98
+ finally:
99
+ writer.string_sanitization_mode = old_string_sanitization_mode
99
100
 
100
101
  @staticmethod
101
102
  def deserialize(reader: EoReader) -> "BoardPlayerServerPacket":
@@ -108,16 +109,16 @@ class BoardPlayerServerPacket(Packet):
108
109
  Returns:
109
110
  BoardPlayerServerPacket: The data to serialize.
110
111
  """
111
- data: BoardPlayerServerPacket = BoardPlayerServerPacket()
112
112
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
113
113
  try:
114
114
  reader_start_position: int = reader.position
115
115
  reader.chunked_reading_mode = True
116
- data._post_id = reader.get_short()
117
- data._post_body = reader.get_string()
116
+ post_id = reader.get_short()
117
+ post_body = reader.get_string()
118
118
  reader.chunked_reading_mode = False
119
- data._byte_size = reader.position - reader_start_position
120
- return data
119
+ result = BoardPlayerServerPacket(post_id=post_id, post_body=post_body)
120
+ result._byte_size = reader.position - reader_start_position
121
+ return result
121
122
  finally:
122
123
  reader.chunked_reading_mode = old_chunked_reading_mode
123
124
 
@@ -12,9 +12,22 @@ class BoardPostListing:
12
12
  An entry in the list of town board posts
13
13
  """
14
14
  _byte_size: int = 0
15
- _post_id: int = None # type: ignore [assignment]
16
- _author: str = None # type: ignore [assignment]
17
- _subject: str = None # type: ignore [assignment]
15
+ _post_id: int
16
+ _author: str
17
+ _subject: str
18
+
19
+ def __init__(self, *, post_id: int, author: str, subject: str):
20
+ """
21
+ Create a new instance of BoardPostListing.
22
+
23
+ Args:
24
+ post_id (int): (Value range is 0-64008.)
25
+ author (str):
26
+ subject (str):
27
+ """
28
+ self._post_id = post_id
29
+ self._author = author
30
+ self._subject = subject
18
31
 
19
32
  @property
20
33
  def byte_size(self) -> int:
@@ -28,36 +41,16 @@ class BoardPostListing:
28
41
 
29
42
  @property
30
43
  def post_id(self) -> int:
31
- """
32
- Note:
33
- - Value range is 0-64008.
34
- """
35
44
  return self._post_id
36
45
 
37
- @post_id.setter
38
- def post_id(self, post_id: int) -> None:
39
- """
40
- Note:
41
- - Value range is 0-64008.
42
- """
43
- self._post_id = post_id
44
-
45
46
  @property
46
47
  def author(self) -> str:
47
48
  return self._author
48
49
 
49
- @author.setter
50
- def author(self, author: str) -> None:
51
- self._author = author
52
-
53
50
  @property
54
51
  def subject(self) -> str:
55
52
  return self._subject
56
53
 
57
- @subject.setter
58
- def subject(self, subject: str) -> None:
59
- self._subject = subject
60
-
61
54
  @staticmethod
62
55
  def serialize(writer: EoWriter, data: "BoardPostListing") -> None:
63
56
  """
@@ -67,17 +60,23 @@ class BoardPostListing:
67
60
  writer (EoWriter): The writer that the data will be serialized to.
68
61
  data (BoardPostListing): The data to serialize.
69
62
  """
70
- if data._post_id is None:
71
- raise SerializationError("post_id must be provided.")
72
- writer.add_short(data._post_id)
73
- writer.add_byte(0xFF)
74
- if data._author is None:
75
- raise SerializationError("author must be provided.")
76
- writer.add_string(data._author)
77
- writer.add_byte(0xFF)
78
- if data._subject is None:
79
- raise SerializationError("subject must be provided.")
80
- writer.add_string(data._subject)
63
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
64
+ try:
65
+ writer.string_sanitization_mode = True
66
+ if data._post_id is None:
67
+ raise SerializationError("post_id must be provided.")
68
+ writer.add_short(data._post_id)
69
+ writer.add_byte(0xFF)
70
+ if data._author is None:
71
+ raise SerializationError("author must be provided.")
72
+ writer.add_string(data._author)
73
+ writer.add_byte(0xFF)
74
+ if data._subject is None:
75
+ raise SerializationError("subject must be provided.")
76
+ writer.add_string(data._subject)
77
+ writer.string_sanitization_mode = False
78
+ finally:
79
+ writer.string_sanitization_mode = old_string_sanitization_mode
81
80
 
82
81
  @staticmethod
83
82
  def deserialize(reader: EoReader) -> "BoardPostListing":
@@ -90,19 +89,19 @@ class BoardPostListing:
90
89
  Returns:
91
90
  BoardPostListing: The data to serialize.
92
91
  """
93
- data: BoardPostListing = BoardPostListing()
94
92
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
95
93
  try:
96
94
  reader_start_position: int = reader.position
97
95
  reader.chunked_reading_mode = True
98
- data._post_id = reader.get_short()
96
+ post_id = reader.get_short()
99
97
  reader.next_chunk()
100
- data._author = reader.get_string()
98
+ author = reader.get_string()
101
99
  reader.next_chunk()
102
- data._subject = reader.get_string()
100
+ subject = reader.get_string()
103
101
  reader.chunked_reading_mode = False
104
- data._byte_size = reader.position - reader_start_position
105
- return data
102
+ result = BoardPostListing(post_id=post_id, author=author, subject=subject)
103
+ result._byte_size = reader.position - reader_start_position
104
+ return result
106
105
  finally:
107
106
  reader.chunked_reading_mode = old_chunked_reading_mode
108
107
 
@@ -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 .character_icon import CharacterIcon
8
9
  from .character_details import CharacterDetails
9
10
  from ..packet_family import PacketFamily
@@ -18,9 +19,22 @@ class BookReplyServerPacket(Packet):
18
19
  Reply to requesting a book
19
20
  """
20
21
  _byte_size: int = 0
21
- _details: CharacterDetails = None # type: ignore [assignment]
22
- _icon: CharacterIcon = None # type: ignore [assignment]
23
- _quest_names: list[str] = None # type: ignore [assignment]
22
+ _details: CharacterDetails
23
+ _icon: CharacterIcon
24
+ _quest_names: tuple[str, ...]
25
+
26
+ def __init__(self, *, details: CharacterDetails, icon: CharacterIcon, quest_names: Iterable[str]):
27
+ """
28
+ Create a new instance of BookReplyServerPacket.
29
+
30
+ Args:
31
+ details (CharacterDetails):
32
+ icon (CharacterIcon):
33
+ quest_names (Iterable[str]):
34
+ """
35
+ self._details = details
36
+ self._icon = icon
37
+ self._quest_names = tuple(quest_names)
24
38
 
25
39
  @property
26
40
  def byte_size(self) -> int:
@@ -36,26 +50,14 @@ class BookReplyServerPacket(Packet):
36
50
  def details(self) -> CharacterDetails:
37
51
  return self._details
38
52
 
39
- @details.setter
40
- def details(self, details: CharacterDetails) -> None:
41
- self._details = details
42
-
43
53
  @property
44
54
  def icon(self) -> CharacterIcon:
45
55
  return self._icon
46
56
 
47
- @icon.setter
48
- def icon(self, icon: CharacterIcon) -> None:
49
- self._icon = icon
50
-
51
57
  @property
52
- def quest_names(self) -> list[str]:
58
+ def quest_names(self) -> tuple[str, ...]:
53
59
  return self._quest_names
54
60
 
55
- @quest_names.setter
56
- def quest_names(self, quest_names: list[str]) -> None:
57
- self._quest_names = quest_names
58
-
59
61
  @staticmethod
60
62
  def family() -> PacketFamily:
61
63
  """
@@ -94,19 +96,24 @@ class BookReplyServerPacket(Packet):
94
96
  writer (EoWriter): The writer that the data will be serialized to.
95
97
  data (BookReplyServerPacket): The data to serialize.
96
98
  """
97
- if data._details is None:
98
- raise SerializationError("details must be provided.")
99
- CharacterDetails.serialize(writer, data._details)
100
- if data._icon is None:
101
- raise SerializationError("icon must be provided.")
102
- writer.add_char(int(data._icon))
103
- writer.add_byte(0xFF)
104
- if data._quest_names is None:
105
- raise SerializationError("quest_names must be provided.")
106
- for i in range(len(data._quest_names)):
107
- if i > 0:
99
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
100
+ try:
101
+ writer.string_sanitization_mode = True
102
+ if data._details is None:
103
+ raise SerializationError("details must be provided.")
104
+ CharacterDetails.serialize(writer, data._details)
105
+ if data._icon is None:
106
+ raise SerializationError("icon must be provided.")
107
+ writer.add_char(int(data._icon))
108
+ writer.add_byte(0xFF)
109
+ if data._quest_names is None:
110
+ raise SerializationError("quest_names must be provided.")
111
+ for i in range(len(data._quest_names)):
112
+ writer.add_string(data._quest_names[i])
108
113
  writer.add_byte(0xFF)
109
- writer.add_string(data._quest_names[i])
114
+ writer.string_sanitization_mode = False
115
+ finally:
116
+ writer.string_sanitization_mode = old_string_sanitization_mode
110
117
 
111
118
  @staticmethod
112
119
  def deserialize(reader: EoReader) -> "BookReplyServerPacket":
@@ -119,21 +126,21 @@ class BookReplyServerPacket(Packet):
119
126
  Returns:
120
127
  BookReplyServerPacket: The data to serialize.
121
128
  """
122
- data: BookReplyServerPacket = BookReplyServerPacket()
123
129
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
124
130
  try:
125
131
  reader_start_position: int = reader.position
126
132
  reader.chunked_reading_mode = True
127
- data._details = CharacterDetails.deserialize(reader)
128
- data._icon = CharacterIcon(reader.get_char())
133
+ details = CharacterDetails.deserialize(reader)
134
+ icon = CharacterIcon(reader.get_char())
129
135
  reader.next_chunk()
130
- data._quest_names = []
136
+ quest_names = []
131
137
  while reader.remaining > 0:
132
- data._quest_names.append(reader.get_string())
138
+ quest_names.append(reader.get_string())
133
139
  reader.next_chunk()
134
140
  reader.chunked_reading_mode = False
135
- data._byte_size = reader.position - reader_start_position
136
- return data
141
+ result = BookReplyServerPacket(details=details, icon=icon, quest_names=quest_names)
142
+ result._byte_size = reader.position - reader_start_position
143
+ return result
137
144
  finally:
138
145
  reader.chunked_reading_mode = old_chunked_reading_mode
139
146