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,13 +12,28 @@ from .....data.eo_reader import EoReader
12
12
 
13
13
  class AvatarChange:
14
14
  """
15
- Information about a nearby player's appearance changing
15
+ Information about a nearby player's appearance changing
16
16
  """
17
17
  _byte_size: int = 0
18
- _player_id: int = None # type: ignore [assignment]
19
- _change_type: AvatarChangeType = None # type: ignore [assignment]
20
- _sound: bool = None # type: ignore [assignment]
21
- _change_type_data: 'AvatarChange.ChangeTypeData' = None
18
+ _player_id: int
19
+ _change_type: AvatarChangeType
20
+ _sound: bool
21
+ _change_type_data: 'AvatarChange.ChangeTypeData'
22
+
23
+ def __init__(self, *, player_id: int, change_type: AvatarChangeType, sound: bool, change_type_data: 'AvatarChange.ChangeTypeData' = None):
24
+ """
25
+ Create a new instance of AvatarChange.
26
+
27
+ Args:
28
+ player_id (int): (Value range is 0-64008.)
29
+ change_type (AvatarChangeType):
30
+ sound (bool):
31
+ change_type_data (AvatarChange.ChangeTypeData): Data associated with the `change_type` field.
32
+ """
33
+ self._player_id = player_id
34
+ self._change_type = change_type
35
+ self._sound = sound
36
+ self._change_type_data = change_type_data
22
37
 
23
38
  @property
24
39
  def byte_size(self) -> int:
@@ -32,47 +47,23 @@ class AvatarChange:
32
47
 
33
48
  @property
34
49
  def player_id(self) -> int:
35
- """
36
- Note:
37
- - Value range is 0-64008.
38
- """
39
50
  return self._player_id
40
51
 
41
- @player_id.setter
42
- def player_id(self, player_id: int) -> None:
43
- """
44
- Note:
45
- - Value range is 0-64008.
46
- """
47
- self._player_id = player_id
48
-
49
52
  @property
50
53
  def change_type(self) -> AvatarChangeType:
51
54
  return self._change_type
52
55
 
53
- @change_type.setter
54
- def change_type(self, change_type: AvatarChangeType) -> None:
55
- self._change_type = change_type
56
-
57
56
  @property
58
57
  def sound(self) -> bool:
59
58
  return self._sound
60
59
 
61
- @sound.setter
62
- def sound(self, sound: bool) -> None:
63
- self._sound = sound
64
-
65
60
  @property
66
61
  def change_type_data(self) -> 'AvatarChange.ChangeTypeData':
67
62
  """
68
- AvatarChange.ChangeTypeData: Gets or sets the data associated with the `change_type` field.
63
+ AvatarChange.ChangeTypeData: Data associated with the `change_type` field.
69
64
  """
70
65
  return self._change_type_data
71
66
 
72
- @change_type_data.setter
73
- def change_type_data(self, change_type_data: 'AvatarChange.ChangeTypeData') -> None:
74
- self._change_type_data = change_type_data
75
-
76
67
  @staticmethod
77
68
  def serialize(writer: EoWriter, data: "AvatarChange") -> None:
78
69
  """
@@ -82,27 +73,31 @@ class AvatarChange:
82
73
  writer (EoWriter): The writer that the data will be serialized to.
83
74
  data (AvatarChange): The data to serialize.
84
75
  """
