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
@@ -13,11 +13,28 @@ class MapNpc:
13
13
  NPC spawn EMF entity
14
14
  """
15
15
  _byte_size: int = 0
16
- _coords: Coords = None # type: ignore [assignment]
17
- _id: int = None # type: ignore [assignment]
18
- _spawn_type: int = None # type: ignore [assignment]
19
- _spawn_time: int = None # type: ignore [assignment]
20
- _amount: int = None # type: ignore [assignment]
16
+ _coords: Coords
17
+ _id: int
18
+ _spawn_type: int
19
+ _spawn_time: int
20
+ _amount: int
21
+
22
+ def __init__(self, *, coords: Coords, id: int, spawn_type: int, spawn_time: int, amount: int):
23
+ """
24
+ Create a new instance of MapNpc.
25
+
26
+ Args:
27
+ coords (Coords):
28
+ id (int): (Value range is 0-64008.)
29
+ spawn_type (int): (Value range is 0-252.)
30
+ spawn_time (int): (Value range is 0-64008.)
31
+ amount (int): (Value range is 0-252.)
32
+ """
33
+ self._coords = coords
34
+ self._id = id
35
+ self._spawn_type = spawn_type
36
+ self._spawn_time = spawn_time
37
+ self._amount = amount
21
38
 
22
39
  @property
23
40
  def byte_size(self) -> int:
@@ -33,74 +50,22 @@ class MapNpc:
33
50
  def coords(self) -> Coords:
34
51
  return self._coords
35
52
 
36
- @coords.setter
37
- def coords(self, coords: Coords) -> None:
38
- self._coords = coords
39
-
40
53
  @property
41
54
  def id(self) -> int:
42
- """
43
- Note:
44
- - Value range is 0-64008.
45
- """
46
55
  return self._id
47
56
 
48
- @id.setter
49
- def id(self, id: int) -> None:
50
- """
51
- Note:
52
- - Value range is 0-64008.
53
- """
54
- self._id = id
55
-
56
57
  @property
57
58
  def spawn_type(self) -> int:
58
- """
59
- Note:
60
- - Value range is 0-252.
61
- """
62
59
  return self._spawn_type
63
60
 
64
- @spawn_type.setter
65
- def spawn_type(self, spawn_type: int) -> None:
66
- """
67
- Note:
68
- - Value range is 0-252.
69
- """
70
- self._spawn_type = spawn_type
71
-
72
61
  @property
73
62
  def spawn_time(self) -> int:
74
- """
75
- Note:
76
- - Value range is 0-64008.
77
- """
78
63
  return self._spawn_time
79
64
 
80
- @spawn_time.setter
81
- def spawn_time(self, spawn_time: int) -> None:
82
- """
83
- Note:
84
- - Value range is 0-64008.
85
- """
86
- self._spawn_time = spawn_time
87
-
88
65
  @property
89
66
  def amount(self) -> int:
90
- """
91
- Note:
92
- - Value range is 0-252.
93
- """
94
67
  return self._amount
95
68
 
96
- @amount.setter
97
- def amount(self, amount: int) -> None:
98
- """
99
- Note:
100
- - Value range is 0-252.
101
- """
102
- self._amount = amount
103
-
104
69
  @staticmethod
105
70
  def serialize(writer: EoWriter, data: "MapNpc") -> None:
106
71
  """
@@ -110,21 +75,25 @@ class MapNpc:
110
75
  writer (EoWriter): The writer that the data will be serialized to.
111
76
  data (MapNpc): The data to serialize.
