eolib 1.1.1__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. eolib/__about__.py +1 -1
  2. eolib/protocol/__init__.py +1 -1
  3. eolib/protocol/_generated/coords.py +28 -37
  4. eolib/protocol/_generated/emote.py +1 -1
  5. eolib/protocol/_generated/map/emf.py +248 -410
  6. eolib/protocol/_generated/map/map_graphic_layer.py +34 -32
  7. eolib/protocol/_generated/map/map_graphic_row.py +41 -49
  8. eolib/protocol/_generated/map/map_graphic_row_tile.py +28 -37
  9. eolib/protocol/_generated/map/map_item.py +56 -97
  10. eolib/protocol/_generated/map/map_legacy_door_key.py +28 -29
  11. eolib/protocol/_generated/map/map_npc.py +49 -80
  12. eolib/protocol/_generated/map/map_sign.py +43 -54
  13. eolib/protocol/_generated/map/map_tile_spec_row.py +41 -49
  14. eolib/protocol/_generated/map/map_tile_spec_row_tile.py +28 -29
  15. eolib/protocol/_generated/map/map_warp.py +42 -63
  16. eolib/protocol/_generated/map/map_warp_row.py +41 -49
  17. eolib/protocol/_generated/map/map_warp_row_tile.py +28 -29
  18. eolib/protocol/_generated/net/char_item.py +28 -37
  19. eolib/protocol/_generated/net/client/account_agree_client_packet.py +40 -33
  20. eolib/protocol/_generated/net/client/account_create_client_packet.py +80 -91
  21. eolib/protocol/_generated/net/client/account_request_client_packet.py +21 -12
  22. eolib/protocol/_generated/net/client/admin_interact_report_client_packet.py +31 -22
  23. eolib/protocol/_generated/net/client/admin_interact_tell_client_packet.py +21 -12
  24. eolib/protocol/_generated/net/client/attack_use_client_packet.py +28 -29
  25. eolib/protocol/_generated/net/client/bank_add_client_packet.py +28 -37
  26. eolib/protocol/_generated/net/client/bank_open_client_packet.py +21 -20
  27. eolib/protocol/_generated/net/client/bank_take_client_packet.py +28 -37
  28. eolib/protocol/_generated/net/client/barber_buy_client_packet.py +35 -54
  29. eolib/protocol/_generated/net/client/barber_open_client_packet.py +21 -20
  30. eolib/protocol/_generated/net/client/board_create_client_packet.py +40 -41
  31. eolib/protocol/_generated/net/client/board_open_client_packet.py +21 -20
  32. eolib/protocol/_generated/net/client/board_remove_client_packet.py +28 -37
  33. eolib/protocol/_generated/net/client/board_take_client_packet.py +28 -37
  34. eolib/protocol/_generated/net/client/book_request_client_packet.py +22 -21
  35. eolib/protocol/_generated/net/client/byte_coords.py +28 -37
  36. eolib/protocol/_generated/net/client/chair_request_client_packet.py +56 -40
  37. eolib/protocol/_generated/net/client/character_create_client_packet.py +60 -91
  38. eolib/protocol/_generated/net/client/character_remove_client_packet.py +31 -35
  39. eolib/protocol/_generated/net/client/character_request_client_packet.py +22 -7
  40. eolib/protocol/_generated/net/client/character_take_client_packet.py +21 -20
  41. eolib/protocol/_generated/net/client/chest_add_client_packet.py +28 -21
  42. eolib/protocol/_generated/net/client/chest_open_client_packet.py +21 -12
  43. eolib/protocol/_generated/net/client/chest_take_client_packet.py +28 -29
  44. eolib/protocol/_generated/net/client/citizen_accept_client_packet.py +28 -37
  45. eolib/protocol/_generated/net/client/citizen_open_client_packet.py +21 -20
  46. eolib/protocol/_generated/net/client/citizen_remove_client_packet.py +21 -20
  47. eolib/protocol/_generated/net/client/citizen_reply_client_packet.py +47 -63
  48. eolib/protocol/_generated/net/client/citizen_request_client_packet.py +28 -37
  49. eolib/protocol/_generated/net/client/connection_accept_client_packet.py +35 -54
  50. eolib/protocol/_generated/net/client/connection_ping_client_packet.py +13 -7
  51. eolib/protocol/_generated/net/client/door_open_client_packet.py +21 -12
  52. eolib/protocol/_generated/net/client/emote_report_client_packet.py +21 -12
  53. eolib/protocol/_generated/net/client/face_player_client_packet.py +21 -12
  54. eolib/protocol/_generated/net/client/global_close_client_packet.py +13 -7
  55. eolib/protocol/_generated/net/client/global_open_client_packet.py +13 -7
  56. eolib/protocol/_generated/net/client/global_player_client_packet.py +13 -7
  57. eolib/protocol/_generated/net/client/global_remove_client_packet.py +13 -7
  58. eolib/protocol/_generated/net/client/guild_accept_client_packet.py +22 -21
  59. eolib/protocol/_generated/net/client/guild_agree_client_packet.py +99 -91
  60. eolib/protocol/_generated/net/client/guild_buy_client_packet.py +28 -37
  61. eolib/protocol/_generated/net/client/guild_create_client_packet.py +48 -51
  62. eolib/protocol/_generated/net/client/guild_junk_client_packet.py +21 -20
  63. eolib/protocol/_generated/net/client/guild_kick_client_packet.py +28 -29
  64. eolib/protocol/_generated/net/client/guild_open_client_packet.py +21 -20
  65. eolib/protocol/_generated/net/client/guild_player_client_packet.py +40 -41
  66. eolib/protocol/_generated/net/client/guild_rank_client_packet.py +36 -47
  67. eolib/protocol/_generated/net/client/guild_remove_client_packet.py +21 -20
  68. eolib/protocol/_generated/net/client/guild_report_client_packet.py +28 -29
  69. eolib/protocol/_generated/net/client/guild_request_client_packet.py +40 -41
  70. eolib/protocol/_generated/net/client/guild_take_client_packet.py +41 -29
  71. eolib/protocol/_generated/net/client/guild_tell_client_packet.py +28 -29
  72. eolib/protocol/_generated/net/client/guild_use_client_packet.py +21 -20
  73. eolib/protocol/_generated/net/client/init_init_client_packet.py +44 -55
  74. eolib/protocol/_generated/net/client/item_drop_client_packet.py +29 -29
  75. eolib/protocol/_generated/net/client/item_get_client_packet.py +21 -20
  76. eolib/protocol/_generated/net/client/item_junk_client_packet.py +21 -12
  77. eolib/protocol/_generated/net/client/item_use_client_packet.py +21 -20
  78. eolib/protocol/_generated/net/client/jukebox_msg_client_packet.py +24 -22
  79. eolib/protocol/_generated/net/client/jukebox_open_client_packet.py +21 -12
  80. eolib/protocol/_generated/net/client/jukebox_use_client_packet.py +28 -37
  81. eolib/protocol/_generated/net/client/locker_add_client_packet.py +28 -21
  82. eolib/protocol/_generated/net/client/locker_buy_client_packet.py +13 -7
  83. eolib/protocol/_generated/net/client/locker_open_client_packet.py +21 -12
  84. eolib/protocol/_generated/net/client/locker_take_client_packet.py +28 -29
  85. eolib/protocol/_generated/net/client/login_request_client_packet.py +32 -23
  86. eolib/protocol/_generated/net/client/marriage_open_client_packet.py +21 -20
  87. eolib/protocol/_generated/net/client/marriage_request_client_packet.py +38 -39
  88. eolib/protocol/_generated/net/client/message_ping_client_packet.py +13 -7
  89. eolib/protocol/_generated/net/client/npc_range_request_client_packet.py +35 -35
  90. eolib/protocol/_generated/net/client/paperdoll_add_client_packet.py +28 -37
  91. eolib/protocol/_generated/net/client/paperdoll_remove_client_packet.py +28 -37
  92. eolib/protocol/_generated/net/client/paperdoll_request_client_packet.py +22 -21
  93. eolib/protocol/_generated/net/client/party_accept_client_packet.py +28 -29
  94. eolib/protocol/_generated/net/client/party_remove_client_packet.py +21 -20
  95. eolib/protocol/_generated/net/client/party_request_client_packet.py +28 -29
  96. eolib/protocol/_generated/net/client/party_take_client_packet.py +21 -20
  97. eolib/protocol/_generated/net/client/player_range_request_client_packet.py +25 -23
  98. eolib/protocol/_generated/net/client/players_accept_client_packet.py +21 -12
  99. eolib/protocol/_generated/net/client/players_list_client_packet.py +13 -7
  100. eolib/protocol/_generated/net/client/players_request_client_packet.py +13 -7
  101. eolib/protocol/_generated/net/client/priest_accept_client_packet.py +21 -20
  102. eolib/protocol/_generated/net/client/priest_open_client_packet.py +21 -20
  103. eolib/protocol/_generated/net/client/priest_request_client_packet.py +31 -30
  104. eolib/protocol/_generated/net/client/priest_use_client_packet.py +22 -21
  105. eolib/protocol/_generated/net/client/quest_accept_client_packet.py +150 -115
  106. eolib/protocol/_generated/net/client/quest_list_client_packet.py +21 -12
  107. eolib/protocol/_generated/net/client/quest_use_client_packet.py +28 -38
  108. eolib/protocol/_generated/net/client/range_request_client_packet.py +38 -44
  109. eolib/protocol/_generated/net/client/refresh_request_client_packet.py +13 -7
  110. eolib/protocol/_generated/net/client/shop_buy_client_packet.py +28 -29
  111. eolib/protocol/_generated/net/client/shop_create_client_packet.py +28 -37
  112. eolib/protocol/_generated/net/client/shop_open_client_packet.py +21 -20
  113. eolib/protocol/_generated/net/client/shop_sell_client_packet.py +28 -29
  114. eolib/protocol/_generated/net/client/sit_request_client_packet.py +56 -43
  115. eolib/protocol/_generated/net/client/spell_request_client_packet.py +28 -37
  116. eolib/protocol/_generated/net/client/spell_target_group_client_packet.py +28 -37
  117. eolib/protocol/_generated/net/client/spell_target_other_client_packet.py +49 -80
  118. eolib/protocol/_generated/net/client/spell_target_self_client_packet.py +35 -46
  119. eolib/protocol/_generated/net/client/spell_use_client_packet.py +21 -12
  120. eolib/protocol/_generated/net/client/stat_skill_add_client_packet.py +83 -66
  121. eolib/protocol/_generated/net/client/stat_skill_junk_client_packet.py +21 -20
  122. eolib/protocol/_generated/net/client/stat_skill_open_client_packet.py +21 -20
  123. eolib/protocol/_generated/net/client/stat_skill_remove_client_packet.py +28 -37
  124. eolib/protocol/_generated/net/client/stat_skill_take_client_packet.py +28 -37
  125. eolib/protocol/_generated/net/client/talk_admin_client_packet.py +21 -12
  126. eolib/protocol/_generated/net/client/talk_announce_client_packet.py +21 -12
  127. eolib/protocol/_generated/net/client/talk_msg_client_packet.py +21 -12
  128. eolib/protocol/_generated/net/client/talk_open_client_packet.py +21 -12
  129. eolib/protocol/_generated/net/client/talk_player_client_packet.py +21 -12
  130. eolib/protocol/_generated/net/client/talk_report_client_packet.py +21 -12
  131. eolib/protocol/_generated/net/client/talk_request_client_packet.py +21 -12
  132. eolib/protocol/_generated/net/client/talk_tell_client_packet.py +31 -22
  133. eolib/protocol/_generated/net/client/talk_use_client_packet.py +21 -12
  134. eolib/protocol/_generated/net/client/trade_accept_client_packet.py +22 -21
  135. eolib/protocol/_generated/net/client/trade_add_client_packet.py +21 -12
  136. eolib/protocol/_generated/net/client/trade_agree_client_packet.py +21 -12
  137. eolib/protocol/_generated/net/client/trade_close_client_packet.py +13 -7
  138. eolib/protocol/_generated/net/client/trade_remove_client_packet.py +21 -20
  139. eolib/protocol/_generated/net/client/trade_request_client_packet.py +22 -21
  140. eolib/protocol/_generated/net/client/walk_action.py +35 -38
  141. eolib/protocol/_generated/net/client/walk_admin_client_packet.py +21 -12
  142. eolib/protocol/_generated/net/client/walk_player_client_packet.py +21 -12
  143. eolib/protocol/_generated/net/client/walk_spec_client_packet.py +21 -12
  144. eolib/protocol/_generated/net/client/warp_accept_client_packet.py +28 -37
  145. eolib/protocol/_generated/net/client/warp_take_client_packet.py +28 -37
  146. eolib/protocol/_generated/net/client/welcome_agree_client_packet.py +171 -169
  147. eolib/protocol/_generated/net/client/welcome_msg_client_packet.py +28 -37
  148. eolib/protocol/_generated/net/client/welcome_request_client_packet.py +21 -20
  149. eolib/protocol/_generated/net/item.py +28 -37
  150. eolib/protocol/_generated/net/server/__init__.py +4 -0
  151. eolib/protocol/_generated/net/server/account_reply_server_packet.py +190 -131
  152. eolib/protocol/_generated/net/server/admin_interact_agree_server_packet.py +21 -20
  153. eolib/protocol/_generated/net/server/admin_interact_list_server_packet.py +62 -74
  154. eolib/protocol/_generated/net/server/admin_interact_remove_server_packet.py +21 -20
  155. eolib/protocol/_generated/net/server/admin_interact_reply_server_packet.py +112 -91
  156. eolib/protocol/_generated/net/server/admin_interact_tell_server_packet.py +86 -110
  157. eolib/protocol/_generated/net/server/arena_accept_server_packet.py +47 -50
  158. eolib/protocol/_generated/net/server/arena_drop_server_packet.py +14 -8
  159. eolib/protocol/_generated/net/server/arena_spec_server_packet.py +55 -68
  160. eolib/protocol/_generated/net/server/arena_use_server_packet.py +21 -20
  161. eolib/protocol/_generated/net/server/attack_error_server_packet.py +13 -7
  162. eolib/protocol/_generated/net/server/attack_player_server_packet.py +28 -29
  163. eolib/protocol/_generated/net/server/avatar_admin_server_packet.py +67 -110
  164. eolib/protocol/_generated/net/server/avatar_agree_server_packet.py +21 -12
  165. eolib/protocol/_generated/net/server/avatar_change.py +132 -136
  166. eolib/protocol/_generated/net/server/avatar_change_type.py +1 -1
  167. eolib/protocol/_generated/net/server/avatar_remove_server_packet.py +29 -29
  168. eolib/protocol/_generated/net/server/avatar_reply_server_packet.py +56 -89
  169. eolib/protocol/_generated/net/server/bank_open_server_packet.py +35 -54
  170. eolib/protocol/_generated/net/server/bank_reply_server_packet.py +28 -37
  171. eolib/protocol/_generated/net/server/barber_agree_server_packet.py +28 -29
  172. eolib/protocol/_generated/net/server/barber_open_server_packet.py +21 -20
  173. eolib/protocol/_generated/net/server/big_coords.py +28 -37
  174. eolib/protocol/_generated/net/server/board_open_server_packet.py +44 -52
  175. eolib/protocol/_generated/net/server/board_player_server_packet.py +30 -29
  176. eolib/protocol/_generated/net/server/board_post_listing.py +39 -40
  177. eolib/protocol/_generated/net/server/book_reply_server_packet.py +42 -35
  178. eolib/protocol/_generated/net/server/cast_accept_server_packet.py +65 -71
  179. eolib/protocol/_generated/net/server/cast_reply_server_packet.py +78 -122
  180. eolib/protocol/_generated/net/server/cast_spec_server_packet.py +48 -60
  181. eolib/protocol/_generated/net/server/chair_close_server_packet.py +28 -29
  182. eolib/protocol/_generated/net/server/chair_player_server_packet.py +35 -38
  183. eolib/protocol/_generated/net/server/chair_remove_server_packet.py +28 -29
  184. eolib/protocol/_generated/net/server/chair_reply_server_packet.py +35 -38
  185. eolib/protocol/_generated/net/server/character_base_stats.py +56 -105
  186. eolib/protocol/_generated/net/server/character_base_stats_welcome.py +56 -105
  187. eolib/protocol/_generated/net/server/character_details.py +92 -115
  188. eolib/protocol/_generated/net/server/character_elemental_stats.py +56 -105
  189. eolib/protocol/_generated/net/server/character_map_info.py +161 -283
  190. eolib/protocol/_generated/net/server/character_player_server_packet.py +28 -37
  191. eolib/protocol/_generated/net/server/character_reply_server_packet.py +229 -179
  192. eolib/protocol/_generated/net/server/character_secondary_stats.py +49 -88
  193. eolib/protocol/_generated/net/server/character_secondary_stats_info_lookup.py +49 -88
  194. eolib/protocol/_generated/net/server/character_selection_list_entry.py +80 -125
  195. eolib/protocol/_generated/net/server/character_stats_equipment_change.py +42 -55
  196. eolib/protocol/_generated/net/server/character_stats_info_lookup.py +65 -100
  197. eolib/protocol/_generated/net/server/character_stats_reset.py +77 -140
  198. eolib/protocol/_generated/net/server/character_stats_update.py +56 -89
  199. eolib/protocol/_generated/net/server/character_stats_welcome.py +84 -157
  200. eolib/protocol/_generated/net/server/chest_agree_server_packet.py +25 -15
  201. eolib/protocol/_generated/net/server/chest_close_server_packet.py +28 -24
  202. eolib/protocol/_generated/net/server/chest_get_server_packet.py +39 -33
  203. eolib/protocol/_generated/net/server/chest_open_server_packet.py +32 -24
  204. eolib/protocol/_generated/net/server/chest_reply_server_packet.py +46 -58
  205. eolib/protocol/_generated/net/server/chest_spec_server_packet.py +13 -7
  206. eolib/protocol/_generated/net/server/citizen_accept_server_packet.py +21 -20
  207. eolib/protocol/_generated/net/server/citizen_open_server_packet.py +53 -79
  208. eolib/protocol/_generated/net/server/citizen_remove_server_packet.py +21 -12
  209. eolib/protocol/_generated/net/server/citizen_reply_server_packet.py +21 -20
  210. eolib/protocol/_generated/net/server/citizen_request_server_packet.py +21 -20
  211. eolib/protocol/_generated/net/server/connection_player_server_packet.py +28 -37
  212. eolib/protocol/_generated/net/server/dialog_entry.py +63 -57
  213. eolib/protocol/_generated/net/server/dialog_quest_entry.py +28 -29
  214. eolib/protocol/_generated/net/server/door_close_server_packet.py +21 -20
  215. eolib/protocol/_generated/net/server/door_open_server_packet.py +25 -14
  216. eolib/protocol/_generated/net/server/effect_admin_server_packet.py +42 -63
  217. eolib/protocol/_generated/net/server/effect_agree_server_packet.py +32 -38
  218. eolib/protocol/_generated/net/server/effect_player_server_packet.py +32 -45
  219. eolib/protocol/_generated/net/server/effect_report_server_packet.py +13 -7
  220. eolib/protocol/_generated/net/server/effect_spec_server_packet.py +111 -142
  221. eolib/protocol/_generated/net/server/effect_target_other_server_packet.py +46 -66
  222. eolib/protocol/_generated/net/server/effect_use_server_packet.py +56 -48
  223. eolib/protocol/_generated/net/server/emote_player_server_packet.py +28 -29
  224. eolib/protocol/_generated/net/server/equipment_change.py +50 -89
  225. eolib/protocol/_generated/net/server/equipment_character_select.py +49 -88
  226. eolib/protocol/_generated/net/server/equipment_map_info.py +53 -92
  227. eolib/protocol/_generated/net/server/equipment_paperdoll.py +115 -229
  228. eolib/protocol/_generated/net/server/equipment_welcome.py +114 -228
  229. eolib/protocol/_generated/net/server/face_player_server_packet.py +28 -29
  230. eolib/protocol/_generated/net/server/global_backfill_message.py +31 -22
  231. eolib/protocol/_generated/net/server/group_heal_target_player.py +35 -54
  232. eolib/protocol/_generated/net/server/guild_accept_server_packet.py +21 -20
  233. eolib/protocol/_generated/net/server/guild_agree_server_packet.py +48 -51
  234. eolib/protocol/_generated/net/server/guild_buy_server_packet.py +22 -21
  235. eolib/protocol/_generated/net/server/guild_create_server_packet.py +55 -68
  236. eolib/protocol/_generated/net/server/guild_kick_server_packet.py +13 -7
  237. eolib/protocol/_generated/net/server/guild_member.py +39 -40
  238. eolib/protocol/_generated/net/server/guild_open_server_packet.py +21 -20
  239. eolib/protocol/_generated/net/server/guild_rank_server_packet.py +30 -28
  240. eolib/protocol/_generated/net/server/guild_reply_server_packet.py +117 -93
  241. eolib/protocol/_generated/net/server/guild_report_server_packet.py +91 -111
  242. eolib/protocol/_generated/net/server/guild_request_server_packet.py +28 -29
  243. eolib/protocol/_generated/net/server/guild_sell_server_packet.py +21 -20
  244. eolib/protocol/_generated/net/server/guild_staff.py +31 -30
  245. eolib/protocol/_generated/net/server/guild_take_server_packet.py +21 -12
  246. eolib/protocol/_generated/net/server/guild_tell_server_packet.py +38 -36
  247. eolib/protocol/_generated/net/server/init_ban_type.py +1 -1
  248. eolib/protocol/_generated/net/server/init_init_server_packet.py +454 -393
  249. eolib/protocol/_generated/net/server/init_reply.py +3 -0
  250. eolib/protocol/_generated/net/server/item_accept_server_packet.py +21 -20
  251. eolib/protocol/_generated/net/server/item_add_server_packet.py +42 -63
  252. eolib/protocol/_generated/net/server/item_agree_server_packet.py +22 -21
  253. eolib/protocol/_generated/net/server/item_drop_server_packet.py +49 -64
  254. eolib/protocol/_generated/net/server/item_get_server_packet.py +35 -38
  255. eolib/protocol/_generated/net/server/item_junk_server_packet.py +35 -38
  256. eolib/protocol/_generated/net/server/item_kick_server_packet.py +28 -29
  257. eolib/protocol/_generated/net/server/item_map_info.py +42 -63
  258. eolib/protocol/_generated/net/server/item_obtain_server_packet.py +28 -29
  259. eolib/protocol/_generated/net/server/item_remove_server_packet.py +21 -20
  260. eolib/protocol/_generated/net/server/item_reply_server_packet.py +235 -300
  261. eolib/protocol/_generated/net/server/item_spec_server_packet.py +13 -7
  262. eolib/protocol/_generated/net/server/jukebox_agree_server_packet.py +21 -20
  263. eolib/protocol/_generated/net/server/jukebox_msg_server_packet.py +42 -63
  264. eolib/protocol/_generated/net/server/jukebox_open_server_packet.py +28 -29
  265. eolib/protocol/_generated/net/server/jukebox_player_server_packet.py +21 -20
  266. eolib/protocol/_generated/net/server/jukebox_reply_server_packet.py +13 -7
  267. eolib/protocol/_generated/net/server/jukebox_use_server_packet.py +22 -18
  268. eolib/protocol/_generated/net/server/level_up_stats.py +56 -105
  269. eolib/protocol/_generated/net/server/locker_buy_server_packet.py +28 -37
  270. eolib/protocol/_generated/net/server/locker_get_server_packet.py +39 -33
  271. eolib/protocol/_generated/net/server/locker_open_server_packet.py +32 -24
  272. eolib/protocol/_generated/net/server/locker_reply_server_packet.py +39 -33
  273. eolib/protocol/_generated/net/server/locker_spec_server_packet.py +21 -20
  274. eolib/protocol/_generated/net/server/login_reply.py +6 -0
  275. eolib/protocol/_generated/net/server/login_reply_server_packet.py +169 -115
  276. eolib/protocol/_generated/net/server/map_drain_damage_other.py +35 -54
  277. eolib/protocol/_generated/net/server/map_file.py +21 -12
  278. eolib/protocol/_generated/net/server/marriage_open_server_packet.py +21 -20
  279. eolib/protocol/_generated/net/server/marriage_reply_server_packet.py +56 -48
  280. eolib/protocol/_generated/net/server/message_accept_server_packet.py +30 -28
  281. eolib/protocol/_generated/net/server/message_close_server_packet.py +13 -7
  282. eolib/protocol/_generated/net/server/message_open_server_packet.py +21 -12
  283. eolib/protocol/_generated/net/server/message_pong_server_packet.py +13 -7
  284. eolib/protocol/_generated/net/server/music_player_server_packet.py +21 -20
  285. eolib/protocol/_generated/net/server/nearby_info.py +59 -61
  286. eolib/protocol/_generated/net/server/npc_accept_server_packet.py +47 -38
  287. eolib/protocol/_generated/net/server/npc_agree_server_packet.py +34 -32
  288. eolib/protocol/_generated/net/server/npc_dialog_server_packet.py +28 -29
  289. eolib/protocol/_generated/net/server/npc_junk_server_packet.py +21 -20
  290. eolib/protocol/_generated/net/server/npc_killed_data.py +70 -123
  291. eolib/protocol/_generated/net/server/npc_map_info.py +42 -55
  292. eolib/protocol/_generated/net/server/npc_player_server_packet.py +66 -76
  293. eolib/protocol/_generated/net/server/npc_reply_server_packet.py +60 -89
  294. eolib/protocol/_generated/net/server/npc_spec_server_packet.py +30 -27
  295. eolib/protocol/_generated/net/server/npc_update_attack.py +56 -89
  296. eolib/protocol/_generated/net/server/npc_update_chat.py +36 -45
  297. eolib/protocol/_generated/net/server/npc_update_position.py +35 -38
  298. eolib/protocol/_generated/net/server/online_player.py +60 -75
  299. eolib/protocol/_generated/net/server/paperdoll_agree_server_packet.py +49 -72
  300. eolib/protocol/_generated/net/server/paperdoll_ping_server_packet.py +22 -22
  301. eolib/protocol/_generated/net/server/paperdoll_remove_server_packet.py +42 -55
  302. eolib/protocol/_generated/net/server/paperdoll_reply_server_packet.py +37 -30
  303. eolib/protocol/_generated/net/server/party_add_server_packet.py +21 -12
  304. eolib/protocol/_generated/net/server/party_agree_server_packet.py +28 -37
  305. eolib/protocol/_generated/net/server/party_close_server_packet.py +13 -7
  306. eolib/protocol/_generated/net/server/party_create_server_packet.py +27 -16
  307. eolib/protocol/_generated/net/server/party_exp_share.py +37 -57
  308. eolib/protocol/_generated/net/server/party_list_server_packet.py +27 -16
  309. eolib/protocol/_generated/net/server/party_member.py +50 -73
  310. eolib/protocol/_generated/net/server/party_remove_server_packet.py +21 -20
  311. eolib/protocol/_generated/net/server/party_reply_server_packet.py +83 -58
  312. eolib/protocol/_generated/net/server/party_request_server_packet.py +35 -38
  313. eolib/protocol/_generated/net/server/party_target_group_server_packet.py +25 -15
  314. eolib/protocol/_generated/net/server/player_effect.py +90 -0
  315. eolib/protocol/_generated/net/server/players_agree_server_packet.py +21 -12
  316. eolib/protocol/_generated/net/server/players_list.py +38 -36
  317. eolib/protocol/_generated/net/server/players_list_friends.py +38 -36
  318. eolib/protocol/_generated/net/server/players_list_server_packet.py +23 -12
  319. eolib/protocol/_generated/net/server/players_net242_server_packet.py +21 -12
  320. eolib/protocol/_generated/net/server/players_ping_server_packet.py +21 -12
  321. eolib/protocol/_generated/net/server/players_pong_server_packet.py +21 -12
  322. eolib/protocol/_generated/net/server/players_remove_server_packet.py +21 -20
  323. eolib/protocol/_generated/net/server/players_reply_server_packet.py +23 -12
  324. eolib/protocol/_generated/net/server/priest_open_server_packet.py +21 -20
  325. eolib/protocol/_generated/net/server/priest_reply_server_packet.py +21 -12
  326. eolib/protocol/_generated/net/server/priest_request_server_packet.py +28 -29
  327. eolib/protocol/_generated/net/server/pub_file.py +28 -29
  328. eolib/protocol/_generated/net/server/quest_dialog_server_packet.py +76 -117
  329. eolib/protocol/_generated/net/server/quest_list_server_packet.py +99 -83
  330. eolib/protocol/_generated/net/server/quest_progress_entry.py +53 -66
  331. eolib/protocol/_generated/net/server/quest_report_server_packet.py +38 -37
  332. eolib/protocol/_generated/net/server/range_reply_server_packet.py +21 -12
  333. eolib/protocol/_generated/net/server/recover_agree_server_packet.py +35 -54
  334. eolib/protocol/_generated/net/server/recover_list_server_packet.py +28 -29
  335. eolib/protocol/_generated/net/server/recover_player_server_packet.py +30 -37
  336. eolib/protocol/_generated/net/server/recover_reply_server_packet.py +53 -93
  337. eolib/protocol/_generated/net/server/recover_target_group_server_packet.py +49 -88
  338. eolib/protocol/_generated/net/server/refresh_reply_server_packet.py +21 -12
  339. eolib/protocol/_generated/net/server/server_settings.py +63 -114
  340. eolib/protocol/_generated/net/server/shop_buy_server_packet.py +35 -38
  341. eolib/protocol/_generated/net/server/shop_craft_item.py +34 -42
  342. eolib/protocol/_generated/net/server/shop_create_server_packet.py +41 -51
  343. eolib/protocol/_generated/net/server/shop_open_server_packet.py +53 -57
  344. eolib/protocol/_generated/net/server/shop_sell_server_packet.py +35 -38
  345. eolib/protocol/_generated/net/server/shop_sold_item.py +28 -37
  346. eolib/protocol/_generated/net/server/shop_trade_item.py +42 -71
  347. eolib/protocol/_generated/net/server/sit_close_server_packet.py +28 -29
  348. eolib/protocol/_generated/net/server/sit_player_server_packet.py +36 -39
  349. eolib/protocol/_generated/net/server/sit_remove_server_packet.py +28 -29
  350. eolib/protocol/_generated/net/server/sit_reply_server_packet.py +36 -39
  351. eolib/protocol/_generated/net/server/skill_learn.py +64 -106
  352. eolib/protocol/_generated/net/server/skill_stat_requirements.py +134 -0
  353. eolib/protocol/_generated/net/server/spell_error_server_packet.py +13 -7
  354. eolib/protocol/_generated/net/server/spell_player_server_packet.py +28 -29
  355. eolib/protocol/_generated/net/server/spell_reply_server_packet.py +133 -0
  356. eolib/protocol/_generated/net/server/spell_request_server_packet.py +28 -37
  357. eolib/protocol/_generated/net/server/spell_target_group_server_packet.py +53 -83
  358. eolib/protocol/_generated/net/server/spell_target_other_server_packet.py +64 -114
  359. eolib/protocol/_generated/net/server/spell_target_self_server_packet.py +58 -107
  360. eolib/protocol/_generated/net/server/stat_skill_accept_server_packet.py +28 -29
  361. eolib/protocol/_generated/net/server/stat_skill_junk_server_packet.py +21 -12
  362. eolib/protocol/_generated/net/server/stat_skill_open_server_packet.py +42 -42
  363. eolib/protocol/_generated/net/server/stat_skill_player_server_packet.py +28 -29
  364. eolib/protocol/_generated/net/server/stat_skill_remove_server_packet.py +21 -20
  365. eolib/protocol/_generated/net/server/stat_skill_reply_server_packet.py +56 -48
  366. eolib/protocol/_generated/net/server/stat_skill_take_server_packet.py +28 -37
  367. eolib/protocol/_generated/net/server/talk_admin_server_packet.py +31 -22
  368. eolib/protocol/_generated/net/server/talk_announce_server_packet.py +31 -22
  369. eolib/protocol/_generated/net/server/talk_list_server_packet.py +27 -16
  370. eolib/protocol/_generated/net/server/talk_msg_server_packet.py +31 -22
  371. eolib/protocol/_generated/net/server/talk_open_server_packet.py +28 -29
  372. eolib/protocol/_generated/net/server/talk_player_server_packet.py +28 -29
  373. eolib/protocol/_generated/net/server/talk_reply_server_packet.py +28 -21
  374. eolib/protocol/_generated/net/server/talk_request_server_packet.py +31 -22
  375. eolib/protocol/_generated/net/server/talk_server_server_packet.py +21 -12
  376. eolib/protocol/_generated/net/server/talk_spec_server_packet.py +21 -12
  377. eolib/protocol/_generated/net/server/talk_tell_server_packet.py +31 -22
  378. eolib/protocol/_generated/net/server/tile_effect.py +91 -0
  379. eolib/protocol/_generated/net/server/trade_admin_server_packet.py +35 -13
  380. eolib/protocol/_generated/net/server/trade_agree_server_packet.py +28 -29
  381. eolib/protocol/_generated/net/server/trade_close_server_packet.py +21 -20
  382. eolib/protocol/_generated/net/server/trade_item_data.py +38 -82
  383. eolib/protocol/_generated/net/server/trade_open_server_packet.py +46 -57
  384. eolib/protocol/_generated/net/server/trade_reply_server_packet.py +35 -13
  385. eolib/protocol/_generated/net/server/trade_request_server_packet.py +29 -30
  386. eolib/protocol/_generated/net/server/trade_spec_server_packet.py +21 -12
  387. eolib/protocol/_generated/net/server/trade_use_server_packet.py +35 -13
  388. eolib/protocol/_generated/net/server/walk_close_server_packet.py +13 -7
  389. eolib/protocol/_generated/net/server/walk_open_server_packet.py +13 -7
  390. eolib/protocol/_generated/net/server/walk_player_server_packet.py +35 -58
  391. eolib/protocol/_generated/net/server/walk_reply_server_packet.py +49 -57
  392. eolib/protocol/_generated/net/server/warp_agree_server_packet.py +72 -66
  393. eolib/protocol/_generated/net/server/warp_create_server_packet.py +21 -12
  394. eolib/protocol/_generated/net/server/warp_player_server_packet.py +21 -12
  395. eolib/protocol/_generated/net/server/warp_request_server_packet.py +83 -106
  396. eolib/protocol/_generated/net/server/welcome_net242_server_packet.py +21 -12
  397. eolib/protocol/_generated/net/server/welcome_net243_server_packet.py +21 -12
  398. eolib/protocol/_generated/net/server/welcome_net244_server_packet.py +21 -12
  399. eolib/protocol/_generated/net/server/welcome_ping_server_packet.py +21 -12
  400. eolib/protocol/_generated/net/server/welcome_pong_server_packet.py +21 -12
  401. eolib/protocol/_generated/net/server/welcome_reply_server_packet.py +350 -556
  402. eolib/protocol/_generated/net/spell.py +28 -37
  403. eolib/protocol/_generated/net/three_item.py +28 -37
  404. eolib/protocol/_generated/net/version.py +35 -54
  405. eolib/protocol/_generated/net/weight.py +28 -37
  406. eolib/protocol/_generated/pub/ecf.py +52 -74
  407. eolib/protocol/_generated/pub/ecf_record.py +85 -164
  408. eolib/protocol/_generated/pub/eif.py +52 -74
  409. eolib/protocol/_generated/pub/eif_record.py +303 -658
  410. eolib/protocol/_generated/pub/enf.py +52 -74
  411. eolib/protocol/_generated/pub/enf_record.py +169 -328
  412. eolib/protocol/_generated/pub/esf.py +52 -74
  413. eolib/protocol/_generated/pub/esf_record.py +242 -491
  414. eolib/protocol/_generated/pub/server/__init__.py +30 -0
  415. eolib/protocol/_generated/pub/server/drop_file.py +87 -0
  416. eolib/protocol/_generated/pub/server/drop_npc_record.py +104 -0
  417. eolib/protocol/_generated/pub/server/drop_record.py +115 -0
  418. eolib/protocol/_generated/pub/server/inn_file.py +87 -0
  419. eolib/protocol/_generated/pub/server/inn_question_record.py +106 -0
  420. eolib/protocol/_generated/pub/server/inn_record.py +255 -0
  421. eolib/protocol/_generated/pub/server/shop_craft_ingredient_record.py +93 -0
  422. eolib/protocol/_generated/pub/server/shop_craft_record.py +98 -0
  423. eolib/protocol/_generated/pub/server/shop_file.py +87 -0
  424. eolib/protocol/_generated/pub/server/shop_record.py +188 -0
  425. eolib/protocol/_generated/pub/server/shop_trade_record.py +121 -0
  426. eolib/protocol/_generated/pub/server/skill_master_file.py +87 -0
  427. eolib/protocol/_generated/pub/server/skill_master_record.py +168 -0
  428. eolib/protocol/_generated/pub/server/skill_master_skill_record.py +223 -0
  429. eolib/protocol/_generated/pub/server/talk_file.py +87 -0
  430. eolib/protocol/_generated/pub/server/talk_message_record.py +87 -0
  431. eolib/protocol/_generated/pub/server/talk_record.py +121 -0
  432. eolib/protocol/protocol_enum_meta.py +1 -3
  433. eolib/protocol/pub/server/__init__.py +8 -0
  434. {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/METADATA +5 -3
  435. {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/RECORD +437 -414
  436. {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/WHEEL +1 -1
  437. {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -5,6 +5,7 @@
5
5
 
6
6
  from __future__ import annotations
7
7
  from typing import Union
8
+ from collections.abc import Iterable
8
9
  from .character_selection_list_entry import CharacterSelectionListEntry
9
10
  from .character_reply import CharacterReply
10
11
  from ..packet_family import PacketFamily
@@ -19,8 +20,19 @@ class CharacterReplyServerPacket(Packet):
19
20
  Reply to client Character-family packets
20
21
  """
21
22
  _byte_size: int = 0
22
- _reply_code: CharacterReply = None # type: ignore [assignment]
23
- _reply_code_data: 'CharacterReplyServerPacket.ReplyCodeData' = None
23
+ _reply_code: CharacterReply
24
+ _reply_code_data: 'CharacterReplyServerPacket.ReplyCodeData'
25
+
26
+ def __init__(self, *, reply_code: CharacterReply, reply_code_data: 'CharacterReplyServerPacket.ReplyCodeData' = None):
27
+ """
28
+ Create a new instance of CharacterReplyServerPacket.
29
+
30
+ Args:
31
+ reply_code (CharacterReply): Sometimes a CharacterReply code, sometimes a session ID for character creation
32
+ reply_code_data (CharacterReplyServerPacket.ReplyCodeData): Data associated with the `reply_code` field.
33
+ """
34
+ self._reply_code = reply_code
35
+ self._reply_code_data = reply_code_data
24
36
 
25
37
  @property
26
38
  def byte_size(self) -> int:
@@ -39,24 +51,13 @@ class CharacterReplyServerPacket(Packet):
39
51
  """
40
52
  return self._reply_code
41
53
 
42
- @reply_code.setter
43
- def reply_code(self, reply_code: CharacterReply) -> None:
44
- """
45
- Sometimes a CharacterReply code, sometimes a session ID for character creation
46
- """
47
- self._reply_code = reply_code
48
-
49
54
  @property
50
55
  def reply_code_data(self) -> 'CharacterReplyServerPacket.ReplyCodeData':
51
56
  """
52
- CharacterReplyServerPacket.ReplyCodeData: Gets or sets the data associated with the `reply_code` field.
57
+ CharacterReplyServerPacket.ReplyCodeData: Data associated with the `reply_code` field.
53
58
  """
54
59
  return self._reply_code_data
55
60
 
56
- @reply_code_data.setter
57
- def reply_code_data(self, reply_code_data: 'CharacterReplyServerPacket.ReplyCodeData') -> None:
58
- self._reply_code_data = reply_code_data
59
-
60
61
  @staticmethod
61
62
  def family() -> PacketFamily:
62
63
  """
@@ -95,49 +96,55 @@ class CharacterReplyServerPacket(Packet):
95
96
  writer (EoWriter): The writer that the data will be serialized to.
96
97
  data (CharacterReplyServerPacket): The data to serialize.
97
98
  """
98
- if data._reply_code is None:
99
- raise SerializationError("reply_code must be provided.")
100
- writer.add_short(int(data._reply_code))
101
- if data._reply_code == 0:
102
- if data._reply_code_data is not None:
103
- raise SerializationError("Expected reply_code_data to be None for reply_code " + CharacterReply(data._reply_code).name + ".")
104
- elif data._reply_code == CharacterReply.Exists:
105
- if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataExists):
106
- raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataExists for reply_code " + CharacterReply(data._reply_code).name + ".")
107
- CharacterReplyServerPacket.ReplyCodeDataExists.serialize(writer, data._reply_code_data)
108
- elif data._reply_code == CharacterReply.Full:
109
- if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataFull):
110
- raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataFull for reply_code " + CharacterReply(data._reply_code).name + ".")
111
- CharacterReplyServerPacket.ReplyCodeDataFull.serialize(writer, data._reply_code_data)
112
- elif data._reply_code == CharacterReply.Full3:
113
- if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataFull3):
114
- raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataFull3 for reply_code " + CharacterReply(data._reply_code).name + ".")
115
- CharacterReplyServerPacket.ReplyCodeDataFull3.serialize(writer, data._reply_code_data)
116
- elif data._reply_code == CharacterReply.NotApproved:
117
- if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataNotApproved):
118
- raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataNotApproved for reply_code " + CharacterReply(data._reply_code).name + ".")
119
- CharacterReplyServerPacket.ReplyCodeDataNotApproved.serialize(writer, data._reply_code_data)
120
- elif data._reply_code == CharacterReply.Ok:
121
- if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataOk):
122
- raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataOk for reply_code " + CharacterReply(data._reply_code).name + ".")
123
- CharacterReplyServerPacket.ReplyCodeDataOk.serialize(writer, data._reply_code_data)
124
- elif data._reply_code == CharacterReply.Deleted:
125
- if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataDeleted):
126
- raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataDeleted for reply_code " + CharacterReply(data._reply_code).name + ".")
127
- CharacterReplyServerPacket.ReplyCodeDataDeleted.serialize(writer, data._reply_code_data)
128
- elif data._reply_code == 7:
129
- if data._reply_code_data is not None:
130
- raise SerializationError("Expected reply_code_data to be None for reply_code " + CharacterReply(data._reply_code).name + ".")
131
- elif data._reply_code == 8:
132
- if data._reply_code_data is not None:
133
- raise SerializationError("Expected reply_code_data to be None for reply_code " + CharacterReply(data._reply_code).name + ".")
134
- elif data._reply_code == 9:
135
- if data._reply_code_data is not None:
136
- raise SerializationError("Expected reply_code_data to be None for reply_code " + CharacterReply(data._reply_code).name + ".")
137
- else:
138
- if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataDefault):
139
- raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataDefault for reply_code " + CharacterReply(data._reply_code).name + ".")
140
- CharacterReplyServerPacket.ReplyCodeDataDefault.serialize(writer, data._reply_code_data)
99
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
100
+ try:
101
+ writer.string_sanitization_mode = True
102
+ if data._reply_code is None:
103
+ raise SerializationError("reply_code must be provided.")
104
+ writer.add_short(int(data._reply_code))
105
+ if data._reply_code == 0:
106
+ if data._reply_code_data is not None:
107
+ raise SerializationError("Expected reply_code_data to be None for reply_code " + CharacterReply(data._reply_code).name + ".")
108
+ elif data._reply_code == CharacterReply.Exists:
109
+ if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataExists):
110
+ raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataExists for reply_code " + CharacterReply(data._reply_code).name + ".")
111
+ CharacterReplyServerPacket.ReplyCodeDataExists.serialize(writer, data._reply_code_data)
112
+ elif data._reply_code == CharacterReply.Full:
113
+ if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataFull):
114
+ raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataFull for reply_code " + CharacterReply(data._reply_code).name + ".")
115
+ CharacterReplyServerPacket.ReplyCodeDataFull.serialize(writer, data._reply_code_data)
116
+ elif data._reply_code == CharacterReply.Full3:
117
+ if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataFull3):
118
+ raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataFull3 for reply_code " + CharacterReply(data._reply_code).name + ".")
119
+ CharacterReplyServerPacket.ReplyCodeDataFull3.serialize(writer, data._reply_code_data)
120
+ elif data._reply_code == CharacterReply.NotApproved:
121
+ if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataNotApproved):
122
+ raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataNotApproved for reply_code " + CharacterReply(data._reply_code).name + ".")
123
+ CharacterReplyServerPacket.ReplyCodeDataNotApproved.serialize(writer, data._reply_code_data)
124
+ elif data._reply_code == CharacterReply.Ok:
125
+ if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataOk):
126
+ raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataOk for reply_code " + CharacterReply(data._reply_code).name + ".")
127
+ CharacterReplyServerPacket.ReplyCodeDataOk.serialize(writer, data._reply_code_data)
128
+ elif data._reply_code == CharacterReply.Deleted:
129
+ if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataDeleted):
130
+ raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataDeleted for reply_code " + CharacterReply(data._reply_code).name + ".")
131
+ CharacterReplyServerPacket.ReplyCodeDataDeleted.serialize(writer, data._reply_code_data)
132
+ elif data._reply_code == 7:
133
+ if data._reply_code_data is not None:
134
+ raise SerializationError("Expected reply_code_data to be None for reply_code " + CharacterReply(data._reply_code).name + ".")
135
+ elif data._reply_code == 8:
136
+ if data._reply_code_data is not None:
137
+ raise SerializationError("Expected reply_code_data to be None for reply_code " + CharacterReply(data._reply_code).name + ".")
138
+ elif data._reply_code == 9:
139
+ if data._reply_code_data is not None:
140
+ raise SerializationError("Expected reply_code_data to be None for reply_code " + CharacterReply(data._reply_code).name + ".")
141
+ else:
142
+ if not isinstance(data._reply_code_data, CharacterReplyServerPacket.ReplyCodeDataDefault):
143
+ raise SerializationError("Expected reply_code_data to be type CharacterReplyServerPacket.ReplyCodeDataDefault for reply_code " + CharacterReply(data._reply_code).name + ".")
144
+ CharacterReplyServerPacket.ReplyCodeDataDefault.serialize(writer, data._reply_code_data)
145
+ writer.string_sanitization_mode = False
146
+ finally:
147
+ writer.string_sanitization_mode = old_string_sanitization_mode
141
148
 