85
- if data._player_id is None:
86
- raise SerializationError("player_id must be provided.")
87
- writer.add_short(data._player_id)
88
- if data._change_type is None:
89
- raise SerializationError("change_type must be provided.")
90
- writer.add_char(int(data._change_type))
91
- if data._sound is None:
92
- raise SerializationError("sound must be provided.")
93
- writer.add_char(1 if data._sound else 0)
94
- if data._change_type == AvatarChangeType.Equipment:
95
- if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataEquipment):
96
- raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataEquipment for change_type " + AvatarChangeType(data._change_type).name + ".")
97
- AvatarChange.ChangeTypeDataEquipment.serialize(writer, data._change_type_data)
98
- elif data._change_type == AvatarChangeType.Hair:
99
- if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataHair):
100
- raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataHair for change_type " + AvatarChangeType(data._change_type).name + ".")
101
- AvatarChange.ChangeTypeDataHair.serialize(writer, data._change_type_data)
102
- elif data._change_type == AvatarChangeType.HairColor:
103
- if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataHairColor):
104
- raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataHairColor for change_type " + AvatarChangeType(data._change_type).name + ".")
105
- AvatarChange.ChangeTypeDataHairColor.serialize(writer, data._change_type_data)
76
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
77
+ try:
78
+ if data._player_id is None:
79
+ raise SerializationError("player_id must be provided.")
80
+ writer.add_short(data._player_id)
81
+ if data._change_type is None:
82
+ raise SerializationError("change_type must be provided.")
83
+ writer.add_char(int(data._change_type))
84
+ if data._sound is None:
85
+ raise SerializationError("sound must be provided.")
86
+ writer.add_char(1 if data._sound else 0)
87
+ if data._change_type == AvatarChangeType.Equipment:
88
+ if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataEquipment):
89
+ raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataEquipment for change_type " + AvatarChangeType(data._change_type).name + ".")
90
+ AvatarChange.ChangeTypeDataEquipment.serialize(writer, data._change_type_data)
91
+ elif data._change_type == AvatarChangeType.Hair:
92
+ if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataHair):
93
+ raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataHair for change_type " + AvatarChangeType(data._change_type).name + ".")
94
+ AvatarChange.ChangeTypeDataHair.serialize(writer, data._change_type_data)
95
+ elif data._change_type == AvatarChangeType.HairColor:
96
+ if not isinstance(data._change_type_data, AvatarChange.ChangeTypeDataHairColor):
97
+ raise SerializationError("Expected change_type_data to be type AvatarChange.ChangeTypeDataHairColor for change_type " + AvatarChangeType(data._change_type).name + ".")
98
+ AvatarChange.ChangeTypeDataHairColor.serialize(writer, data._change_type_data)
99
+ finally:
100
+ writer.string_sanitization_mode = old_string_sanitization_mode
106
101
 
107
102
  @staticmethod
108
103
  def deserialize(reader: EoReader) -> "AvatarChange":
@@ -115,21 +110,22 @@ class AvatarChange:
115
110
  Returns:
116
111
  AvatarChange: The data to serialize.
117
112
  """
118
- data: AvatarChange = AvatarChange()
119
113
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
120
114
  try:
121
115
  reader_start_position: int = reader.position
122
- data._player_id = reader.get_short()
123
- data._change_type = AvatarChangeType(reader.get_char())
124
- data._sound = reader.get_char() != 0
125
- if data._change_type == AvatarChangeType.Equipment:
126
- data._change_type_data = AvatarChange.ChangeTypeDataEquipment.deserialize(reader)
127
- elif data._change_type == AvatarChangeType.Hair:
128
- data._change_type_data = AvatarChange.ChangeTypeDataHair.deserialize(reader)
129
- elif data._change_type == AvatarChangeType.HairColor:
130
- data._change_type_data = AvatarChange.ChangeTypeDataHairColor.deserialize(reader)
131
- data._byte_size = reader.position - reader_start_position
132
- return data
116
+ player_id = reader.get_short()
117
+ change_type = AvatarChangeType(reader.get_char())
118
+ sound = reader.get_char() != 0
119
+ change_type_data: AvatarChange.ChangeTypeData = None
120
+ if change_type == AvatarChangeType.Equipment:
121
+ change_type_data = AvatarChange.ChangeTypeDataEquipment.deserialize(reader)
122
+ elif change_type == AvatarChangeType.Hair:
123
+ change_type_data = AvatarChange.ChangeTypeDataHair.deserialize(reader)
124
+ elif change_type == AvatarChangeType.HairColor:
125
+ change_type_data = AvatarChange.ChangeTypeDataHairColor.deserialize(reader)
126
+ result = AvatarChange(player_id=player_id, change_type=change_type, sound=sound, change_type_data=change_type_data)
127
+ result._byte_size = reader.position - reader_start_position
128
+ return result
133
129
  finally:
134
130
  reader.chunked_reading_mode = old_chunked_reading_mode
135
131
 
@@ -137,17 +133,25 @@ class AvatarChange:
137
133
  return f"AvatarChange(byte_size={repr(self._byte_size)}, player_id={repr(self._player_id)}, change_type={repr(self._change_type)}, sound={repr(self._sound)}, change_type_data={repr(self._change_type_data)})"
138
134
 
139
135
  ChangeTypeData = Union['AvatarChange.ChangeTypeDataEquipment', 'AvatarChange.ChangeTypeDataHair', 'AvatarChange.ChangeTypeDataHairColor', None]
140
- ChangeTypeData.__doc__ = \
141
- """
142
- Data associated with different values of the `change_type` field.
143
- """
136
+ """
137
+ Data associated with different values of the `change_type` field.
138
+ """
144
139
 
145
140
  class ChangeTypeDataEquipment:
146
141
  """
147
142
  Data associated with change_type value AvatarChangeType.Equipment