112
77
  """
113
- if data._coords is None:
114
- raise SerializationError("coords must be provided.")
115
- Coords.serialize(writer, data._coords)
116
- if data._id is None:
117
- raise SerializationError("id must be provided.")
118
- writer.add_short(data._id)
119
- if data._spawn_type is None:
120
- raise SerializationError("spawn_type must be provided.")
121
- writer.add_char(data._spawn_type)
122
- if data._spawn_time is None:
123
- raise SerializationError("spawn_time must be provided.")
124
- writer.add_short(data._spawn_time)
125
- if data._amount is None:
126
- raise SerializationError("amount must be provided.")
127
- writer.add_char(data._amount)
78
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
79
+ try:
80
+ if data._coords is None:
81
+ raise SerializationError("coords must be provided.")
82
+ Coords.serialize(writer, data._coords)
83
+ if data._id is None:
84
+ raise SerializationError("id must be provided.")
85
+ writer.add_short(data._id)
86
+ if data._spawn_type is None:
87
+ raise SerializationError("spawn_type must be provided.")
88
+ writer.add_char(data._spawn_type)
89
+ if data._spawn_time is None:
90
+ raise SerializationError("spawn_time must be provided.")
91
+ writer.add_short(data._spawn_time)
92
+ if data._amount is None:
93
+ raise SerializationError("amount must be provided.")
94
+ writer.add_char(data._amount)
95
+ finally:
96
+ writer.string_sanitization_mode = old_string_sanitization_mode
128
97
 
129
98
  @staticmethod
130
99
  def deserialize(reader: EoReader) -> "MapNpc":
@@ -137,17 +106,17 @@ class MapNpc:
137
106
  Returns:
138
107
  MapNpc: The data to serialize.
139
108
  """
140
- data: MapNpc = MapNpc()
141
109
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
142
110
  try:
143
111
  reader_start_position: int = reader.position
144
- data._coords = Coords.deserialize(reader)
145
- data._id = reader.get_short()
146
- data._spawn_type = reader.get_char()
147
- data._spawn_time = reader.get_short()
148
- data._amount = reader.get_char()
149
- data._byte_size = reader.position - reader_start_position
150
- return data
112
+ coords = Coords.deserialize(reader)
113
+ id = reader.get_short()
114
+ spawn_type = reader.get_char()
115
+ spawn_time = reader.get_short()
116
+ amount = reader.get_char()
117
+ result = MapNpc(coords=coords, id=id, spawn_type=spawn_type, spawn_time=spawn_time, amount=amount)
118
+ result._byte_size = reader.position - reader_start_position
119
+ return result
151
120
  finally:
152
121
  reader.chunked_reading_mode = old_chunked_reading_mode
153
122
 
@@ -13,10 +13,24 @@ class MapSign:
13
13
  Sign EMF entity
14
14
  """
15
15
  _byte_size: int = 0
16
- _coords: Coords = None # type: ignore [assignment]
17
- _string_data_length: int = None # type: ignore [assignment]
18
- _string_data: str = None # type: ignore [assignment]
19
- _title_length: int = None # type: ignore [assignment]
16
+ _coords: Coords
17
+ _string_data_length: int
18
+ _string_data: str
19
+ _title_length: int
20
+
21
+ def __init__(self, *, coords: Coords, string_data: str, title_length: int):
22
+ """
23
+ Create a new instance of MapSign.
24
+
25
+ Args:
26
+ coords (Coords):
27
+ string_data (str): (Length must be 64007 or less.)
28
+ title_length (int): (Value range is 0-252.)
29
+ """
30
+ self._coords = coords
31
+ self._string_data = string_data
32
+ self._string_data_length = len(self._string_data)
33
+ self._title_length = title_length
20
34
 
21
35
  @property
22
36
  def byte_size(self) -> int:
@@ -32,43 +46,14 @@ class MapSign:
32
46
  def coords(self) -> Coords:
33
47
  return self._coords
34
48
 
35
- @coords.setter
36
- def coords(self, coords: Coords) -> None:
37
- self._coords = coords
38
-
39
49
  @property
40
50
  def string_data(self) -> str:
41
- """
42
- Note:
43
- - Length must be 64007 or less.
44
- """
45
51
  return self._string_data
46
52
 
47
- @string_data.setter
48
- def string_data(self, string_data: str) -> None:
49
- """
50
- Note:
51
- - Length must be 64007 or less.
52
- """
53
- self._string_data = string_data
54
- self._string_data_length = len(self._string_data)
55
-
56
53
  @property
57
54
  def title_length(self) -> int:
58
- """
59
- Note:
60
- - Value range is 0-252.
61
- """
62
55
  return self._title_length
63
56
 
64
- @title_length.setter
65
- def title_length(self, title_length: int) -> None:
66
- """
67
- Note:
68
- - Value range is 0-252.
69
- """
70
- self._title_length = title_length
71
-
72
57
  @staticmethod
73
58
  def serialize(writer: EoWriter, data: "MapSign") -> None:
74
59
  """