142
149
  @staticmethod
143
150
  def deserialize(reader: EoReader) -> "CharacterReplyServerPacket":
@@ -150,37 +157,38 @@ class CharacterReplyServerPacket(Packet):
150
157
  Returns:
151
158
  CharacterReplyServerPacket: The data to serialize.
152
159
  """
153
- data: CharacterReplyServerPacket = CharacterReplyServerPacket()
154
160
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
155
161
  try:
156
162
  reader_start_position: int = reader.position
157
163
  reader.chunked_reading_mode = True
158
- data._reply_code = CharacterReply(reader.get_short())
159
- if data._reply_code == 0:
160
- data._reply_code_data = None
161
- elif data._reply_code == CharacterReply.Exists:
162
- data._reply_code_data = CharacterReplyServerPacket.ReplyCodeDataExists.deserialize(reader)
163
- elif data._reply_code == CharacterReply.Full:
164
- data._reply_code_data = CharacterReplyServerPacket.ReplyCodeDataFull.deserialize(reader)
165
- elif data._reply_code == CharacterReply.Full3:
166
- data._reply_code_data = CharacterReplyServerPacket.ReplyCodeDataFull3.deserialize(reader)
167
- elif data._reply_code == CharacterReply.NotApproved:
168
- data._reply_code_data = CharacterReplyServerPacket.ReplyCodeDataNotApproved.deserialize(reader)
169
- elif data._reply_code == CharacterReply.Ok:
170
- data._reply_code_data = CharacterReplyServerPacket.ReplyCodeDataOk.deserialize(reader)
171
- elif data._reply_code == CharacterReply.Deleted:
172
- data._reply_code_data = CharacterReplyServerPacket.ReplyCodeDataDeleted.deserialize(reader)
173
- elif data._reply_code == 7:
174
- data._reply_code_data = None
175
- elif data._reply_code == 8:
176
- data._reply_code_data = None
177
- elif data._reply_code == 9:
178
- data._reply_code_data = None
164
+ reply_code = CharacterReply(reader.get_short())
165
+ reply_code_data: CharacterReplyServerPacket.ReplyCodeData = None
166
+ if reply_code == 0:
167
+ reply_code_data = None
168
+ elif reply_code == CharacterReply.Exists:
169
+ reply_code_data = CharacterReplyServerPacket.ReplyCodeDataExists.deserialize(reader)
170
+ elif reply_code == CharacterReply.Full:
171
+ reply_code_data = CharacterReplyServerPacket.ReplyCodeDataFull.deserialize(reader)
172
+ elif reply_code == CharacterReply.Full3:
173
+ reply_code_data = CharacterReplyServerPacket.ReplyCodeDataFull3.deserialize(reader)
174
+ elif reply_code == CharacterReply.NotApproved:
175
+ reply_code_data = CharacterReplyServerPacket.ReplyCodeDataNotApproved.deserialize(reader)
176
+ elif reply_code == CharacterReply.Ok:
177
+ reply_code_data = CharacterReplyServerPacket.ReplyCodeDataOk.deserialize(reader)
178
+ elif reply_code == CharacterReply.Deleted:
179
+ reply_code_data = CharacterReplyServerPacket.ReplyCodeDataDeleted.deserialize(reader)
180
+ elif reply_code == 7:
181
+ reply_code_data = None
182
+ elif reply_code == 8:
183
+ reply_code_data = None
184
+ elif reply_code == 9:
185
+ reply_code_data = None
179
186
  else:
180
- data._reply_code_data = CharacterReplyServerPacket.ReplyCodeDataDefault.deserialize(reader)
187
+ reply_code_data = CharacterReplyServerPacket.ReplyCodeDataDefault.deserialize(reader)
181
188
  reader.chunked_reading_mode = False
182
- data._byte_size = reader.position - reader_start_position
183
- return data
189
+ result = CharacterReplyServerPacket(reply_code=reply_code, reply_code_data=reply_code_data)
190
+ result._byte_size = reader.position - reader_start_position
191
+ return result
184
192
  finally:
185
193
  reader.chunked_reading_mode = old_chunked_reading_mode
186
194
 
@@ -188,10 +196,9 @@ class CharacterReplyServerPacket(Packet):
188
196
  return f"CharacterReplyServerPacket(byte_size={repr(self._byte_size)}, reply_code={repr(self._reply_code)}, reply_code_data={repr(self._reply_code_data)})"
189
197
 
190
198
  ReplyCodeData = Union['CharacterReplyServerPacket.ReplyCodeDataExists', 'CharacterReplyServerPacket.ReplyCodeDataFull', 'CharacterReplyServerPacket.ReplyCodeDataFull3', 'CharacterReplyServerPacket.ReplyCodeDataNotApproved', 'CharacterReplyServerPacket.ReplyCodeDataOk', 'CharacterReplyServerPacket.ReplyCodeDataDeleted', 'CharacterReplyServerPacket.ReplyCodeDataDefault', None]
191
- ReplyCodeData.__doc__ = \
192
- """
193
- Data associated with different values of the `reply_code` field.
194
- """
199
+ """
200
+ Data associated with different values of the `reply_code` field.
201
+ """
195
202
 
196
203
  class ReplyCodeDataExists:
197
204
  """
