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.
- eolib/__about__.py +1 -1
- eolib/protocol/__init__.py +1 -1
- eolib/protocol/_generated/coords.py +28 -37
- eolib/protocol/_generated/emote.py +1 -1
- eolib/protocol/_generated/map/emf.py +248 -410
- eolib/protocol/_generated/map/map_graphic_layer.py +34 -32
- eolib/protocol/_generated/map/map_graphic_row.py +41 -49
- eolib/protocol/_generated/map/map_graphic_row_tile.py +28 -37
- eolib/protocol/_generated/map/map_item.py +56 -97
- eolib/protocol/_generated/map/map_legacy_door_key.py +28 -29
- eolib/protocol/_generated/map/map_npc.py +49 -80
- eolib/protocol/_generated/map/map_sign.py +43 -54
- eolib/protocol/_generated/map/map_tile_spec_row.py +41 -49
- eolib/protocol/_generated/map/map_tile_spec_row_tile.py +28 -29
- eolib/protocol/_generated/map/map_warp.py +42 -63
- eolib/protocol/_generated/map/map_warp_row.py +41 -49
- eolib/protocol/_generated/map/map_warp_row_tile.py +28 -29
- eolib/protocol/_generated/net/char_item.py +28 -37
- eolib/protocol/_generated/net/client/account_agree_client_packet.py +40 -33
- eolib/protocol/_generated/net/client/account_create_client_packet.py +80 -91
- eolib/protocol/_generated/net/client/account_request_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/admin_interact_report_client_packet.py +31 -22
- eolib/protocol/_generated/net/client/admin_interact_tell_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/attack_use_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/bank_add_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/bank_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/bank_take_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/barber_buy_client_packet.py +35 -54
- eolib/protocol/_generated/net/client/barber_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/board_create_client_packet.py +40 -41
- eolib/protocol/_generated/net/client/board_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/board_remove_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/board_take_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/book_request_client_packet.py +22 -21
- eolib/protocol/_generated/net/client/byte_coords.py +28 -37
- eolib/protocol/_generated/net/client/chair_request_client_packet.py +56 -40
- eolib/protocol/_generated/net/client/character_create_client_packet.py +60 -91
- eolib/protocol/_generated/net/client/character_remove_client_packet.py +31 -35
- eolib/protocol/_generated/net/client/character_request_client_packet.py +22 -7
- eolib/protocol/_generated/net/client/character_take_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/chest_add_client_packet.py +28 -21
- eolib/protocol/_generated/net/client/chest_open_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/chest_take_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/citizen_accept_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/citizen_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/citizen_remove_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/citizen_reply_client_packet.py +47 -63
- eolib/protocol/_generated/net/client/citizen_request_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/connection_accept_client_packet.py +35 -54
- eolib/protocol/_generated/net/client/connection_ping_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/door_open_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/emote_report_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/face_player_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/global_close_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/global_open_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/global_player_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/global_remove_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/guild_accept_client_packet.py +22 -21
- eolib/protocol/_generated/net/client/guild_agree_client_packet.py +99 -91
- eolib/protocol/_generated/net/client/guild_buy_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/guild_create_client_packet.py +48 -51
- eolib/protocol/_generated/net/client/guild_junk_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/guild_kick_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/guild_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/guild_player_client_packet.py +40 -41
- eolib/protocol/_generated/net/client/guild_rank_client_packet.py +36 -47
- eolib/protocol/_generated/net/client/guild_remove_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/guild_report_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/guild_request_client_packet.py +40 -41
- eolib/protocol/_generated/net/client/guild_take_client_packet.py +41 -29
- eolib/protocol/_generated/net/client/guild_tell_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/guild_use_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/init_init_client_packet.py +44 -55
- eolib/protocol/_generated/net/client/item_drop_client_packet.py +29 -29
- eolib/protocol/_generated/net/client/item_get_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/item_junk_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/item_use_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/jukebox_msg_client_packet.py +24 -22
- eolib/protocol/_generated/net/client/jukebox_open_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/jukebox_use_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/locker_add_client_packet.py +28 -21
- eolib/protocol/_generated/net/client/locker_buy_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/locker_open_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/locker_take_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/login_request_client_packet.py +32 -23
- eolib/protocol/_generated/net/client/marriage_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/marriage_request_client_packet.py +38 -39
- eolib/protocol/_generated/net/client/message_ping_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/npc_range_request_client_packet.py +35 -35
- eolib/protocol/_generated/net/client/paperdoll_add_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/paperdoll_remove_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/paperdoll_request_client_packet.py +22 -21
- eolib/protocol/_generated/net/client/party_accept_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/party_remove_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/party_request_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/party_take_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/player_range_request_client_packet.py +25 -23
- eolib/protocol/_generated/net/client/players_accept_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/players_list_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/players_request_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/priest_accept_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/priest_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/priest_request_client_packet.py +31 -30
- eolib/protocol/_generated/net/client/priest_use_client_packet.py +22 -21
- eolib/protocol/_generated/net/client/quest_accept_client_packet.py +150 -115
- eolib/protocol/_generated/net/client/quest_list_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/quest_use_client_packet.py +28 -38
- eolib/protocol/_generated/net/client/range_request_client_packet.py +38 -44
- eolib/protocol/_generated/net/client/refresh_request_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/shop_buy_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/shop_create_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/shop_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/shop_sell_client_packet.py +28 -29
- eolib/protocol/_generated/net/client/sit_request_client_packet.py +56 -43
- eolib/protocol/_generated/net/client/spell_request_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/spell_target_group_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/spell_target_other_client_packet.py +49 -80
- eolib/protocol/_generated/net/client/spell_target_self_client_packet.py +35 -46
- eolib/protocol/_generated/net/client/spell_use_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/stat_skill_add_client_packet.py +83 -66
- eolib/protocol/_generated/net/client/stat_skill_junk_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/stat_skill_open_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/stat_skill_remove_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/stat_skill_take_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/talk_admin_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/talk_announce_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/talk_msg_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/talk_open_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/talk_player_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/talk_report_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/talk_request_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/talk_tell_client_packet.py +31 -22
- eolib/protocol/_generated/net/client/talk_use_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/trade_accept_client_packet.py +22 -21
- eolib/protocol/_generated/net/client/trade_add_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/trade_agree_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/trade_close_client_packet.py +13 -7
- eolib/protocol/_generated/net/client/trade_remove_client_packet.py +21 -20
- eolib/protocol/_generated/net/client/trade_request_client_packet.py +22 -21
- eolib/protocol/_generated/net/client/walk_action.py +35 -38
- eolib/protocol/_generated/net/client/walk_admin_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/walk_player_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/walk_spec_client_packet.py +21 -12
- eolib/protocol/_generated/net/client/warp_accept_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/warp_take_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/welcome_agree_client_packet.py +171 -169
- eolib/protocol/_generated/net/client/welcome_msg_client_packet.py +28 -37
- eolib/protocol/_generated/net/client/welcome_request_client_packet.py +21 -20
- eolib/protocol/_generated/net/item.py +28 -37
- eolib/protocol/_generated/net/server/__init__.py +4 -0
- eolib/protocol/_generated/net/server/account_reply_server_packet.py +190 -131
- eolib/protocol/_generated/net/server/admin_interact_agree_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/admin_interact_list_server_packet.py +62 -74
- eolib/protocol/_generated/net/server/admin_interact_remove_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/admin_interact_reply_server_packet.py +112 -91
- eolib/protocol/_generated/net/server/admin_interact_tell_server_packet.py +86 -110
- eolib/protocol/_generated/net/server/arena_accept_server_packet.py +47 -50
- eolib/protocol/_generated/net/server/arena_drop_server_packet.py +14 -8
- eolib/protocol/_generated/net/server/arena_spec_server_packet.py +55 -68
- eolib/protocol/_generated/net/server/arena_use_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/attack_error_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/attack_player_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/avatar_admin_server_packet.py +67 -110
- eolib/protocol/_generated/net/server/avatar_agree_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/avatar_change.py +132 -136
- eolib/protocol/_generated/net/server/avatar_change_type.py +1 -1
- eolib/protocol/_generated/net/server/avatar_remove_server_packet.py +29 -29
- eolib/protocol/_generated/net/server/avatar_reply_server_packet.py +56 -89
- eolib/protocol/_generated/net/server/bank_open_server_packet.py +35 -54
- eolib/protocol/_generated/net/server/bank_reply_server_packet.py +28 -37
- eolib/protocol/_generated/net/server/barber_agree_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/barber_open_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/big_coords.py +28 -37
- eolib/protocol/_generated/net/server/board_open_server_packet.py +44 -52
- eolib/protocol/_generated/net/server/board_player_server_packet.py +30 -29
- eolib/protocol/_generated/net/server/board_post_listing.py +39 -40
- eolib/protocol/_generated/net/server/book_reply_server_packet.py +42 -35
- eolib/protocol/_generated/net/server/cast_accept_server_packet.py +65 -71
- eolib/protocol/_generated/net/server/cast_reply_server_packet.py +78 -122
- eolib/protocol/_generated/net/server/cast_spec_server_packet.py +48 -60
- eolib/protocol/_generated/net/server/chair_close_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/chair_player_server_packet.py +35 -38
- eolib/protocol/_generated/net/server/chair_remove_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/chair_reply_server_packet.py +35 -38
- eolib/protocol/_generated/net/server/character_base_stats.py +56 -105
- eolib/protocol/_generated/net/server/character_base_stats_welcome.py +56 -105
- eolib/protocol/_generated/net/server/character_details.py +92 -115
- eolib/protocol/_generated/net/server/character_elemental_stats.py +56 -105
- eolib/protocol/_generated/net/server/character_map_info.py +161 -283
- eolib/protocol/_generated/net/server/character_player_server_packet.py +28 -37
- eolib/protocol/_generated/net/server/character_reply_server_packet.py +229 -179
- eolib/protocol/_generated/net/server/character_secondary_stats.py +49 -88
- eolib/protocol/_generated/net/server/character_secondary_stats_info_lookup.py +49 -88
- eolib/protocol/_generated/net/server/character_selection_list_entry.py +80 -125
- eolib/protocol/_generated/net/server/character_stats_equipment_change.py +42 -55
- eolib/protocol/_generated/net/server/character_stats_info_lookup.py +65 -100
- eolib/protocol/_generated/net/server/character_stats_reset.py +77 -140
- eolib/protocol/_generated/net/server/character_stats_update.py +56 -89
- eolib/protocol/_generated/net/server/character_stats_welcome.py +84 -157
- eolib/protocol/_generated/net/server/chest_agree_server_packet.py +25 -15
- eolib/protocol/_generated/net/server/chest_close_server_packet.py +28 -24
- eolib/protocol/_generated/net/server/chest_get_server_packet.py +39 -33
- eolib/protocol/_generated/net/server/chest_open_server_packet.py +32 -24
- eolib/protocol/_generated/net/server/chest_reply_server_packet.py +46 -58
- eolib/protocol/_generated/net/server/chest_spec_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/citizen_accept_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/citizen_open_server_packet.py +53 -79
- eolib/protocol/_generated/net/server/citizen_remove_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/citizen_reply_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/citizen_request_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/connection_player_server_packet.py +28 -37
- eolib/protocol/_generated/net/server/dialog_entry.py +63 -57
- eolib/protocol/_generated/net/server/dialog_quest_entry.py +28 -29
- eolib/protocol/_generated/net/server/door_close_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/door_open_server_packet.py +25 -14
- eolib/protocol/_generated/net/server/effect_admin_server_packet.py +42 -63
- eolib/protocol/_generated/net/server/effect_agree_server_packet.py +32 -38
- eolib/protocol/_generated/net/server/effect_player_server_packet.py +32 -45
- eolib/protocol/_generated/net/server/effect_report_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/effect_spec_server_packet.py +111 -142
- eolib/protocol/_generated/net/server/effect_target_other_server_packet.py +46 -66
- eolib/protocol/_generated/net/server/effect_use_server_packet.py +56 -48
- eolib/protocol/_generated/net/server/emote_player_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/equipment_change.py +50 -89
- eolib/protocol/_generated/net/server/equipment_character_select.py +49 -88
- eolib/protocol/_generated/net/server/equipment_map_info.py +53 -92
- eolib/protocol/_generated/net/server/equipment_paperdoll.py +115 -229
- eolib/protocol/_generated/net/server/equipment_welcome.py +114 -228
- eolib/protocol/_generated/net/server/face_player_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/global_backfill_message.py +31 -22
- eolib/protocol/_generated/net/server/group_heal_target_player.py +35 -54
- eolib/protocol/_generated/net/server/guild_accept_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/guild_agree_server_packet.py +48 -51
- eolib/protocol/_generated/net/server/guild_buy_server_packet.py +22 -21
- eolib/protocol/_generated/net/server/guild_create_server_packet.py +55 -68
- eolib/protocol/_generated/net/server/guild_kick_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/guild_member.py +39 -40
- eolib/protocol/_generated/net/server/guild_open_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/guild_rank_server_packet.py +30 -28
- eolib/protocol/_generated/net/server/guild_reply_server_packet.py +117 -93
- eolib/protocol/_generated/net/server/guild_report_server_packet.py +91 -111
- eolib/protocol/_generated/net/server/guild_request_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/guild_sell_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/guild_staff.py +31 -30
- eolib/protocol/_generated/net/server/guild_take_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/guild_tell_server_packet.py +38 -36
- eolib/protocol/_generated/net/server/init_ban_type.py +1 -1
- eolib/protocol/_generated/net/server/init_init_server_packet.py +454 -393
- eolib/protocol/_generated/net/server/init_reply.py +3 -0
- eolib/protocol/_generated/net/server/item_accept_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/item_add_server_packet.py +42 -63
- eolib/protocol/_generated/net/server/item_agree_server_packet.py +22 -21
- eolib/protocol/_generated/net/server/item_drop_server_packet.py +49 -64
- eolib/protocol/_generated/net/server/item_get_server_packet.py +35 -38
- eolib/protocol/_generated/net/server/item_junk_server_packet.py +35 -38
- eolib/protocol/_generated/net/server/item_kick_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/item_map_info.py +42 -63
- eolib/protocol/_generated/net/server/item_obtain_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/item_remove_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/item_reply_server_packet.py +235 -300
- eolib/protocol/_generated/net/server/item_spec_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/jukebox_agree_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/jukebox_msg_server_packet.py +42 -63
- eolib/protocol/_generated/net/server/jukebox_open_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/jukebox_player_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/jukebox_reply_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/jukebox_use_server_packet.py +22 -18
- eolib/protocol/_generated/net/server/level_up_stats.py +56 -105
- eolib/protocol/_generated/net/server/locker_buy_server_packet.py +28 -37
- eolib/protocol/_generated/net/server/locker_get_server_packet.py +39 -33
- eolib/protocol/_generated/net/server/locker_open_server_packet.py +32 -24
- eolib/protocol/_generated/net/server/locker_reply_server_packet.py +39 -33
- eolib/protocol/_generated/net/server/locker_spec_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/login_reply.py +6 -0
- eolib/protocol/_generated/net/server/login_reply_server_packet.py +169 -115
- eolib/protocol/_generated/net/server/map_drain_damage_other.py +35 -54
- eolib/protocol/_generated/net/server/map_file.py +21 -12
- eolib/protocol/_generated/net/server/marriage_open_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/marriage_reply_server_packet.py +56 -48
- eolib/protocol/_generated/net/server/message_accept_server_packet.py +30 -28
- eolib/protocol/_generated/net/server/message_close_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/message_open_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/message_pong_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/music_player_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/nearby_info.py +59 -61
- eolib/protocol/_generated/net/server/npc_accept_server_packet.py +47 -38
- eolib/protocol/_generated/net/server/npc_agree_server_packet.py +34 -32
- eolib/protocol/_generated/net/server/npc_dialog_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/npc_junk_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/npc_killed_data.py +70 -123
- eolib/protocol/_generated/net/server/npc_map_info.py +42 -55
- eolib/protocol/_generated/net/server/npc_player_server_packet.py +66 -76
- eolib/protocol/_generated/net/server/npc_reply_server_packet.py +60 -89
- eolib/protocol/_generated/net/server/npc_spec_server_packet.py +30 -27
- eolib/protocol/_generated/net/server/npc_update_attack.py +56 -89
- eolib/protocol/_generated/net/server/npc_update_chat.py +36 -45
- eolib/protocol/_generated/net/server/npc_update_position.py +35 -38
- eolib/protocol/_generated/net/server/online_player.py +60 -75
- eolib/protocol/_generated/net/server/paperdoll_agree_server_packet.py +49 -72
- eolib/protocol/_generated/net/server/paperdoll_ping_server_packet.py +22 -22
- eolib/protocol/_generated/net/server/paperdoll_remove_server_packet.py +42 -55
- eolib/protocol/_generated/net/server/paperdoll_reply_server_packet.py +37 -30
- eolib/protocol/_generated/net/server/party_add_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/party_agree_server_packet.py +28 -37
- eolib/protocol/_generated/net/server/party_close_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/party_create_server_packet.py +27 -16
- eolib/protocol/_generated/net/server/party_exp_share.py +37 -57
- eolib/protocol/_generated/net/server/party_list_server_packet.py +27 -16
- eolib/protocol/_generated/net/server/party_member.py +50 -73
- eolib/protocol/_generated/net/server/party_remove_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/party_reply_server_packet.py +83 -58
- eolib/protocol/_generated/net/server/party_request_server_packet.py +35 -38
- eolib/protocol/_generated/net/server/party_target_group_server_packet.py +25 -15
- eolib/protocol/_generated/net/server/player_effect.py +90 -0
- eolib/protocol/_generated/net/server/players_agree_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/players_list.py +38 -36
- eolib/protocol/_generated/net/server/players_list_friends.py +38 -36
- eolib/protocol/_generated/net/server/players_list_server_packet.py +23 -12
- eolib/protocol/_generated/net/server/players_net242_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/players_ping_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/players_pong_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/players_remove_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/players_reply_server_packet.py +23 -12
- eolib/protocol/_generated/net/server/priest_open_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/priest_reply_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/priest_request_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/pub_file.py +28 -29
- eolib/protocol/_generated/net/server/quest_dialog_server_packet.py +76 -117
- eolib/protocol/_generated/net/server/quest_list_server_packet.py +99 -83
- eolib/protocol/_generated/net/server/quest_progress_entry.py +53 -66
- eolib/protocol/_generated/net/server/quest_report_server_packet.py +38 -37
- eolib/protocol/_generated/net/server/range_reply_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/recover_agree_server_packet.py +35 -54
- eolib/protocol/_generated/net/server/recover_list_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/recover_player_server_packet.py +30 -37
- eolib/protocol/_generated/net/server/recover_reply_server_packet.py +53 -93
- eolib/protocol/_generated/net/server/recover_target_group_server_packet.py +49 -88
- eolib/protocol/_generated/net/server/refresh_reply_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/server_settings.py +63 -114
- eolib/protocol/_generated/net/server/shop_buy_server_packet.py +35 -38
- eolib/protocol/_generated/net/server/shop_craft_item.py +34 -42
- eolib/protocol/_generated/net/server/shop_create_server_packet.py +41 -51
- eolib/protocol/_generated/net/server/shop_open_server_packet.py +53 -57
- eolib/protocol/_generated/net/server/shop_sell_server_packet.py +35 -38
- eolib/protocol/_generated/net/server/shop_sold_item.py +28 -37
- eolib/protocol/_generated/net/server/shop_trade_item.py +42 -71
- eolib/protocol/_generated/net/server/sit_close_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/sit_player_server_packet.py +36 -39
- eolib/protocol/_generated/net/server/sit_remove_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/sit_reply_server_packet.py +36 -39
- eolib/protocol/_generated/net/server/skill_learn.py +64 -106
- eolib/protocol/_generated/net/server/skill_stat_requirements.py +134 -0
- eolib/protocol/_generated/net/server/spell_error_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/spell_player_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/spell_reply_server_packet.py +133 -0
- eolib/protocol/_generated/net/server/spell_request_server_packet.py +28 -37
- eolib/protocol/_generated/net/server/spell_target_group_server_packet.py +53 -83
- eolib/protocol/_generated/net/server/spell_target_other_server_packet.py +64 -114
- eolib/protocol/_generated/net/server/spell_target_self_server_packet.py +58 -107
- eolib/protocol/_generated/net/server/stat_skill_accept_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/stat_skill_junk_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/stat_skill_open_server_packet.py +42 -42
- eolib/protocol/_generated/net/server/stat_skill_player_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/stat_skill_remove_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/stat_skill_reply_server_packet.py +56 -48
- eolib/protocol/_generated/net/server/stat_skill_take_server_packet.py +28 -37
- eolib/protocol/_generated/net/server/talk_admin_server_packet.py +31 -22
- eolib/protocol/_generated/net/server/talk_announce_server_packet.py +31 -22
- eolib/protocol/_generated/net/server/talk_list_server_packet.py +27 -16
- eolib/protocol/_generated/net/server/talk_msg_server_packet.py +31 -22
- eolib/protocol/_generated/net/server/talk_open_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/talk_player_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/talk_reply_server_packet.py +28 -21
- eolib/protocol/_generated/net/server/talk_request_server_packet.py +31 -22
- eolib/protocol/_generated/net/server/talk_server_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/talk_spec_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/talk_tell_server_packet.py +31 -22
- eolib/protocol/_generated/net/server/tile_effect.py +91 -0
- eolib/protocol/_generated/net/server/trade_admin_server_packet.py +35 -13
- eolib/protocol/_generated/net/server/trade_agree_server_packet.py +28 -29
- eolib/protocol/_generated/net/server/trade_close_server_packet.py +21 -20
- eolib/protocol/_generated/net/server/trade_item_data.py +38 -82
- eolib/protocol/_generated/net/server/trade_open_server_packet.py +46 -57
- eolib/protocol/_generated/net/server/trade_reply_server_packet.py +35 -13
- eolib/protocol/_generated/net/server/trade_request_server_packet.py +29 -30
- eolib/protocol/_generated/net/server/trade_spec_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/trade_use_server_packet.py +35 -13
- eolib/protocol/_generated/net/server/walk_close_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/walk_open_server_packet.py +13 -7
- eolib/protocol/_generated/net/server/walk_player_server_packet.py +35 -58
- eolib/protocol/_generated/net/server/walk_reply_server_packet.py +49 -57
- eolib/protocol/_generated/net/server/warp_agree_server_packet.py +72 -66
- eolib/protocol/_generated/net/server/warp_create_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/warp_player_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/warp_request_server_packet.py +83 -106
- eolib/protocol/_generated/net/server/welcome_net242_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/welcome_net243_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/welcome_net244_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/welcome_ping_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/welcome_pong_server_packet.py +21 -12
- eolib/protocol/_generated/net/server/welcome_reply_server_packet.py +350 -556
- eolib/protocol/_generated/net/spell.py +28 -37
- eolib/protocol/_generated/net/three_item.py +28 -37
- eolib/protocol/_generated/net/version.py +35 -54
- eolib/protocol/_generated/net/weight.py +28 -37
- eolib/protocol/_generated/pub/ecf.py +52 -74
- eolib/protocol/_generated/pub/ecf_record.py +85 -164
- eolib/protocol/_generated/pub/eif.py +52 -74
- eolib/protocol/_generated/pub/eif_record.py +303 -658
- eolib/protocol/_generated/pub/enf.py +52 -74
- eolib/protocol/_generated/pub/enf_record.py +169 -328
- eolib/protocol/_generated/pub/esf.py +52 -74
- eolib/protocol/_generated/pub/esf_record.py +242 -491
- eolib/protocol/_generated/pub/server/__init__.py +30 -0
- eolib/protocol/_generated/pub/server/drop_file.py +87 -0
- eolib/protocol/_generated/pub/server/drop_npc_record.py +104 -0
- eolib/protocol/_generated/pub/server/drop_record.py +115 -0
- eolib/protocol/_generated/pub/server/inn_file.py +87 -0
- eolib/protocol/_generated/pub/server/inn_question_record.py +106 -0
- eolib/protocol/_generated/pub/server/inn_record.py +255 -0
- eolib/protocol/_generated/pub/server/shop_craft_ingredient_record.py +93 -0
- eolib/protocol/_generated/pub/server/shop_craft_record.py +98 -0
- eolib/protocol/_generated/pub/server/shop_file.py +87 -0
- eolib/protocol/_generated/pub/server/shop_record.py +188 -0
- eolib/protocol/_generated/pub/server/shop_trade_record.py +121 -0
- eolib/protocol/_generated/pub/server/skill_master_file.py +87 -0
- eolib/protocol/_generated/pub/server/skill_master_record.py +168 -0
- eolib/protocol/_generated/pub/server/skill_master_skill_record.py +223 -0
- eolib/protocol/_generated/pub/server/talk_file.py +87 -0
- eolib/protocol/_generated/pub/server/talk_message_record.py +87 -0
- eolib/protocol/_generated/pub/server/talk_record.py +121 -0
- eolib/protocol/protocol_enum_meta.py +1 -3
- eolib/protocol/pub/server/__init__.py +8 -0
- {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/METADATA +5 -3
- {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/RECORD +437 -414
- {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/WHEEL +1 -1
- {eolib-1.1.1.dist-info → eolib-2.0.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -0,0 +1,188 @@
|
|
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 .shop_trade_record import ShopTradeRecord
|
9
|
+
from .shop_craft_record import ShopCraftRecord
|
10
|
+
from ....serialization_error import SerializationError
|
11
|
+
from .....data.eo_writer import EoWriter
|
12
|
+
from .....data.eo_reader import EoReader
|
13
|
+
|
14
|
+
class ShopRecord:
|
15
|
+
"""
|
16
|
+
Record of Shop data in an Endless Shop File
|
17
|
+
"""
|
18
|
+
_byte_size: int = 0
|
19
|
+
_behavior_id: int
|
20
|
+
_name_length: int
|
21
|
+
_name: str
|
22
|
+
_min_level: int
|
23
|
+
_max_level: int
|
24
|
+
_class_requirement: int
|
25
|
+
_trades_count: int
|
26
|
+
_crafts_count: int
|
27
|
+
_trades: tuple[ShopTradeRecord, ...]
|
28
|
+
_crafts: tuple[ShopCraftRecord, ...]
|
29
|
+
|
30
|
+
def __init__(self, *, behavior_id: int, name: str, min_level: int, max_level: int, class_requirement: int, trades: Iterable[ShopTradeRecord], crafts: Iterable[ShopCraftRecord]):
|
31
|
+
"""
|
32
|
+
Create a new instance of ShopRecord.
|
33
|
+
|
34
|
+
Args:
|
35
|
+
behavior_id (int): (Value range is 0-64008.)
|
36
|
+
name (str): (Length must be 252 or less.)
|
37
|
+
min_level (int): Minimum level required to use this shop (Value range is 0-252.)
|
38
|
+
max_level (int): Maximum level allowed to use this shop (Value range is 0-252.)
|
39
|
+
class_requirement (int): Class required to use this shop (Value range is 0-252.)
|
40
|
+
trades (Iterable[ShopTradeRecord]): (Length must be 64008 or less.)
|
41
|
+
crafts (Iterable[ShopCraftRecord]): (Length must be 252 or less.)
|
42
|
+
"""
|
43
|
+
self._behavior_id = behavior_id
|
44
|
+
self._name = name
|
45
|
+
self._name_length = len(self._name)
|
46
|
+
self._min_level = min_level
|
47
|
+
self._max_level = max_level
|
48
|
+
self._class_requirement = class_requirement
|
49
|
+
self._trades = tuple(trades)
|
50
|
+
self._trades_count = len(self._trades)
|
51
|
+
self._crafts = tuple(crafts)
|
52
|
+
self._crafts_count = len(self._crafts)
|
53
|
+
|
54
|
+
@property
|
55
|
+
def byte_size(self) -> int:
|
56
|
+
"""
|
57
|
+
Returns the size of the data that this was deserialized from.
|
58
|
+
|
59
|
+
Returns:
|
60
|
+
int: The size of the data that this was deserialized from.
|
61
|
+
"""
|
62
|
+
return self._byte_size
|
63
|
+
|
64
|
+
@property
|
65
|
+
def behavior_id(self) -> int:
|
66
|
+
return self._behavior_id
|
67
|
+
|
68
|
+
@property
|
69
|
+
def name(self) -> str:
|
70
|
+
return self._name
|
71
|
+
|
72
|
+
@property
|
73
|
+
def min_level(self) -> int:
|
74
|
+
"""
|
75
|
+
Minimum level required to use this shop
|
76
|
+
"""
|
77
|
+
return self._min_level
|
78
|
+
|
79
|
+
@property
|
80
|
+
def max_level(self) -> int:
|
81
|
+
"""
|
82
|
+
Maximum level allowed to use this shop
|
83
|
+
"""
|
84
|
+
return self._max_level
|
85
|
+
|
86
|
+
@property
|
87
|
+
def class_requirement(self) -> int:
|
88
|
+
"""
|
89
|
+
Class required to use this shop
|
90
|
+
"""
|
91
|
+
return self._class_requirement
|
92
|
+
|
93
|
+
@property
|
94
|
+
def trades(self) -> tuple[ShopTradeRecord, ...]:
|
95
|
+
return self._trades
|
96
|
+
|
97
|
+
@property
|
98
|
+
def crafts(self) -> tuple[ShopCraftRecord, ...]:
|
99
|
+
return self._crafts
|
100
|
+
|
101
|
+
@staticmethod
|
102
|
+
def serialize(writer: EoWriter, data: "ShopRecord") -> None:
|
103
|
+
"""
|
104
|
+
Serializes an instance of `ShopRecord` to the provided `EoWriter`.
|
105
|
+
|
106
|
+
Args:
|
107
|
+
writer (EoWriter): The writer that the data will be serialized to.
|
108
|
+
data (ShopRecord): The data to serialize.
|
109
|
+
"""
|
110
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
111
|
+
try:
|
112
|
+
if data._behavior_id is None:
|
113
|
+
raise SerializationError("behavior_id must be provided.")
|
114
|
+
writer.add_short(data._behavior_id)
|
115
|
+
if data._name_length is None:
|
116
|
+
raise SerializationError("name_length must be provided.")
|
117
|
+
writer.add_char(data._name_length)
|
118
|
+
if data._name is None:
|
119
|
+
raise SerializationError("name must be provided.")
|
120
|
+
if len(data._name) > 252:
|
121
|
+
raise SerializationError(f"Expected length of name to be 252 or less, got {len(data._name)}.")
|
122
|
+
writer.add_fixed_string(data._name, data._name_length, False)
|
123
|
+
if data._min_level is None:
|
124
|
+
raise SerializationError("min_level must be provided.")
|
125
|
+
writer.add_char(data._min_level)
|
126
|
+
if data._max_level is None:
|
127
|
+
raise SerializationError("max_level must be provided.")
|
128
|
+
writer.add_char(data._max_level)
|
129
|
+
if data._class_requirement is None:
|
130
|
+
raise SerializationError("class_requirement must be provided.")
|
131
|
+
writer.add_char(data._class_requirement)
|
132
|
+
if data._trades_count is None:
|
133
|
+
raise SerializationError("trades_count must be provided.")
|
134
|
+
writer.add_short(data._trades_count)
|
135
|
+
if data._crafts_count is None:
|
136
|
+
raise SerializationError("crafts_count must be provided.")
|
137
|
+
writer.add_char(data._crafts_count)
|
138
|
+
if data._trades is None:
|
139
|
+
raise SerializationError("trades must be provided.")
|
140
|
+
if len(data._trades) > 64008:
|
141
|
+
raise SerializationError(f"Expected length of trades to be 64008 or less, got {len(data._trades)}.")
|
142
|
+
for i in range(data._trades_count):
|
143
|
+
ShopTradeRecord.serialize(writer, data._trades[i])
|
144
|
+
if data._crafts is None:
|
145
|
+
raise SerializationError("crafts must be provided.")
|
146
|
+
if len(data._crafts) > 252:
|
147
|
+
raise SerializationError(f"Expected length of crafts to be 252 or less, got {len(data._crafts)}.")
|
148
|
+
for i in range(data._crafts_count):
|
149
|
+
ShopCraftRecord.serialize(writer, data._crafts[i])
|
150
|
+
finally:
|
151
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
152
|
+
|
153
|
+
@staticmethod
|
154
|
+
def deserialize(reader: EoReader) -> "ShopRecord":
|
155
|
+
"""
|
156
|
+
Deserializes an instance of `ShopRecord` from the provided `EoReader`.
|
157
|
+
|
158
|
+
Args:
|
159
|
+
reader (EoReader): The writer that the data will be serialized to.
|
160
|
+
|
161
|
+
Returns:
|
162
|
+
ShopRecord: The data to serialize.
|
163
|
+
"""
|
164
|
+
old_chunked_reading_mode: bool = reader.chunked_reading_mode
|
165
|
+
try:
|
166
|
+
reader_start_position: int = reader.position
|
167
|
+
behavior_id = reader.get_short()
|
168
|
+
name_length = reader.get_char()
|
169
|
+
name = reader.get_fixed_string(name_length, False)
|
170
|
+
min_level = reader.get_char()
|
171
|
+
max_level = reader.get_char()
|
172
|
+
class_requirement = reader.get_char()
|
173
|
+
trades_count = reader.get_short()
|
174
|
+
crafts_count = reader.get_char()
|
175
|
+
trades = []
|
176
|
+
for i in range(trades_count):
|
177
|
+
trades.append(ShopTradeRecord.deserialize(reader))
|
178
|
+
crafts = []
|
179
|
+
for i in range(crafts_count):
|
180
|
+
crafts.append(ShopCraftRecord.deserialize(reader))
|
181
|
+
result = ShopRecord(behavior_id=behavior_id, name=name, min_level=min_level, max_level=max_level, class_requirement=class_requirement, trades=trades, crafts=crafts)
|
182
|
+
result._byte_size = reader.position - reader_start_position
|
183
|
+
return result
|
184
|
+
finally:
|
185
|
+
reader.chunked_reading_mode = old_chunked_reading_mode
|
186
|
+
|
187
|
+
def __repr__(self):
|
188
|
+
return f"ShopRecord(byte_size={repr(self._byte_size)}, behavior_id={repr(self._behavior_id)}, name={repr(self._name)}, min_level={repr(self._min_level)}, max_level={repr(self._max_level)}, class_requirement={repr(self._class_requirement)}, trades={repr(self._trades)}, crafts={repr(self._crafts)})"
|
@@ -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 ....serialization_error import SerializationError
|
7
|
+
from .....data.eo_writer import EoWriter
|
8
|
+
from .....data.eo_reader import EoReader
|
9
|
+
|
10
|
+
class ShopTradeRecord:
|
11
|
+
"""
|
12
|
+
Record of an item that can be bought or sold in a shop
|
13
|
+
"""
|
14
|
+
_byte_size: int = 0
|
15
|
+
_item_id: int
|
16
|
+
_buy_price: int
|
17
|
+
_sell_price: int
|
18
|
+
_max_amount: int
|
19
|
+
|
20
|
+
def __init__(self, *, item_id: int, buy_price: int, sell_price: int, max_amount: int):
|
21
|
+
"""
|
22
|
+
Create a new instance of ShopTradeRecord.
|
23
|
+
|
24
|
+
Args:
|
25
|
+
item_id (int): (Value range is 0-64008.)
|
26
|
+
buy_price (int): How much it costs to buy the item from the shop (Value range is 0-16194276.)
|
27
|
+
sell_price (int): How much the shop will pay for the item (Value range is 0-16194276.)
|
28
|
+
max_amount (int): Max amount of the item that can be bought or sold at one time (Value range is 0-252.)
|
29
|
+
"""
|
30
|
+
self._item_id = item_id
|
31
|
+
self._buy_price = buy_price
|
32
|
+
self._sell_price = sell_price
|
33
|
+
self._max_amount = max_amount
|
34
|
+
|
35
|
+
@property
|
36
|
+
def byte_size(self) -> int:
|
37
|
+
"""
|
38
|
+
Returns the size of the data that this was deserialized from.
|
39
|
+
|
40
|
+
Returns:
|
41
|
+
int: The size of the data that this was deserialized from.
|
42
|
+
"""
|
43
|
+
return self._byte_size
|
44
|
+
|
45
|
+
@property
|
46
|
+
def item_id(self) -> int:
|
47
|
+
return self._item_id
|
48
|
+
|
49
|
+
@property
|
50
|
+
def buy_price(self) -> int:
|
51
|
+
"""
|
52
|
+
How much it costs to buy the item from the shop
|
53
|
+
"""
|
54
|
+
return self._buy_price
|
55
|
+
|
56
|
+
@property
|
57
|
+
def sell_price(self) -> int:
|
58
|
+
"""
|
59
|
+
How much the shop will pay for the item
|
60
|
+
"""
|
61
|
+
return self._sell_price
|
62
|
+
|
63
|
+
@property
|
64
|
+
def max_amount(self) -> int:
|
65
|
+
"""
|
66
|
+
Max amount of the item that can be bought or sold at one time
|
67
|
+
"""
|
68
|
+
return self._max_amount
|
69
|
+
|
70
|
+
@staticmethod
|
71
|
+
def serialize(writer: EoWriter, data: "ShopTradeRecord") -> None:
|
72
|
+
"""
|
73
|
+
Serializes an instance of `ShopTradeRecord` to the provided `EoWriter`.
|
74
|
+
|
75
|
+
Args:
|
76
|
+
writer (EoWriter): The writer that the data will be serialized to.
|
77
|
+
data (ShopTradeRecord): The data to serialize.
|
78
|
+
"""
|
79
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
80
|
+
try:
|
81
|
+
if data._item_id is None:
|
82
|
+
raise SerializationError("item_id must be provided.")
|
83
|
+
writer.add_short(data._item_id)
|
84
|
+
if data._buy_price is None:
|
85
|
+
raise SerializationError("buy_price must be provided.")
|
86
|
+
writer.add_three(data._buy_price)
|
87
|
+
if data._sell_price is None:
|
88
|
+
raise SerializationError("sell_price must be provided.")
|
89
|
+
writer.add_three(data._sell_price)
|
90
|
+
if data._max_amount is None:
|
91
|
+
raise SerializationError("max_amount must be provided.")
|
92
|
+
writer.add_char(data._max_amount)
|
93
|
+
finally:
|
94
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
95
|
+
|
96
|
+
@staticmethod
|
97
|
+
def deserialize(reader: EoReader) -> "ShopTradeRecord":
|
98
|
+
"""
|
99
|
+
Deserializes an instance of `ShopTradeRecord` from the provided `EoReader`.
|
100
|
+
|
101
|
+
Args:
|
102
|
+
reader (EoReader): The writer that the data will be serialized to.
|
103
|
+
|
104
|
+
Returns:
|
105
|
+
ShopTradeRecord: The data to serialize.
|
106
|
+
"""
|
107
|
+
old_chunked_reading_mode: bool = reader.chunked_reading_mode
|
108
|
+
try:
|
109
|
+
reader_start_position: int = reader.position
|
110
|
+
item_id = reader.get_short()
|
111
|
+
buy_price = reader.get_three()
|
112
|
+
sell_price = reader.get_three()
|
113
|
+
max_amount = reader.get_char()
|
114
|
+
result = ShopTradeRecord(item_id=item_id, buy_price=buy_price, sell_price=sell_price, max_amount=max_amount)
|
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"ShopTradeRecord(byte_size={repr(self._byte_size)}, item_id={repr(self._item_id)}, buy_price={repr(self._buy_price)}, sell_price={repr(self._sell_price)}, max_amount={repr(self._max_amount)})"
|
@@ -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 .skill_master_record import SkillMasterRecord
|
9
|
+
from ....serialization_error import SerializationError
|
10
|
+
from .....data.eo_writer import EoWriter
|
11
|
+
from .....data.eo_reader import EoReader
|
12
|
+
|
13
|
+
class SkillMasterFile:
|
14
|
+
"""
|
15
|
+
Endless Skill Master File
|
16
|
+
"""
|
17
|
+
_byte_size: int = 0
|
18
|
+
_skill_masters: tuple[SkillMasterRecord, ...]
|
19
|
+
|
20
|
+
def __init__(self, *, skill_masters: Iterable[SkillMasterRecord]):
|
21
|
+
"""
|
22
|
+
Create a new instance of SkillMasterFile.
|
23
|
+
|
24
|
+
Args:
|
25
|
+
skill_masters (Iterable[SkillMasterRecord]):
|
26
|
+
"""
|
27
|
+
self._skill_masters = tuple(skill_masters)
|
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 skill_masters(self) -> tuple[SkillMasterRecord, ...]:
|
41
|
+
return self._skill_masters
|
42
|
+
|
43
|
+
@staticmethod
|
44
|
+
def serialize(writer: EoWriter, data: "SkillMasterFile") -> None:
|
45
|
+
"""
|
46
|
+
Serializes an instance of `SkillMasterFile` to the provided `EoWriter`.
|
47
|
+
|
48
|
+
Args:
|
49
|
+
writer (EoWriter): The writer that the data will be serialized to.
|
50
|
+
data (SkillMasterFile): The data to serialize.
|
51
|
+
"""
|
52
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
53
|
+
try:
|
54
|
+
writer.add_fixed_string("EMF", 3, False)
|
55
|
+
if data._skill_masters is None:
|
56
|
+
raise SerializationError("skill_masters must be provided.")
|
57
|
+
for i in range(len(data._skill_masters)):
|
58
|
+
SkillMasterRecord.serialize(writer, data._skill_masters[i])
|
59
|
+
finally:
|
60
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
61
|
+
|
62
|
+
@staticmethod
|
63
|
+
def deserialize(reader: EoReader) -> "SkillMasterFile":
|
64
|
+
"""
|
65
|
+
Deserializes an instance of `SkillMasterFile` from the provided `EoReader`.
|
66
|
+
|
67
|
+
Args:
|
68
|
+
reader (EoReader): The writer that the data will be serialized to.
|
69
|
+
|
70
|
+
Returns:
|
71
|
+
SkillMasterFile: 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
|
+
skill_masters = []
|
78
|
+
while reader.remaining > 0:
|
79
|
+
skill_masters.append(SkillMasterRecord.deserialize(reader))
|
80
|
+
result = SkillMasterFile(skill_masters=skill_masters)
|
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"SkillMasterFile(byte_size={repr(self._byte_size)}, skill_masters={repr(self._skill_masters)})"
|
@@ -0,0 +1,168 @@
|
|
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 .skill_master_skill_record import SkillMasterSkillRecord
|
9
|
+
from ....serialization_error import SerializationError
|
10
|
+
from .....data.eo_writer import EoWriter
|
11
|
+
from .....data.eo_reader import EoReader
|
12
|
+
|
13
|
+
class SkillMasterRecord:
|
14
|
+
"""
|
15
|
+
Record of Skill Master data in an Endless Skill Master File
|
16
|
+
"""
|
17
|
+
_byte_size: int = 0
|
18
|
+
_behavior_id: int
|
19
|
+
_name_length: int
|
20
|
+
_name: str
|
21
|
+
_min_level: int
|
22
|
+
_max_level: int
|
23
|
+
_class_requirement: int
|
24
|
+
_skills_count: int
|
25
|
+
_skills: tuple[SkillMasterSkillRecord, ...]
|
26
|
+
|
27
|
+
def __init__(self, *, behavior_id: int, name: str, min_level: int, max_level: int, class_requirement: int, skills: Iterable[SkillMasterSkillRecord]):
|
28
|
+
"""
|
29
|
+
Create a new instance of SkillMasterRecord.
|
30
|
+
|
31
|
+
Args:
|
32
|
+
behavior_id (int): Behavior ID of the Skill Master NPC (Value range is 0-64008.)
|
33
|
+
name (str): (Length must be 252 or less.)
|
34
|
+
min_level (int): Minimum level required to use this Skill Master (Value range is 0-252.)
|
35
|
+
max_level (int): Maximum level allowed to use this Skill Master (Value range is 0-252.)
|
36
|
+
class_requirement (int): Class required to use this Skill Master (Value range is 0-252.)
|
37
|
+
skills (Iterable[SkillMasterSkillRecord]): (Length must be 64008 or less.)
|
38
|
+
"""
|
39
|
+
self._behavior_id = behavior_id
|
40
|
+
self._name = name
|
41
|
+
self._name_length = len(self._name)
|
42
|
+
self._min_level = min_level
|
43
|
+
self._max_level = max_level
|
44
|
+
self._class_requirement = class_requirement
|
45
|
+
self._skills = tuple(skills)
|
46
|
+
self._skills_count = len(self._skills)
|
47
|
+
|
48
|
+
@property
|
49
|
+
def byte_size(self) -> int:
|
50
|
+
"""
|
51
|
+
Returns the size of the data that this was deserialized from.
|
52
|
+
|
53
|
+
Returns:
|
54
|
+
int: The size of the data that this was deserialized from.
|
55
|
+
"""
|
56
|
+
return self._byte_size
|
57
|
+
|
58
|
+
@property
|
59
|
+
def behavior_id(self) -> int:
|
60
|
+
"""
|
61
|
+
Behavior ID of the Skill Master NPC
|
62
|
+
"""
|
63
|
+
return self._behavior_id
|
64
|
+
|
65
|
+
@property
|
66
|
+
def name(self) -> str:
|
67
|
+
return self._name
|
68
|
+
|
69
|
+
@property
|
70
|
+
def min_level(self) -> int:
|
71
|
+
"""
|
72
|
+
Minimum level required to use this Skill Master
|
73
|
+
"""
|
74
|
+
return self._min_level
|
75
|
+
|
76
|
+
@property
|
77
|
+
def max_level(self) -> int:
|
78
|
+
"""
|
79
|
+
Maximum level allowed to use this Skill Master
|
80
|
+
"""
|
81
|
+
return self._max_level
|
82
|
+
|
83
|
+
@property
|
84
|
+
def class_requirement(self) -> int:
|
85
|
+
"""
|
86
|
+
Class required to use this Skill Master
|
87
|
+
"""
|
88
|
+
return self._class_requirement
|
89
|
+
|
90
|
+
@property
|
91
|
+
def skills(self) -> tuple[SkillMasterSkillRecord, ...]:
|
92
|
+
return self._skills
|
93
|
+
|
94
|
+
@staticmethod
|
95
|
+
def serialize(writer: EoWriter, data: "SkillMasterRecord") -> None:
|
96
|
+
"""
|
97
|
+
Serializes an instance of `SkillMasterRecord` to the provided `EoWriter`.
|
98
|
+
|
99
|
+
Args:
|
100
|
+
writer (EoWriter): The writer that the data will be serialized to.
|
101
|
+
data (SkillMasterRecord): The data to serialize.
|
102
|
+
"""
|
103
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
104
|
+
try:
|
105
|
+
if data._behavior_id is None:
|
106
|
+
raise SerializationError("behavior_id must be provided.")
|
107
|
+
writer.add_short(data._behavior_id)
|
108
|
+
if data._name_length is None:
|
109
|
+
raise SerializationError("name_length must be provided.")
|
110
|
+
writer.add_char(data._name_length)
|
111
|
+
if data._name is None:
|
112
|
+
raise SerializationError("name must be provided.")
|
113
|
+
if len(data._name) > 252:
|
114
|
+
raise SerializationError(f"Expected length of name to be 252 or less, got {len(data._name)}.")
|
115
|
+
writer.add_fixed_string(data._name, data._name_length, False)
|
116
|
+
if data._min_level is None:
|
117
|
+
raise SerializationError("min_level must be provided.")
|
118
|
+
writer.add_char(data._min_level)
|
119
|
+
if data._max_level is None:
|
120
|
+
raise SerializationError("max_level must be provided.")
|
121
|
+
writer.add_char(data._max_level)
|
122
|
+
if data._class_requirement is None:
|
123
|
+
raise SerializationError("class_requirement must be provided.")
|
124
|
+
writer.add_char(data._class_requirement)
|
125
|
+
if data._skills_count is None:
|
126
|
+
raise SerializationError("skills_count must be provided.")
|
127
|
+
writer.add_short(data._skills_count)
|
128
|
+
if data._skills is None:
|
129
|
+
raise SerializationError("skills must be provided.")
|
130
|
+
if len(data._skills) > 64008:
|
131
|
+
raise SerializationError(f"Expected length of skills to be 64008 or less, got {len(data._skills)}.")
|
132
|
+
for i in range(data._skills_count):
|
133
|
+
SkillMasterSkillRecord.serialize(writer, data._skills[i])
|
134
|
+
finally:
|
135
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
136
|
+
|
137
|
+
@staticmethod
|
138
|
+
def deserialize(reader: EoReader) -> "SkillMasterRecord":
|
139
|
+
"""
|
140
|
+
Deserializes an instance of `SkillMasterRecord` from the provided `EoReader`.
|
141
|
+
|
142
|
+
Args:
|
143
|
+
reader (EoReader): The writer that the data will be serialized to.
|
144
|
+
|
145
|
+
Returns:
|
146
|
+
SkillMasterRecord: The data to serialize.
|
147
|
+
"""
|
148
|
+
old_chunked_reading_mode: bool = reader.chunked_reading_mode
|
149
|
+
try:
|
150
|
+
reader_start_position: int = reader.position
|
151
|
+
behavior_id = reader.get_short()
|
152
|
+
name_length = reader.get_char()
|
153
|
+
name = reader.get_fixed_string(name_length, False)
|
154
|
+
min_level = reader.get_char()
|
155
|
+
max_level = reader.get_char()
|
156
|
+
class_requirement = reader.get_char()
|
157
|
+
skills_count = reader.get_short()
|
158
|
+
skills = []
|
159
|
+
for i in range(skills_count):
|
160
|
+
skills.append(SkillMasterSkillRecord.deserialize(reader))
|
161
|
+
result = SkillMasterRecord(behavior_id=behavior_id, name=name, min_level=min_level, max_level=max_level, class_requirement=class_requirement, skills=skills)
|
162
|
+
result._byte_size = reader.position - reader_start_position
|
163
|
+
return result
|
164
|
+
finally:
|
165
|
+
reader.chunked_reading_mode = old_chunked_reading_mode
|
166
|
+
|
167
|
+
def __repr__(self):
|
168
|
+
return f"SkillMasterRecord(byte_size={repr(self._byte_size)}, behavior_id={repr(self._behavior_id)}, name={repr(self._name)}, min_level={repr(self._min_level)}, max_level={repr(self._max_level)}, class_requirement={repr(self._class_requirement)}, skills={repr(self._skills)})"
|