148
143
  """
149
144
  _byte_size: int = 0
150
- _equipment: EquipmentChange = None # type: ignore [assignment]
145
+ _equipment: EquipmentChange
146
+
147
+ def __init__(self, *, equipment: EquipmentChange):
148
+ """
149
+ Create a new instance of AvatarChange.ChangeTypeDataEquipment.
150
+
151
+ Args:
152
+ equipment (EquipmentChange):
153
+ """
154
+ self._equipment = equipment
151
155
 
152
156
  @property
153
157
  def byte_size(self) -> int:
@@ -163,10 +167,6 @@ class AvatarChange:
163
167
  def equipment(self) -> EquipmentChange:
164
168
  return self._equipment
165
169
 
166
- @equipment.setter
167
- def equipment(self, equipment: EquipmentChange) -> None:
168
- self._equipment = equipment
169
-
170
170
  @staticmethod
171
171
  def serialize(writer: EoWriter, data: "AvatarChange.ChangeTypeDataEquipment") -> None:
172
172
  """
@@ -176,9 +176,13 @@ class AvatarChange:
176
176
  writer (EoWriter): The writer that the data will be serialized to.
177
177
  data (AvatarChange.ChangeTypeDataEquipment): The data to serialize.
178
178
  """
179
- if data._equipment is None:
180
- raise SerializationError("equipment must be provided.")
181
- EquipmentChange.serialize(writer, data._equipment)
179
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
180
+ try:
181
+ if data._equipment is None:
182
+ raise SerializationError("equipment must be provided.")
183
+ EquipmentChange.serialize(writer, data._equipment)
184
+ finally:
185
+ writer.string_sanitization_mode = old_string_sanitization_mode
182
186
 
183
187
  @staticmethod
184
188
  def deserialize(reader: EoReader) -> "AvatarChange.ChangeTypeDataEquipment":
@@ -191,13 +195,13 @@ class AvatarChange:
191
195
  Returns:
192
196
  AvatarChange.ChangeTypeDataEquipment: The data to serialize.
193
197
  """
194
- data: AvatarChange.ChangeTypeDataEquipment = AvatarChange.ChangeTypeDataEquipment()
195
198
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
196
199
  try:
197
200
  reader_start_position: int = reader.position
198
- data._equipment = EquipmentChange.deserialize(reader)
199
- data._byte_size = reader.position - reader_start_position
200
- return data
201
+ equipment = EquipmentChange.deserialize(reader)
202
+ result = AvatarChange.ChangeTypeDataEquipment(equipment=equipment)
203
+ result._byte_size = reader.position - reader_start_position
204
+ return result
201
205
  finally:
202
206
  reader.chunked_reading_mode = old_chunked_reading_mode
203
207
 
@@ -209,8 +213,19 @@ class AvatarChange:
209
213
  Data associated with change_type value AvatarChangeType.Hair
210
214
  """
211
215
  _byte_size: int = 0
212
- _hair_style: int = None # type: ignore [assignment]
213
- _hair_color: int = None # type: ignore [assignment]
216
+ _hair_style: int
217
+ _hair_color: int
218
+
219
+ def __init__(self, *, hair_style: int, hair_color: int):
220
+ """
221
+ Create a new instance of AvatarChange.ChangeTypeDataHair.
222
+
223
+ Args:
224
+ hair_style (int): (Value range is 0-252.)
225
+ hair_color (int): (Value range is 0-252.)
226
+ """
227
+ self._hair_style = hair_style
228
+ self._hair_color = hair_color
214
229
 
215
230
  @property
216
231
  def byte_size(self) -> int:
@@ -224,36 +239,12 @@ class AvatarChange:
224
239
 
225
240
  @property
226
241
  def hair_style(self) -> int:
227
- """
228
- Note:
229
- - Value range is 0-252.
230
- """
231
242
  return self._hair_style
232
243
 
233
- @hair_style.setter
234
- def hair_style(self, hair_style: int) -> None:
235
- """
236
- Note:
237
- - Value range is 0-252.
238
- """
239
- self._hair_style = hair_style
240
-
241
244
  @property
242
245
  def hair_color(self) -> int:
243
- """
244
- Note:
245
- - Value range is 0-252.
246
- """
247
246
  return self._hair_color
248
247
 
249
- @hair_color.setter
250
- def hair_color(self, hair_color: int) -> None:
251
- """
252
- Note:
253
- - Value range is 0-252.
254
- """
255
- self._hair_color = hair_color
256
-
257
248
  @staticmethod
258
249
  def serialize(writer: EoWriter, data: "AvatarChange.ChangeTypeDataHair") -> None:
259
250
  """