@@ -199,6 +206,11 @@ class CharacterReplyServerPacket(Packet):
199
206
  """
200
207
  _byte_size: int = 0
201
208
 
209
+ def __init__(self):
210
+ """
211
+ Create a new instance of CharacterReplyServerPacket.ReplyCodeDataExists.
212
+ """
213
+
202
214
  @property
203
215
  def byte_size(self) -> int:
204
216
  """
@@ -219,7 +231,11 @@ class CharacterReplyServerPacket(Packet):
219
231
  writer (EoWriter): The writer that the data will be serialized to.
220
232
  data (CharacterReplyServerPacket.ReplyCodeDataExists): The data to serialize.
221
233
  """
222
- writer.add_string("NO")
234
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
235
+ try:
236
+ writer.add_string("NO")
237
+ finally:
238
+ writer.string_sanitization_mode = old_string_sanitization_mode
223
239
 
224
240
  @staticmethod
225
241
  def deserialize(reader: EoReader) -> "CharacterReplyServerPacket.ReplyCodeDataExists":
@@ -232,13 +248,13 @@ class CharacterReplyServerPacket(Packet):
232
248
  Returns:
233
249
  CharacterReplyServerPacket.ReplyCodeDataExists: The data to serialize.
234
250
  """
235
- data: CharacterReplyServerPacket.ReplyCodeDataExists = CharacterReplyServerPacket.ReplyCodeDataExists()
236
251
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
237
252
  try:
238
253
  reader_start_position: int = reader.position
239
254
  reader.get_string()
240
- data._byte_size = reader.position - reader_start_position
241
- return data
255
+ result = CharacterReplyServerPacket.ReplyCodeDataExists()
256
+ result._byte_size = reader.position - reader_start_position
257
+ return result
242
258
  finally:
243
259
  reader.chunked_reading_mode = old_chunked_reading_mode
244
260
 
@@ -251,6 +267,11 @@ class CharacterReplyServerPacket(Packet):
251
267
  """
252
268
  _byte_size: int = 0
253
269
 
270
+ def __init__(self):
271
+ """
272
+ Create a new instance of CharacterReplyServerPacket.ReplyCodeDataFull.
273
+ """
274
+
254
275
  @property
255
276
  def byte_size(self) -> int:
256
277
  """
@@ -271,7 +292,11 @@ class CharacterReplyServerPacket(Packet):
271
292
  writer (EoWriter): The writer that the data will be serialized to.
272
293
  data (CharacterReplyServerPacket.ReplyCodeDataFull): The data to serialize.
273
294
  """
274
- writer.add_string("NO")
295
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
296
+ try:
297
+ writer.add_string("NO")
298
+ finally:
299
+ writer.string_sanitization_mode = old_string_sanitization_mode
275
300
 
276
301
  @staticmethod
277
302
  def deserialize(reader: EoReader) -> "CharacterReplyServerPacket.ReplyCodeDataFull":
@@ -284,13 +309,13 @@ class CharacterReplyServerPacket(Packet):
284
309
  Returns:
285
310
  CharacterReplyServerPacket.ReplyCodeDataFull: The data to serialize.
286
311
  """
