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
@@ -0,0 +1,223 @@
1
+ # Generated from the eo-protocol XML specification.
2
+ #
3
+ # This file should not be modified.
4
+ # Changes will be lost when code is regenerated.
5
+
6
+ from __future__ import annotations
7
+ from collections.abc import Iterable
8
+ from ....serialization_error import SerializationError
9
+ from .....data.eo_writer import EoWriter
10
+ from .....data.eo_reader import EoReader
11
+
12
+ class SkillMasterSkillRecord:
13
+ """
14
+ Record of a skill that a Skill Master NPC can teach
15
+ """
16
+ _byte_size: int = 0
17
+ _skill_id: int
18
+ _level_requirement: int
19
+ _class_requirement: int
20
+ _price: int
21
+ _skill_requirements: tuple[int, ...]
22
+ _str_requirement: int
23
+ _int_requirement: int
24
+ _wis_requirement: int
25
+ _agi_requirement: int
26
+ _con_requirement: int
27
+ _cha_requirement: int
28
+
29
+ def __init__(self, *, skill_id: int, level_requirement: int, class_requirement: int, price: int, skill_requirements: Iterable[int], str_requirement: int, int_requirement: int, wis_requirement: int, agi_requirement: int, con_requirement: int, cha_requirement: int):
30
+ """
31
+ Create a new instance of SkillMasterSkillRecord.
32
+
33
+ Args:
34
+ skill_id (int): (Value range is 0-64008.)
35
+ level_requirement (int): Level required to learn this skill (Value range is 0-252.)
36
+ class_requirement (int): Class required to learn this skill (Value range is 0-252.)
37
+ price (int): (Value range is 0-4097152080.)
38
+ skill_requirements (Iterable[int]): IDs of skills that must be learned before a player can learn this skill (Length must be `4`.) (Element value range is 0-64008.)
39
+ str_requirement (int): Strength required to learn this skill (Value range is 0-64008.)
40
+ int_requirement (int): Intelligence required to learn this skill (Value range is 0-64008.)
41
+ wis_requirement (int): Wisdom required to learn this skill (Value range is 0-64008.)
42
+ agi_requirement (int): Agility required to learn this skill (Value range is 0-64008.)
43
+ con_requirement (int): Constitution required to learn this skill (Value range is 0-64008.)
44
+ cha_requirement (int): Charisma required to learn this skill (Value range is 0-64008.)
45
+ """
46
+ self._skill_id = skill_id
47
+ self._level_requirement = level_requirement
48
+ self._class_requirement = class_requirement
49
+ self._price = price
50
+ self._skill_requirements = tuple(skill_requirements)
51
+ self._str_requirement = str_requirement
52
+ self._int_requirement = int_requirement
53
+ self._wis_requirement = wis_requirement
54
+ self._agi_requirement = agi_requirement
55
+ self._con_requirement = con_requirement
56
+ self._cha_requirement = cha_requirement
57
+
58
+ @property
59
+ def byte_size(self) -> int:
60
+ """
61
+ Returns the size of the data that this was deserialized from.
62
+
63
+ Returns:
64
+ int: The size of the data that this was deserialized from.
65
+ """
66
+ return self._byte_size
67
+
68
+ @property
69
+ def skill_id(self) -> int:
70
+ return self._skill_id
71
+
72
+ @property
73
+ def level_requirement(self) -> int:
74
+ """
75
+ Level required to learn this skill
76
+ """
77
+ return self._level_requirement
78
+
79
+ @property
80
+ def class_requirement(self) -> int:
81
+ """
82
+ Class required to learn this skill
83
+ """
84
+ return self._class_requirement
85
+
86
+ @property
87
+ def price(self) -> int:
88
+ return self._price
89
+
90
+ @property
91
+ def skill_requirements(self) -> tuple[int, ...]:
92
+ """
93
+ IDs of skills that must be learned before a player can learn this skill
94
+ """
95
+ return self._skill_requirements
96
+
97
+ @property
98
+ def str_requirement(self) -> int:
99
+ """
100
+ Strength required to learn this skill
101
+ """
102
+ return self._str_requirement
103
+
104
+ @property
105
+ def int_requirement(self) -> int:
106
+ """
107
+ Intelligence required to learn this skill
108
+ """
109
+ return self._int_requirement
110
+
111
+ @property
112
+ def wis_requirement(self) -> int:
113
+ """
114
+ Wisdom required to learn this skill
115
+ """
116
+ return self._wis_requirement
117
+
118
+ @property
119
+ def agi_requirement(self) -> int:
120
+ """
121
+ Agility required to learn this skill
122
+ """
123
+ return self._agi_requirement
124
+
125
+ @property
126
+ def con_requirement(self) -> int:
127
+ """
128
+ Constitution required to learn this skill
129
+ """
130
+ return self._con_requirement
131
+
132
+ @property
133
+ def cha_requirement(self) -> int:
134
+ """
135
+ Charisma required to learn this skill
136
+ """
137
+ return self._cha_requirement
138
+
139
+ @staticmethod
140
+ def serialize(writer: EoWriter, data: "SkillMasterSkillRecord") -> None:
141
+ """
142
+ Serializes an instance of `SkillMasterSkillRecord` to the provided `EoWriter`.
143
+
144
+ Args:
145
+ writer (EoWriter): The writer that the data will be serialized to.
146
+ data (SkillMasterSkillRecord): The data to serialize.
147
+ """
148
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
149
+ try:
150
+ if data._skill_id is None:
151
+ raise SerializationError("skill_id must be provided.")
152
+ writer.add_short(data._skill_id)
153
+ if data._level_requirement is None:
154
+ raise SerializationError("level_requirement must be provided.")
155
+ writer.add_char(data._level_requirement)
156
+ if data._class_requirement is None:
157
+ raise SerializationError("class_requirement must be provided.")
158
+ writer.add_char(data._class_requirement)
159
+ if data._price is None:
160
+ raise SerializationError("price must be provided.")
161
+ writer.add_int(data._price)
162
+ if data._skill_requirements is None:
163
+ raise SerializationError("skill_requirements must be provided.")
164
+ if len(data._skill_requirements) != 4:
165
+ raise SerializationError(f"Expected length of skill_requirements to be exactly 4, got {len(data._skill_requirements)}.")
166
+ for i in range(4):
167
+ writer.add_short(data._skill_requirements[i])
168
+ if data._str_requirement is None:
169
+ raise SerializationError("str_requirement must be provided.")
170
+ writer.add_short(data._str_requirement)
171
+ if data._int_requirement is None:
172
+ raise SerializationError("int_requirement must be provided.")
173
+ writer.add_short(data._int_requirement)
174
+ if data._wis_requirement is None:
175
+ raise SerializationError("wis_requirement must be provided.")
176
+ writer.add_short(data._wis_requirement)
177
+ if data._agi_requirement is None:
178
+ raise SerializationError("agi_requirement must be provided.")
179
+ writer.add_short(data._agi_requirement)
180
+ if data._con_requirement is None:
181
+ raise SerializationError("con_requirement must be provided.")
182
+ writer.add_short(data._con_requirement)
183
+ if data._cha_requirement is None:
184
+ raise SerializationError("cha_requirement must be provided.")
185
+ writer.add_short(data._cha_requirement)
186
+ finally:
187
+ writer.string_sanitization_mode = old_string_sanitization_mode
188
+
189
+ @staticmethod
190
+ def deserialize(reader: EoReader) -> "SkillMasterSkillRecord":
191
+ """
192
+ Deserializes an instance of `SkillMasterSkillRecord` from the provided `EoReader`.
193
+
194
+ Args:
195
+ reader (EoReader): The writer that the data will be serialized to.
196
+
197
+ Returns:
198
+ SkillMasterSkillRecord: The data to serialize.
199
+ """
200
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
201
+ try:
202
+ reader_start_position: int = reader.position
203
+ skill_id = reader.get_short()
204
+ level_requirement = reader.get_char()
205
+ class_requirement = reader.get_char()
206
+ price = reader.get_int()
207
+ skill_requirements = []
208
+ for i in range(4):
209
+ skill_requirements.append(reader.get_short())
210
+ str_requirement = reader.get_short()
211
+ int_requirement = reader.get_short()
212
+ wis_requirement = reader.get_short()
213
+ agi_requirement = reader.get_short()
214
+ con_requirement = reader.get_short()
215
+ cha_requirement = reader.get_short()
216
+ result = SkillMasterSkillRecord(skill_id=skill_id, level_requirement=level_requirement, class_requirement=class_requirement, price=price, skill_requirements=skill_requirements, str_requirement=str_requirement, int_requirement=int_requirement, wis_requirement=wis_requirement, agi_requirement=agi_requirement, con_requirement=con_requirement, cha_requirement=cha_requirement)
217
+ result._byte_size = reader.position - reader_start_position
218
+ return result
219
+ finally:
220
+ reader.chunked_reading_mode = old_chunked_reading_mode
221
+
222
+ def __repr__(self):
223
+ return f"SkillMasterSkillRecord(byte_size={repr(self._byte_size)}, skill_id={repr(self._skill_id)}, level_requirement={repr(self._level_requirement)}, class_requirement={repr(self._class_requirement)}, price={repr(self._price)}, skill_requirements={repr(self._skill_requirements)}, str_requirement={repr(self._str_requirement)}, int_requirement={repr(self._int_requirement)}, wis_requirement={repr(self._wis_requirement)}, agi_requirement={repr(self._agi_requirement)}, con_requirement={repr(self._con_requirement)}, cha_requirement={repr(self._cha_requirement)})"
@@ -0,0 +1,87 @@
1
+ # Generated from the eo-protocol XML specification.
2
+ #
3
+ # This file should not be modified.
4
+ # Changes will be lost when code is regenerated.
5
+
6
+ from __future__ import annotations
7
+ from collections.abc import Iterable
8
+ from .talk_record import TalkRecord
9
+ from ....serialization_error import SerializationError
10
+ from .....data.eo_writer import EoWriter
11
+ from .....data.eo_reader import EoReader
12
+
13
+ class TalkFile:
14
+ """
15
+ Endless Talk File
16
+ """
17
+ _byte_size: int = 0
18
+ _npcs: tuple[TalkRecord, ...]
19
+
20
+ def __init__(self, *, npcs: Iterable[TalkRecord]):
21
+ """
22
+ Create a new instance of TalkFile.
23
+
24
+ Args:
25
+ npcs (Iterable[TalkRecord]):
26
+ """
27
+ self._npcs = tuple(npcs)
28
+
29
+ @property
30
+ def byte_size(self) -> int:
31
+ """
32
+ Returns the size of the data that this was deserialized from.
33
+
34
+ Returns:
35
+ int: The size of the data that this was deserialized from.
36
+ """
37
+ return self._byte_size
38
+
39
+ @property
40
+ def npcs(self) -> tuple[TalkRecord, ...]:
41
+ return self._npcs
42
+
43
+ @staticmethod
44
+ def serialize(writer: EoWriter, data: "TalkFile") -> None:
45
+ """
46
+ Serializes an instance of `TalkFile` to the provided `EoWriter`.
47
+
48
+ Args:
49
+ writer (EoWriter): The writer that the data will be serialized to.
50
+ data (TalkFile): The data to serialize.
51
+ """
52
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
53
+ try:
54
+ writer.add_fixed_string("ETF", 3, False)
55
+ if data._npcs is None:
56
+ raise SerializationError("npcs must be provided.")
57
+ for i in range(len(data._npcs)):
58
+ TalkRecord.serialize(writer, data._npcs[i])
59
+ finally:
60
+ writer.string_sanitization_mode = old_string_sanitization_mode
61
+
62
+ @staticmethod
63
+ def deserialize(reader: EoReader) -> "TalkFile":
64
+ """
65
+ Deserializes an instance of `TalkFile` from the provided `EoReader`.
66
+
67
+ Args:
68
+ reader (EoReader): The writer that the data will be serialized to.
69
+
70
+ Returns:
71
+ TalkFile: The data to serialize.
72
+ """
73
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
74
+ try:
75
+ reader_start_position: int = reader.position
76
+ reader.get_fixed_string(3, False)
77
+ npcs = []
78
+ while reader.remaining > 0:
79
+ npcs.append(TalkRecord.deserialize(reader))
80
+ result = TalkFile(npcs=npcs)
81
+ result._byte_size = reader.position - reader_start_position
82
+ return result
83
+ finally:
84
+ reader.chunked_reading_mode = old_chunked_reading_mode
85
+
86
+ def __repr__(self):
87
+ return f"TalkFile(byte_size={repr(self._byte_size)}, npcs={repr(self._npcs)})"
@@ -0,0 +1,87 @@
1
+ # Generated from the eo-protocol XML specification.
2
+ #
3
+ # This file should not be modified.
4
+ # Changes will be lost when code is regenerated.
5
+
6
+ from ....serialization_error import SerializationError
7
+ from .....data.eo_writer import EoWriter
8
+ from .....data.eo_reader import EoReader
9
+
10
+ class TalkMessageRecord:
11
+ """
12
+ Record of a message that an NPC can say
13
+ """
14
+ _byte_size: int = 0
15
+ _message_length: int
16
+ _message: str
17
+
18
+ def __init__(self, *, message: str):
19
+ """
20
+ Create a new instance of TalkMessageRecord.
21
+
22
+ Args:
23
+ message (str): (Length must be 252 or less.)
24
+ """
25
+ self._message = message
26
+ self._message_length = len(self._message)
27
+
28
+ @property
29
+ def byte_size(self) -> int:
30
+ """
31
+ Returns the size of the data that this was deserialized from.
32
+
33
+ Returns:
34
+ int: The size of the data that this was deserialized from.
35
+ """
36
+ return self._byte_size
37
+
38
+ @property
39
+ def message(self) -> str:
40
+ return self._message
41
+
42
+ @staticmethod
43
+ def serialize(writer: EoWriter, data: "TalkMessageRecord") -> None:
44
+ """
45
+ Serializes an instance of `TalkMessageRecord` to the provided `EoWriter`.
46
+
47
+ Args:
48
+ writer (EoWriter): The writer that the data will be serialized to.
49
+ data (TalkMessageRecord): The data to serialize.
50
+ """
51
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
52
+ try:
53
+ if data._message_length is None:
54
+ raise SerializationError("message_length must be provided.")
55
+ writer.add_char(data._message_length)
56
+ if data._message is None:
57
+ raise SerializationError("message must be provided.")
58
+ if len(data._message) > 252:
59
+ raise SerializationError(f"Expected length of message to be 252 or less, got {len(data._message)}.")
60
+ writer.add_fixed_string(data._message, data._message_length, False)
61
+ finally:
62
+ writer.string_sanitization_mode = old_string_sanitization_mode
63
+
64
+ @staticmethod
65
+ def deserialize(reader: EoReader) -> "TalkMessageRecord":
66
+ """
67
+ Deserializes an instance of `TalkMessageRecord` from the provided `EoReader`.
68
+
69
+ Args:
70
+ reader (EoReader): The writer that the data will be serialized to.
71
+
72
+ Returns:
73
+ TalkMessageRecord: The data to serialize.
74
+ """
75
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
76
+ try:
77
+ reader_start_position: int = reader.position
78
+ message_length = reader.get_char()
79
+ message = reader.get_fixed_string(message_length, False)
80
+ result = TalkMessageRecord(message=message)
81
+ result._byte_size = reader.position - reader_start_position
82
+ return result
83
+ finally:
84
+ reader.chunked_reading_mode = old_chunked_reading_mode
85
+
86
+ def __repr__(self):
87
+ return f"TalkMessageRecord(byte_size={repr(self._byte_size)}, message={repr(self._message)})"
@@ -0,0 +1,121 @@
1
+ # Generated from the eo-protocol XML specification.
2
+ #
3
+ # This file should not be modified.
4
+ # Changes will be lost when code is regenerated.
5
+
6
+ from __future__ import annotations
7
+ from collections.abc import Iterable
8
+ from .talk_message_record import TalkMessageRecord
9
+ from ....serialization_error import SerializationError
10
+ from .....data.eo_writer import EoWriter
11
+ from .....data.eo_reader import EoReader
12
+
13
+ class TalkRecord:
14
+ """
15
+ Record of Talk data in an Endless Talk File
16
+ """
17
+ _byte_size: int = 0
18
+ _npc_id: int
19
+ _rate: int
20
+ _messages_count: int
21
+ _messages: tuple[TalkMessageRecord, ...]
22
+
23
+ def __init__(self, *, npc_id: int, rate: int, messages: Iterable[TalkMessageRecord]):
24
+ """
25
+ Create a new instance of TalkRecord.
26
+
27
+ Args:
28
+ npc_id (int): ID of the NPC that will talk (Value range is 0-64008.)
29
+ rate (int): Chance that the NPC will talk (0-100) (Value range is 0-252.)
30
+ messages (Iterable[TalkMessageRecord]): (Length must be 252 or less.)
31
+ """
32
+ self._npc_id = npc_id
33
+ self._rate = rate
34
+ self._messages = tuple(messages)
35
+ self._messages_count = len(self._messages)
36
+
37
+ @property
38
+ def byte_size(self) -> int:
39
+ """
40
+ Returns the size of the data that this was deserialized from.
41
+
42
+ Returns:
43
+ int: The size of the data that this was deserialized from.
44
+ """
45
+ return self._byte_size
46
+
47
+ @property
48
+ def npc_id(self) -> int:
49
+ """
50
+ ID of the NPC that will talk
51
+ """
52
+ return self._npc_id
53
+
54
+ @property
55
+ def rate(self) -> int:
56
+ """
57
+ Chance that the NPC will talk (0-100)
58
+ """
59
+ return self._rate
60
+
61
+ @property
62
+ def messages(self) -> tuple[TalkMessageRecord, ...]:
63
+ return self._messages
64
+
65
+ @staticmethod
66
+ def serialize(writer: EoWriter, data: "TalkRecord") -> None:
67
+ """
68
+ Serializes an instance of `TalkRecord` to the provided `EoWriter`.
69
+
70
+ Args:
71
+ writer (EoWriter): The writer that the data will be serialized to.
72
+ data (TalkRecord): The data to serialize.
73
+ """
74
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
75
+ try:
76
+ if data._npc_id is None:
77
+ raise SerializationError("npc_id must be provided.")
78
+ writer.add_short(data._npc_id)
79
+ if data._rate is None:
80
+ raise SerializationError("rate must be provided.")
81
+ writer.add_char(data._rate)
82
+ if data._messages_count is None:
83
+ raise SerializationError("messages_count must be provided.")
84
+ writer.add_char(data._messages_count)
85
+ if data._messages is None:
86
+ raise SerializationError("messages must be provided.")
87
+ if len(data._messages) > 252:
88
+ raise SerializationError(f"Expected length of messages to be 252 or less, got {len(data._messages)}.")
89
+ for i in range(data._messages_count):
90
+ TalkMessageRecord.serialize(writer, data._messages[i])
91
+ finally:
92
+ writer.string_sanitization_mode = old_string_sanitization_mode
93
+
94
+ @staticmethod
95
+ def deserialize(reader: EoReader) -> "TalkRecord":
96
+ """
97
+ Deserializes an instance of `TalkRecord` from the provided `EoReader`.
98
+
99
+ Args:
100
+ reader (EoReader): The writer that the data will be serialized to.
101
+
102
+ Returns:
103
+ TalkRecord: The data to serialize.
104
+ """
105
+ old_chunked_reading_mode: bool = reader.chunked_reading_mode
106
+ try:
107
+ reader_start_position: int = reader.position
108
+ npc_id = reader.get_short()
109
+ rate = reader.get_char()
110
+ messages_count = reader.get_char()
111
+ messages = []
112
+ for i in range(messages_count):
113
+ messages.append(TalkMessageRecord.deserialize(reader))
114
+ result = TalkRecord(npc_id=npc_id, rate=rate, messages=messages)
115
+ result._byte_size = reader.position - reader_start_position
116
+ return result
117
+ finally:
118
+ reader.chunked_reading_mode = old_chunked_reading_mode
119
+
120
+ def __repr__(self):
121
+ return f"TalkRecord(byte_size={repr(self._byte_size)}, npc_id={repr(self._npc_id)}, rate={repr(self._rate)}, messages={repr(self._messages)})"
@@ -8,9 +8,7 @@ class ProtocolEnumMeta(EnumMeta):
8
8
  value, names=names, module=module, qualname=qualname, type=type, start=start