@@ -263,12 +254,16 @@ class AvatarChange:
263
254
  writer (EoWriter): The writer that the data will be serialized to.
264
255
  data (AvatarChange.ChangeTypeDataHair): The data to serialize.
265
256
  """
266
- if data._hair_style is None:
267
- raise SerializationError("hair_style must be provided.")
268
- writer.add_char(data._hair_style)
269
- if data._hair_color is None:
270
- raise SerializationError("hair_color must be provided.")
271
- writer.add_char(data._hair_color)
257
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
258
+ try:
259
+ if data._hair_style is None:
260
+ raise SerializationError("hair_style must be provided.")
261
+ writer.add_char(data._hair_style)
262
+ if data._hair_color is None:
263
+ raise SerializationError("hair_color must be provided.")
264
+ writer.add_char(data._hair_color)
265
+ finally:
266
+ writer.string_sanitization_mode = old_string_sanitization_mode
272
267
 
273
268
  @staticmethod
274
269
  def deserialize(reader: EoReader) -> "AvatarChange.ChangeTypeDataHair":
@@ -281,14 +276,14 @@ class AvatarChange:
281
276
  Returns:
282
277
  AvatarChange.ChangeTypeDataHair: The data to serialize.
283
278
  """
284
- data: AvatarChange.ChangeTypeDataHair = AvatarChange.ChangeTypeDataHair()
285
279
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
286
280
  try:
287
281
  reader_start_position: int = reader.position
288
- data._hair_style = reader.get_char()
289
- data._hair_color = reader.get_char()
290
- data._byte_size = reader.position - reader_start_position
291
- return data
282
+ hair_style = reader.get_char()
283
+ hair_color = reader.get_char()
284
+ result = AvatarChange.ChangeTypeDataHair(hair_style=hair_style, hair_color=hair_color)
285
+ result._byte_size = reader.position - reader_start_position
286
+ return result
292
287
  finally:
293
288
  reader.chunked_reading_mode = old_chunked_reading_mode
294
289
 
@@ -300,7 +295,16 @@ class AvatarChange:
300
295
  Data associated with change_type value AvatarChangeType.HairColor
301
296
  """
302
297
  _byte_size: int = 0
303
- _hair_color: int = None # type: ignore [assignment]
298
+ _hair_color: int
299
+
300
+ def __init__(self, *, hair_color: int):
301
+ """
302
+ Create a new instance of AvatarChange.ChangeTypeDataHairColor.
303
+
304
+ Args:
305
+ hair_color (int): (Value range is 0-252.)
306
+ """
307
+ self._hair_color = hair_color
304
308
 
305
309
  @property
306
310
  def byte_size(self) -> int:
@@ -314,20 +318,8 @@ class AvatarChange:
314
318
 
315
319
  @property
316
320
  def hair_color(self) -> int:
317
- """
318
- Note:
319
- - Value range is 0-252.
320
- """
321
321
  return self._hair_color
322
322
 
323
- @hair_color.setter
324
- def hair_color(self, hair_color: int) -> None:
325
- """
326
- Note:
327
- - Value range is 0-252.
328
- """
329
- self._hair_color = hair_color
330
-
331
323
  @staticmethod
332
324
  def serialize(writer: EoWriter, data: "AvatarChange.ChangeTypeDataHairColor") -> None:
333
325
  """
@@ -337,9 +329,13 @@ class AvatarChange:
337
329
  writer (EoWriter): The writer that the data will be serialized to.
338
330
  data (AvatarChange.ChangeTypeDataHairColor): The data to serialize.
339
331
  """
340
- if data._hair_color is None:
341
- raise SerializationError("hair_color must be provided.")
342
- writer.add_char(data._hair_color)
332
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
333
+ try:
334
+ if data._hair_color is None:
335
+ raise SerializationError("hair_color must be provided.")
336
+ writer.add_char(data._hair_color)
337
+ finally:
338
+ writer.string_sanitization_mode = old_string_sanitization_mode
343
339
 
344
340
  @staticmethod
345
341
  def deserialize(reader: EoReader) -> "AvatarChange.ChangeTypeDataHairColor":
@@ -352,13 +348,13 @@ class AvatarChange:
352
348
  Returns:
353
349
  AvatarChange.ChangeTypeDataHairColor: The data to serialize.
354
350
  """
355
- data: AvatarChange.ChangeTypeDataHairColor = AvatarChange.ChangeTypeDataHairColor()
356
351
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
357
352
  try:
358
353
  reader_start_position: int = reader.position
359
- data._hair_color = reader.get_char()
360
- data._byte_size = reader.position - reader_start_position
361
- return data
354
+ hair_color = reader.get_char()
355
+ result = AvatarChange.ChangeTypeDataHairColor(hair_color=hair_color)
356
+ result._byte_size = reader.position - reader_start_position
357
+ return result
362
358
  finally:
363
359
  reader.chunked_reading_mode = old_chunked_reading_mode
364
360
 
@@ -8,7 +8,7 @@ from ....protocol_enum_meta import ProtocolEnumMeta
8
8
 
9
9
  class AvatarChangeType(IntEnum, metaclass=ProtocolEnumMeta):
10
10
  """
11
- How a player's appearance is changing
11
+ How a player's appearance is changing
12
12
  """
13
13
  Equipment = 1
14
14
  Hair = 2
@@ -18,8 +18,19 @@ class AvatarRemoveServerPacket(Packet):
18
18
  Nearby player has disappeared from view
19
19
  """
20
20
  _byte_size: int = 0
21
- _player_id: int = None # type: ignore [assignment]
22
- _warp_effect: Optional[WarpEffect] = None # type: ignore [assignment]
21
+ _player_id: int
22
+ _warp_effect: Optional[WarpEffect]
23
+
24
+ def __init__(self, *, player_id: int, warp_effect: Optional[WarpEffect] = None):
25
+ """
26
+ Create a new instance of AvatarRemoveServerPacket.
27
+
28
+ Args:
29
+ player_id (int): (Value range is 0-64008.)
30
+ warp_effect (Optional[WarpEffect]):
31
+ """
32
+ self._player_id = player_id
33
+ self._warp_effect = warp_effect
23
34
 
24
35
  @property
25
36
  def byte_size(self) -> int:
@@ -33,28 +44,12 @@ class AvatarRemoveServerPacket(Packet):
33
44
 
34
45
  @property
35
46
  def player_id(self) -> int:
36
- """
37
- Note:
38
- - Value range is 0-64008.
39
- """
40
47
  return self._player_id
41
48
 
42
- @player_id.setter
43
- def player_id(self, player_id: int) -> None:
44
- """
45
- Note:
46
- - Value range is 0-64008.
47
- """
48
- self._player_id = player_id
49
-
50
49
  @property
51
50
  def warp_effect(self) -> Optional[WarpEffect]:
52
51
  return self._warp_effect
53
52
 
54
- @warp_effect.setter
55
- def warp_effect(self, warp_effect: Optional[WarpEffect]) -> None:
56
- self._warp_effect = warp_effect
57
-
58
53
  @staticmethod
59
54
  def family() -> PacketFamily:
60
55
  """
@@ -93,12 +88,16 @@ class AvatarRemoveServerPacket(Packet):
93
88
  writer (EoWriter): The writer that the data will be serialized to.
94
89
  data (AvatarRemoveServerPacket): The data to serialize.
95
90
  """
96
- if data._player_id is None:
97
- raise SerializationError("player_id must be provided.")
98
- writer.add_short(data._player_id)
99
- reached_missing_optional = data._warp_effect is None
100
- if not reached_missing_optional:
101
- writer.add_char(int(cast(WarpEffect, data._warp_effect)))
91
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
92
+ try:
93
+ if data._player_id is None:
94
+ raise SerializationError("player_id must be provided.")
95
+ writer.add_short(data._player_id)
96
+ reached_missing_optional = data._warp_effect is None
97
+ if not reached_missing_optional:
98
+ writer.add_char(int(cast(WarpEffect, data._warp_effect)))
99
+ finally:
100
+ writer.string_sanitization_mode = old_string_sanitization_mode
102
101
 
103
102
  @staticmethod
104
103
  def deserialize(reader: EoReader) -> "AvatarRemoveServerPacket":
@@ -111,15 +110,16 @@ class AvatarRemoveServerPacket(Packet):
111
110
  Returns:
112
111
  AvatarRemoveServerPacket: The data to serialize.
113
112
  """
114
- data: AvatarRemoveServerPacket = AvatarRemoveServerPacket()
115
113
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
116
114
  try:
117
115
  reader_start_position: int = reader.position
118
- data._player_id = reader.get_short()
116
+ player_id = reader.get_short()
117
+ warp_effect: Optional[WarpEffect] = None
119
118
  if reader.remaining > 0:
120
- data._warp_effect = WarpEffect(reader.get_char())
121
- data._byte_size = reader.position - reader_start_position
122
- return data
119
+ warp_effect = WarpEffect(reader.get_char())
120
+ result = AvatarRemoveServerPacket(player_id=player_id, warp_effect=warp_effect)
121
+ result._byte_size = reader.position - reader_start_position
122
+ return result
123
123
  finally:
124
124
  reader.chunked_reading_mode = old_chunked_reading_mode
125
125