287
- data: CharacterReplyServerPacket.ReplyCodeDataFull = CharacterReplyServerPacket.ReplyCodeDataFull()
288
312
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
289
313
  try:
290
314
  reader_start_position: int = reader.position
291
315
  reader.get_string()
292
- data._byte_size = reader.position - reader_start_position
293
- return data
316
+ result = CharacterReplyServerPacket.ReplyCodeDataFull()
317
+ result._byte_size = reader.position - reader_start_position
318
+ return result
294
319
  finally:
295
320
  reader.chunked_reading_mode = old_chunked_reading_mode
296
321
 
@@ -303,6 +328,11 @@ class CharacterReplyServerPacket(Packet):
303
328
  """
304
329
  _byte_size: int = 0
305
330
 
331
+ def __init__(self):
332
+ """
333
+ Create a new instance of CharacterReplyServerPacket.ReplyCodeDataFull3.
334
+ """
335
+
306
336
  @property
307
337
  def byte_size(self) -> int:
308
338
  """
@@ -323,7 +353,11 @@ class CharacterReplyServerPacket(Packet):
323
353
  writer (EoWriter): The writer that the data will be serialized to.
324
354
  data (CharacterReplyServerPacket.ReplyCodeDataFull3): The data to serialize.
325
355
  """
326
- writer.add_string("NO")
356
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
357
+ try:
358
+ writer.add_string("NO")
359
+ finally:
360
+ writer.string_sanitization_mode = old_string_sanitization_mode
327
361
 
328
362
  @staticmethod
329
363
  def deserialize(reader: EoReader) -> "CharacterReplyServerPacket.ReplyCodeDataFull3":
@@ -336,13 +370,13 @@ class CharacterReplyServerPacket(Packet):
336
370
  Returns:
337
371
  CharacterReplyServerPacket.ReplyCodeDataFull3: The data to serialize.
338
372
  """