@@ -78,20 +63,24 @@ class MapSign:
78
63
  writer (EoWriter): The writer that the data will be serialized to.
79
64
  data (MapSign): The data to serialize.
80
65
  """
81
- if data._coords is None:
82
- raise SerializationError("coords must be provided.")
83
- Coords.serialize(writer, data._coords)
84
- if data._string_data_length is None:
85
- raise SerializationError("string_data_length must be provided.")
86
- writer.add_short(data._string_data_length + 1)
87
- if data._string_data is None:
88
- raise SerializationError("string_data must be provided.")
89
- if len(data._string_data) > 64007:
90
- raise SerializationError(f"Expected length of string_data to be 64007 or less, got {len(data._string_data)}.")
91
- writer.add_fixed_encoded_string(data._string_data, data._string_data_length, False)
92
- if data._title_length is None:
93
- raise SerializationError("title_length must be provided.")
94
- writer.add_char(data._title_length)
66
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
67
+ try:
68
+ if data._coords is None:
69
+ raise SerializationError("coords must be provided.")
70
+ Coords.serialize(writer, data._coords)
71
+ if data._string_data_length is None:
72
+ raise SerializationError("string_data_length must be provided.")
73
+ writer.add_short(data._string_data_length + 1)
74
+ if data._string_data is None:
75
+ raise SerializationError("string_data must be provided.")
76
+ if len(data._string_data) > 64007:
77
+ raise SerializationError(f"Expected length of string_data to be 64007 or less, got {len(data._string_data)}.")
78
+ writer.add_fixed_encoded_string(data._string_data, data._string_data_length, False)
79
+ if data._title_length is None:
80
+ raise SerializationError("title_length must be provided.")
81
+ writer.add_char(data._title_length)
82
+ finally:
83
+ writer.string_sanitization_mode = old_string_sanitization_mode
95
84
 
96
85
  @staticmethod
97
86
  def deserialize(reader: EoReader) -> "MapSign":
@@ -104,16 +93,16 @@ class MapSign:
104
93
  Returns:
105
94
  MapSign: The data to serialize.
106
95
  """
107
- data: MapSign = MapSign()
108
96
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
109
97
  try:
110
98
  reader_start_position: int = reader.position
111
- data._coords = Coords.deserialize(reader)
112
- data._string_data_length = reader.get_short() - 1
113
- data._string_data = reader.get_fixed_encoded_string(data._string_data_length, False)
114
- data._title_length = reader.get_char()
115
- data._byte_size = reader.position - reader_start_position
116
- return data
99
+ coords = Coords.deserialize(reader)
100
+ string_data_length = reader.get_short() - 1
101
+ string_data = reader.get_fixed_encoded_string(string_data_length, False)
102
+ title_length = reader.get_char()
103
+ result = MapSign(coords=coords, string_data=string_data, title_length=title_length)
104
+ result._byte_size = reader.position - reader_start_position
105
+ return result
117
106
  finally:
118
107
  reader.chunked_reading_mode = old_chunked_reading_mode
119
108
 
@@ -4,6 +4,7 @@
4
4
  # Changes will be lost when code is regenerated.
5
5
 
6
6
  from __future__ import annotations
7
+ from collections.abc import Iterable
7
8
  from .map_tile_spec_row_tile import MapTileSpecRowTile
8
9
  from ...serialization_error import SerializationError
9
10
  from ....data.eo_writer import EoWriter
@@ -14,9 +15,21 @@ class MapTileSpecRow:
14
15
  A row of tilespecs