9
9
  )
10
10
  try:
11
- return super().__call__(
12
- value, names=names, module=module, qualname=qualname, type=type, start=start
13
- )
11
+ return super().__call__(value, module=module, qualname=qualname, type=type, start=start)
14
12
  except ValueError:
15
13
  unrecognized = int.__new__(cls, value)
16
14
  unrecognized._name_ = f"Unrecognized({int(value)})"
@@ -0,0 +1,8 @@
1
+ """
2
+ EO server pub file data structures.
3
+
4
+ See Also:
5
+ - [eolib.protocol._generated.pub.server][]
6
+ """
7
+
8
+ from ..._generated.pub.server import *
@@ -1,8 +1,8 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: eolib
3
- Version: 1.1.1
3
+ Version: 2.0.0
4
4
  Summary: Core library for writing applications related to Endless Online.
5
- Project-URL: Documentation, https://github.com/Cirras/eolib-python#readme
5
+ Project-URL: Documentation, https://cirras.github.io/eolib-python
6
6
  Project-URL: Issues, https://github.com/Cirras/eolib-python/issues
7
7
  Project-URL: Source, https://github.com/Cirras/eolib-python
8
8
  Author-email: Jonah Jeleniewski <cirrasbu@hotmail.com>
@@ -16,6 +16,8 @@ Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
19
21
  Classifier: Programming Language :: Python :: Implementation :: CPython
20
22
  Classifier: Programming Language :: Python :: Implementation :: PyPy
21
23
  Classifier: Topic :: Games/Entertainment