339
- data: CharacterReplyServerPacket.ReplyCodeDataFull3 = CharacterReplyServerPacket.ReplyCodeDataFull3()
340
373
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
341
374
  try:
342
375
  reader_start_position: int = reader.position
343
376
  reader.get_string()
344
- data._byte_size = reader.position - reader_start_position
345
- return data
377
+ result = CharacterReplyServerPacket.ReplyCodeDataFull3()
378
+ result._byte_size = reader.position - reader_start_position
379
+ return result
346
380
  finally:
347
381
  reader.chunked_reading_mode = old_chunked_reading_mode
348
382
 
@@ -355,6 +389,11 @@ class CharacterReplyServerPacket(Packet):
355
389
  """
356
390
  _byte_size: int = 0
357
391
 
392
+ def __init__(self):
393
+ """
394
+ Create a new instance of CharacterReplyServerPacket.ReplyCodeDataNotApproved.
395
+ """
396
+
358
397
  @property
359
398
  def byte_size(self) -> int:
360
399
  """
@@ -375,7 +414,11 @@ class CharacterReplyServerPacket(Packet):
375
414
  writer (EoWriter): The writer that the data will be serialized to.
376
415
  data (CharacterReplyServerPacket.ReplyCodeDataNotApproved): The data to serialize.