15
16
  """
16
17
  _byte_size: int = 0
17
- _y: int = None # type: ignore [assignment]
18
- _tiles_count: int = None # type: ignore [assignment]
19
- _tiles: list[MapTileSpecRowTile] = None # type: ignore [assignment]
18
+ _y: int
19
+ _tiles_count: int
20
+ _tiles: tuple[MapTileSpecRowTile, ...]
21
+
22
+ def __init__(self, *, y: int, tiles: Iterable[MapTileSpecRowTile]):
23
+ """
24
+ Create a new instance of MapTileSpecRow.
25
+
26
+ Args:
27
+ y (int): (Value range is 0-252.)
28
+ tiles (Iterable[MapTileSpecRowTile]): (Length must be 252 or less.)
29
+ """
30
+ self._y = y
31
+ self._tiles = tuple(tiles)
32
+ self._tiles_count = len(self._tiles)
20
33
 
21
34
  @property
22
35
  def byte_size(self) -> int:
@@ -30,37 +43,12 @@ class MapTileSpecRow:
30
43
 
31
44
  @property
32
45
  def y(self) -> int:
33
- """
34
- Note:
35
- - Value range is 0-252.
36
- """
37
46
  return self._y
38
47
 
39
- @y.setter
40
- def y(self, y: int) -> None:
41
- """
42
- Note:
43
- - Value range is 0-252.
44
- """
45
- self._y = y
46
-
47
48
  @property
48
- def tiles(self) -> list[MapTileSpecRowTile]:
49
- """
50
- Note:
51
- - Length must be 252 or less.
52
- """
49
+ def tiles(self) -> tuple[MapTileSpecRowTile, ...]:
53
50
  return self._tiles
54
51
 
55
- @tiles.setter
56
- def tiles(self, tiles: list[MapTileSpecRowTile]) -> None:
57
- """
58
- Note:
59
- - Length must be 252 or less.
60
- """
61
- self._tiles = tiles
62
- self._tiles_count = len(self._tiles)
63
-
64
52
  @staticmethod
65
53
  def serialize(writer: EoWriter, data: "MapTileSpecRow") -> None:
66
54
  """
@@ -70,18 +58,22 @@ class MapTileSpecRow:
70
58
  writer (EoWriter): The writer that the data will be serialized to.
71
59
  data (MapTileSpecRow): The data to serialize.
72
60
  """
73
- if data._y is None:
74
- raise SerializationError("y must be provided.")
75
- writer.add_char(data._y)
76
- if data._tiles_count is None:
77
- raise SerializationError("tiles_count must be provided.")
78
- writer.add_char(data._tiles_count)
79
- if data._tiles is None:
80
- raise SerializationError("tiles must be provided.")
81
- if len(data._tiles) > 252:
82
- raise SerializationError(f"Expected length of tiles to be 252 or less, got {len(data._tiles)}.")
83
- for i in range(data._tiles_count):
84
- MapTileSpecRowTile.serialize(writer, data._tiles[i])
61
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
62
+ try:
63
+ if data._y is None:
64
+ raise SerializationError("y must be provided.")
65
+ writer.add_char(data._y)
66
+ if data._tiles_count is None:
67
+ raise SerializationError("tiles_count must be provided.")
68
+ writer.add_char(data._tiles_count)
69
+ if data._tiles is None:
70
+ raise SerializationError("tiles must be provided.")
71
+ if len(data._tiles) > 252:
72
+ raise SerializationError(f"Expected length of tiles to be 252 or less, got {len(data._tiles)}.")
73
+ for i in range(data._tiles_count):
74
+ MapTileSpecRowTile.serialize(writer, data._tiles[i])
75
+ finally:
76
+ writer.string_sanitization_mode = old_string_sanitization_mode
85
77
 
86
78
  @staticmethod
87
79
  def deserialize(reader: EoReader) -> "MapTileSpecRow":
@@ -94,17 +86,17 @@ class MapTileSpecRow:
94
86
  Returns:
95
87
  MapTileSpecRow: The data to serialize.
96
88
  """
97
- data: MapTileSpecRow = MapTileSpecRow()
98
89
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
99
90
  try:
100
91
  reader_start_position: int = reader.position
101
- data._y = reader.get_char()
102
- data._tiles_count = reader.get_char()
103
- data._tiles = []
104
- for i in range(data._tiles_count):
105
- data._tiles.append(MapTileSpecRowTile.deserialize(reader))
106
- data._byte_size = reader.position - reader_start_position
107
- return data
92
+ y = reader.get_char()
93
+ tiles_count = reader.get_char()
94
+ tiles = []
95
+ for i in range(tiles_count):
96
+ tiles.append(MapTileSpecRowTile.deserialize(reader))
97
+ result = MapTileSpecRow(y=y, tiles=tiles)
98
+ result._byte_size = reader.position - reader_start_position
99
+ return result
108
100
  finally:
109
101
  reader.chunked_reading_mode = old_chunked_reading_mode
110
102
 
@@ -13,8 +13,19 @@ class MapTileSpecRowTile:
13
13
  A single tile in a row of tilespecs
14
14
  """
15
15
  _byte_size: int = 0
16
- _x: int = None # type: ignore [assignment]
17
- _tile_spec: MapTileSpec = None # type: ignore [assignment]
16
+ _x: int
17
+ _tile_spec: MapTileSpec
18
+
19
+ def __init__(self, *, x: int, tile_spec: MapTileSpec):
20
+ """
21
+ Create a new instance of MapTileSpecRowTile.
22
+
23
+ Args:
24
+ x (int): (Value range is 0-252.)
25
+ tile_spec (MapTileSpec):
26
+ """
27
+ self._x = x
28
+ self._tile_spec = tile_spec
18
29
 
19
30
  @property
20
31
  def byte_size(self) -> int:
@@ -28,28 +39,12 @@ class MapTileSpecRowTile:
28
39
 
29
40
  @property
30
41
  def x(self) -> int:
31
- """
32
- Note:
33
- - Value range is 0-252.
34
- """
35
42
  return self._x
36
43
 
37
- @x.setter
38
- def x(self, x: int) -> None:
39
- """
40
- Note:
41
- - Value range is 0-252.
42
- """
43
- self._x = x
44
-
45
44
  @property
46
45
  def tile_spec(self) -> MapTileSpec:
47
46
  return self._tile_spec
48
47
 
49
- @tile_spec.setter
50
- def tile_spec(self, tile_spec: MapTileSpec) -> None:
51
- self._tile_spec = tile_spec
52
-
53
48
  @staticmethod
54
49
  def serialize(writer: EoWriter, data: "MapTileSpecRowTile") -> None:
55
50
  """
@@ -59,12 +54,16 @@ class MapTileSpecRowTile:
59
54
  writer (EoWriter): The writer that the data will be serialized to.
60
55
  data (MapTileSpecRowTile): The data to serialize.
61
56
  """
62
- if data._x is None:
63
- raise SerializationError("x must be provided.")
64
- writer.add_char(data._x)
65
- if data._tile_spec is None:
66
- raise SerializationError("tile_spec must be provided.")
67
- writer.add_char(int(data._tile_spec))
57
+ old_string_sanitization_mode: bool = writer.string_sanitization_mode
58
+ try:
59
+ if data._x is None:
60
+ raise SerializationError("x must be provided.")
61
+ writer.add_char(data._x)
62
+ if data._tile_spec is None:
63
+ raise SerializationError("tile_spec must be provided.")
64
+ writer.add_char(int(data._tile_spec))
65
+ finally:
66
+ writer.string_sanitization_mode = old_string_sanitization_mode
68
67
 
69
68
  @staticmethod
70
69
  def deserialize(reader: EoReader) -> "MapTileSpecRowTile":
@@ -77,14 +76,14 @@ class MapTileSpecRowTile:
77
76
  Returns:
78
77
  MapTileSpecRowTile: The data to serialize.
79
78
  """
80
- data: MapTileSpecRowTile = MapTileSpecRowTile()
81
79
  old_chunked_reading_mode: bool = reader.chunked_reading_mode
82
80
  try:
83
81
  reader_start_position: int = reader.position
84
- data._x = reader.get_char()
85
- data._tile_spec = MapTileSpec(reader.get_char())
86
- data._byte_size = reader.position - reader_start_position
87
- return data
82
+ x = reader.get_char()
83
+ tile_spec = MapTileSpec(reader.get_char())
84
+ result = MapTileSpecRowTile(x=x, tile_spec=tile_spec)
85
+ result._byte_size = reader.position - reader_start_position
86
+ return result
88
87
  finally:
89
88
  reader.chunked_reading_mode = old_chunked_reading_mode
90
89