377
416
  """
378
- writer.add_string("NO")
417
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
418
+ try:
419
+ writer.add_string("NO")
420
+ finally:
421
+ writer.string_sanitization_mode = old_string_sanitization_mode
379
422
 
380
423
  @staticmethod
381
424
  def deserialize(reader: EoReader) -> "CharacterReplyServerPacket.ReplyCodeDataNotApproved":
@@ -388,13 +431,13 @@ class CharacterReplyServerPacket(Packet):
388
431
  Returns:
389
432
  CharacterReplyServerPacket.ReplyCodeDataNotApproved: The data to serialize.
390
433
  """
391
- data: CharacterReplyServerPacket.ReplyCodeDataNotApproved = CharacterReplyServerPacket.ReplyCodeDataNotApproved()
392
434
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
393
435
  try:
394
436
  reader_start_position: int = reader.position
395
437
  reader.get_string()
396
- data._byte_size = reader.position - reader_start_position
397
- return data
438
+ result = CharacterReplyServerPacket.ReplyCodeDataNotApproved()
439
+ result._byte_size = reader.position - reader_start_position
440
+ return result
398
441
  finally:
399
442
  reader.chunked_reading_mode = old_chunked_reading_mode
400
443
 
@@ -406,8 +449,18 @@ class CharacterReplyServerPacket(Packet):
406
449
  Data associated with reply_code value CharacterReply.Ok
407
450
  """
408
451
  _byte_size: int = 0
409
- _characters_count: int = None # type: ignore [assignment]
410
- _characters: list[CharacterSelectionListEntry] = None # type: ignore [assignment]
452
+ _characters_count: int
453
+ _characters: tuple[CharacterSelectionListEntry, ...]
454
+
455
+ def __init__(self, *, characters: Iterable[CharacterSelectionListEntry]):
456
+ """
457
+ Create a new instance of CharacterReplyServerPacket.ReplyCodeDataOk.
458
+
459
+ Args:
460
+ characters (Iterable[CharacterSelectionListEntry]): (Length must be 252 or less.)
461
+ """
462
+ self._characters = tuple(characters)
463
+ self._characters_count = len(self._characters)
411
464
 
412
465
  @property
413
466
  def byte_size(self) -> int:
@@ -420,22 +473,9 @@ class CharacterReplyServerPacket(Packet):
420
473
  return self._byte_size
421
474
 
422
475
  @property
423
- def characters(self) -> list[CharacterSelectionListEntry]:
424
- """
425
- Note:
426
- - Length must be 252 or less.
427
- """
476
+ def characters(self) -> tuple[CharacterSelectionListEntry, ...]:
428
477
  return self._characters
429
478
 
430
- @characters.setter
431
- def characters(self, characters: list[CharacterSelectionListEntry]) -> None:
432
- """
433
- Note:
434
- - Length must be 252 or less.
435
- """
436
- self._characters = characters
437
- self._characters_count = len(self._characters)
438
-
439
479
  @staticmethod
440
480
  def serialize(writer: EoWriter, data: "CharacterReplyServerPacket.ReplyCodeDataOk") -> None:
441
481
  """
@@ -445,19 +485,22 @@ class CharacterReplyServerPacket(Packet):
445
485
  writer (EoWriter): The writer that the data will be serialized to.
446
486
  data (CharacterReplyServerPacket.ReplyCodeDataOk): The data to serialize.
447
487
  """
448
- if data._characters_count is None:
449
- raise SerializationError("characters_count must be provided.")
450
- writer.add_char(data._characters_count)
451
- writer.add_char(0)
452
- writer.add_byte(0xFF)
453
- if data._characters is None:
454
- raise SerializationError("characters must be provided.")
455
- if len(data._characters) > 252:
456
- raise SerializationError(f"Expected length of characters to be 252 or less, got {len(data._characters)}.")
457
- for i in range(data._characters_count):
458
- if i > 0:
488
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
489
+ try:
490
+ if data._characters_count is None:
491
+ raise SerializationError("characters_count must be provided.")
492
+ writer.add_char(data._characters_count)
493
+ writer.add_char(0)
494
+ writer.add_byte(0xFF)
495
+ if data._characters is None:
496
+ raise SerializationError("characters must be provided.")
497
+ if len(data._characters) > 252:
498
+ raise SerializationError(f"Expected length of characters to be 252 or less, got {len(data._characters)}.")
499
+ for i in range(data._characters_count):
500
+ CharacterSelectionListEntry.serialize(writer, data._characters[i])
459
501
  writer.add_byte(0xFF)
460
- CharacterSelectionListEntry.serialize(writer, data._characters[i])
502
+ finally:
503
+ writer.string_sanitization_mode = old_string_sanitization_mode
461
504
 
462
505
  @staticmethod
463
506
  def deserialize(reader: EoReader) -> "CharacterReplyServerPacket.ReplyCodeDataOk":
@@ -470,20 +513,19 @@ class CharacterReplyServerPacket(Packet):
470
513
  Returns:
471
514
  CharacterReplyServerPacket.ReplyCodeDataOk: The data to serialize.
472
515
  """
473
- data: CharacterReplyServerPacket.ReplyCodeDataOk = CharacterReplyServerPacket.ReplyCodeDataOk()
474
516
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
475
517
  try:
476
518
  reader_start_position: int = reader.position
477
- data._characters_count = reader.get_char()
519
+ characters_count = reader.get_char()
478
520
  reader.get_char()
479
521
  reader.next_chunk()
480
- data._characters = []
481
- for i in range(data._characters_count):
482
- data._characters.append(CharacterSelectionListEntry.deserialize(reader))
483
- if i + 1 < data._characters_count:
484
- reader.next_chunk()
485
- data._byte_size = reader.position - reader_start_position
486
- return data
522
+ characters = []
523
+ for i in range(characters_count):
524
+ characters.append(CharacterSelectionListEntry.deserialize(reader))
525
+ reader.next_chunk()
526
+ result = CharacterReplyServerPacket.ReplyCodeDataOk(characters=characters)
527
+ result._byte_size = reader.position - reader_start_position
528
+ return result
487
529
  finally:
488
530
  reader.chunked_reading_mode = old_chunked_reading_mode
489
531
 
@@ -495,8 +537,18 @@ class CharacterReplyServerPacket(Packet):
495
537
  Data associated with reply_code value CharacterReply.Deleted
496
538
  """
497
539
  _byte_size: int = 0
498
- _characters_count: int = None # type: ignore [assignment]
499
- _characters: list[CharacterSelectionListEntry] = None # type: ignore [assignment]
540
+ _characters_count: int
541
+ _characters: tuple[CharacterSelectionListEntry, ...]
542
+
543
+ def __init__(self, *, characters: Iterable[CharacterSelectionListEntry]):
544
+ """
545
+ Create a new instance of CharacterReplyServerPacket.ReplyCodeDataDeleted.
546
+
547
+ Args:
548
+ characters (Iterable[CharacterSelectionListEntry]): (Length must be 252 or less.)
549
+ """
550
+ self._characters = tuple(characters)
551
+ self._characters_count = len(self._characters)
500
552
 
501
553
  @property
502
554
  def byte_size(self) -> int:
@@ -509,22 +561,9 @@ class CharacterReplyServerPacket(Packet):
509
561
  return self._byte_size
510
562
 
511
563
  @property
512
- def characters(self) -> list[CharacterSelectionListEntry]:
513
- """
514
- Note:
515
- - Length must be 252 or less.
516
- """
564
+ def characters(self) -> tuple[CharacterSelectionListEntry, ...]:
517
565
  return self._characters
518
566
 
519
- @characters.setter
520
- def characters(self, characters: list[CharacterSelectionListEntry]) -> None:
521
- """
522
- Note:
523
- - Length must be 252 or less.
524
- """
525
- self._characters = characters
526
- self._characters_count = len(self._characters)
527
-
528
567
  @staticmethod
529
568
  def serialize(writer: EoWriter, data: "CharacterReplyServerPacket.ReplyCodeDataDeleted") -> None:
530
569
  """
@@ -534,18 +573,21 @@ class CharacterReplyServerPacket(Packet):
534
573
  writer (EoWriter): The writer that the data will be serialized to.
535
574
  data (CharacterReplyServerPacket.ReplyCodeDataDeleted): The data to serialize.
536
575
  """
537
- if data._characters_count is None:
538
- raise SerializationError("characters_count must be provided.")
539
- writer.add_char(data._characters_count)
540
- writer.add_byte(0xFF)
541
- if data._characters is None:
542
- raise SerializationError("characters must be provided.")
543
- if len(data._characters) > 252:
544
- raise SerializationError(f"Expected length of characters to be 252 or less, got {len(data._characters)}.")
545
- for i in range(data._characters_count):
546
- if i > 0:
576
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
577
+ try:
578
+ if data._characters_count is None:
579
+ raise SerializationError("characters_count must be provided.")
580
+ writer.add_char(data._characters_count)
581
+ writer.add_byte(0xFF)
582
+ if data._characters is None:
583
+ raise SerializationError("characters must be provided.")
584
+ if len(data._characters) > 252:
585
+ raise SerializationError(f"Expected length of characters to be 252 or less, got {len(data._characters)}.")
586
+ for i in range(data._characters_count):
587
+ CharacterSelectionListEntry.serialize(writer, data._characters[i])
547
588
  writer.add_byte(0xFF)
548
- CharacterSelectionListEntry.serialize(writer, data._characters[i])
589
+ finally:
590
+ writer.string_sanitization_mode = old_string_sanitization_mode
549
591
 
550
592
  @staticmethod
551
593
  def deserialize(reader: EoReader) -> "CharacterReplyServerPacket.ReplyCodeDataDeleted":
@@ -558,19 +600,18 @@ class CharacterReplyServerPacket(Packet):
558
600
  Returns:
559
601
  CharacterReplyServerPacket.ReplyCodeDataDeleted: The data to serialize.
560
602
  """
561
- data: CharacterReplyServerPacket.ReplyCodeDataDeleted = CharacterReplyServerPacket.ReplyCodeDataDeleted()
562
603
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
563
604
  try:
564
605
  reader_start_position: int = reader.position
565
- data._characters_count = reader.get_char()
606
+ characters_count = reader.get_char()
566
607
  reader.next_chunk()
567
- data._characters = []
568
- for i in range(data._characters_count):
569
- data._characters.append(CharacterSelectionListEntry.deserialize(reader))
570
- if i + 1 < data._characters_count:
571
- reader.next_chunk()
572
- data._byte_size = reader.position - reader_start_position
573
- return data
608
+ characters = []
609
+ for i in range(characters_count):
610
+ characters.append(CharacterSelectionListEntry.deserialize(reader))
611
+ reader.next_chunk()
612
+ result = CharacterReplyServerPacket.ReplyCodeDataDeleted(characters=characters)
613
+ result._byte_size = reader.position - reader_start_position
614
+ return result
574
615
  finally:
575
616
  reader.chunked_reading_mode = old_chunked_reading_mode
576
617
 
@@ -585,6 +626,11 @@ class CharacterReplyServerPacket(Packet):
585
626
  """
586
627
  _byte_size: int = 0
587
628
 
629
+ def __init__(self):
630
+ """
631
+ Create a new instance of CharacterReplyServerPacket.ReplyCodeDataDefault.
632
+ """
633
+
588
634
  @property
589
635
  def byte_size(self) -> int:
590
636
  """
@@ -605,7 +651,11 @@ class CharacterReplyServerPacket(Packet):
605
651
  writer (EoWriter): The writer that the data will be serialized to.
606
652
  data (CharacterReplyServerPacket.ReplyCodeDataDefault): The data to serialize.
607
653
  """
608
- writer.add_string("OK")
654
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
655
+ try:
656
+ writer.add_string("OK")
657
+ finally:
658
+ writer.string_sanitization_mode = old_string_sanitization_mode
609
659
 
610
660
  @staticmethod
611
661
  def deserialize(reader: EoReader) -> "CharacterReplyServerPacket.ReplyCodeDataDefault":
@@ -618,13 +668,13 @@ class CharacterReplyServerPacket(Packet):
618
668
  Returns:
619
669
  CharacterReplyServerPacket.ReplyCodeDataDefault: The data to serialize.
620
670
  """
621
- data: CharacterReplyServerPacket.ReplyCodeDataDefault = CharacterReplyServerPacket.ReplyCodeDataDefault()
622
671
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
623
672
  try:
624
673
  reader_start_position: int = reader.position
625
674
  reader.get_string()
626
- data._byte_size = reader.position - reader_start_position
627
- return data
675
+ result = CharacterReplyServerPacket.ReplyCodeDataDefault()
676
+ result._byte_size = reader.position - reader_start_position
677
+ return result
628
678
  finally:
629
679
  reader.chunked_reading_mode = old_chunked_reading_mode
630
680