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
@@ -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_warp_row import MapWarpRow
|
8
9
|
from .map_type import MapType
|
9
10
|
from .map_timed_effect import MapTimedEffect
|
@@ -23,33 +24,88 @@ class Emf:
|
|
23
24
|
Endless Map File
|
24
25
|
"""
|
25
26
|
_byte_size: int = 0
|
26
|
-
_rid:
|
27
|
-
_name: str
|
28
|
-
_type: MapType
|
29
|
-
_timed_effect: MapTimedEffect
|
30
|
-
_music_id: int
|
31
|
-
_music_control: MapMusicControl
|
32
|
-
_ambient_sound_id: int
|
33
|
-
_width: int
|
34
|
-
_height: int
|
35
|
-
_fill_tile: int
|
36
|
-
_map_available: bool
|
37
|
-
_can_scroll: bool
|
38
|
-
_relog_x: int
|
39
|
-
_relog_y: int
|
40
|
-
_npcs_count: int
|
41
|
-
_npcs:
|
42
|
-
_legacy_door_keys_count: int
|
43
|
-
_legacy_door_keys:
|
44
|
-
_items_count: int
|
45
|
-
_items:
|
46
|
-
_tile_spec_rows_count: int
|
47
|
-
_tile_spec_rows:
|
48
|
-
_warp_rows_count: int
|
49
|
-
_warp_rows:
|
50
|
-
_graphic_layers:
|
51
|
-
_signs_count: int
|
52
|
-
_signs:
|
27
|
+
_rid: tuple[int, ...]
|
28
|
+
_name: str
|
29
|
+
_type: MapType
|
30
|
+
_timed_effect: MapTimedEffect
|
31
|
+
_music_id: int
|
32
|
+
_music_control: MapMusicControl
|
33
|
+
_ambient_sound_id: int
|
34
|
+
_width: int
|
35
|
+
_height: int
|
36
|
+
_fill_tile: int
|
37
|
+
_map_available: bool
|
38
|
+
_can_scroll: bool
|
39
|
+
_relog_x: int
|
40
|
+
_relog_y: int
|
41
|
+
_npcs_count: int
|
42
|
+
_npcs: tuple[MapNpc, ...]
|
43
|
+
_legacy_door_keys_count: int
|
44
|
+
_legacy_door_keys: tuple[MapLegacyDoorKey, ...]
|
45
|
+
_items_count: int
|
46
|
+
_items: tuple[MapItem, ...]
|
47
|
+
_tile_spec_rows_count: int
|
48
|
+
_tile_spec_rows: tuple[MapTileSpecRow, ...]
|
49
|
+
_warp_rows_count: int
|
50
|
+
_warp_rows: tuple[MapWarpRow, ...]
|
51
|
+
_graphic_layers: tuple[MapGraphicLayer, ...]
|
52
|
+
_signs_count: int
|
53
|
+
_signs: tuple[MapSign, ...]
|
54
|
+
|
55
|
+
def __init__(self, *, rid: Iterable[int], name: str, type: MapType, timed_effect: MapTimedEffect, music_id: int, music_control: MapMusicControl, ambient_sound_id: int, width: int, height: int, fill_tile: int, map_available: bool, can_scroll: bool, relog_x: int, relog_y: int, npcs: Iterable[MapNpc], legacy_door_keys: Iterable[MapLegacyDoorKey], items: Iterable[MapItem], tile_spec_rows: Iterable[MapTileSpecRow], warp_rows: Iterable[MapWarpRow], graphic_layers: Iterable[MapGraphicLayer], signs: Iterable[MapSign]):
|
56
|
+
"""
|
57
|
+
Create a new instance of Emf.
|
58
|
+
|
59
|
+
Args:
|
60
|
+
rid (Iterable[int]): (Length must be `2`.) (Element value range is 0-64008.)
|
61
|
+
name (str): (Length must be `24` or less.)
|
62
|
+
type (MapType):
|
63
|
+
timed_effect (MapTimedEffect):
|
64
|
+
music_id (int): (Value range is 0-252.)
|
65
|
+
music_control (MapMusicControl):
|
66
|
+
ambient_sound_id (int): (Value range is 0-64008.)
|
67
|
+
width (int): (Value range is 0-252.)
|
68
|
+
height (int): (Value range is 0-252.)
|
69
|
+
fill_tile (int): (Value range is 0-64008.)
|
70
|
+
map_available (bool):
|
71
|
+
can_scroll (bool):
|
72
|
+
relog_x (int): (Value range is 0-252.)
|
73
|
+
relog_y (int): (Value range is 0-252.)
|
74
|
+
npcs (Iterable[MapNpc]): (Length must be 252 or less.)
|
75
|
+
legacy_door_keys (Iterable[MapLegacyDoorKey]): (Length must be 252 or less.)
|
76
|
+
items (Iterable[MapItem]): (Length must be 252 or less.)
|
77
|
+
tile_spec_rows (Iterable[MapTileSpecRow]): (Length must be 252 or less.)
|
78
|
+
warp_rows (Iterable[MapWarpRow]): (Length must be 252 or less.)
|
79
|
+
graphic_layers (Iterable[MapGraphicLayer]): The 9 layers of map graphics. Order is [Ground, Object, Overlay, Down Wall, Right Wall, Roof, Top, Shadow, Overlay2] (Length must be `9`.)
|
80
|
+
signs (Iterable[MapSign]): (Length must be 252 or less.)
|
81
|
+
"""
|
82
|
+
self._rid = tuple(rid)
|
83
|
+
self._name = name
|
84
|
+
self._type = type
|
85
|
+
self._timed_effect = timed_effect
|
86
|
+
self._music_id = music_id
|
87
|
+
self._music_control = music_control
|
88
|
+
self._ambient_sound_id = ambient_sound_id
|
89
|
+
self._width = width
|
90
|
+
self._height = height
|
91
|
+
self._fill_tile = fill_tile
|
92
|
+
self._map_available = map_available
|
93
|
+
self._can_scroll = can_scroll
|
94
|
+
self._relog_x = relog_x
|
95
|
+
self._relog_y = relog_y
|
96
|
+
self._npcs = tuple(npcs)
|
97
|
+
self._npcs_count = len(self._npcs)
|
98
|
+
self._legacy_door_keys = tuple(legacy_door_keys)
|
99
|
+
self._legacy_door_keys_count = len(self._legacy_door_keys)
|
100
|
+
self._items = tuple(items)
|
101
|
+
self._items_count = len(self._items)
|
102
|
+
self._tile_spec_rows = tuple(tile_spec_rows)
|
103
|
+
self._tile_spec_rows_count = len(self._tile_spec_rows)
|
104
|
+
self._warp_rows = tuple(warp_rows)
|
105
|
+
self._warp_rows_count = len(self._warp_rows)
|
106
|
+
self._graphic_layers = tuple(graphic_layers)
|
107
|
+
self._signs = tuple(signs)
|
108
|
+
self._signs_count = len(self._signs)
|
53
109
|
|
54
110
|
@property
|
55
111
|
def byte_size(self) -> int:
|
@@ -62,315 +118,93 @@ class Emf:
|
|
62
118
|
return self._byte_size
|
63
119
|
|
64
120
|
@property
|
65
|
-
def rid(self) ->
|
66
|
-
"""
|
67
|
-
Note:
|
68
|
-
- Length must be `2`.
|
69
|
-
- Element value range is 0-64008.
|
70
|
-
"""
|
121
|
+
def rid(self) -> tuple[int, ...]:
|
71
122
|
return self._rid
|
72
123
|
|
73
|
-
@rid.setter
|
74
|
-
def rid(self, rid: list[int]) -> None:
|
75
|
-
"""
|
76
|
-
Note:
|
77
|
-
- Length must be `2`.
|
78
|
-
- Element value range is 0-64008.
|
79
|
-
"""
|
80
|
-
self._rid = rid
|
81
|
-
|
82
124
|
@property
|
83
125
|
def name(self) -> str:
|
84
|
-
"""
|
85
|
-
Note:
|
86
|
-
- Length must be `24` or less.
|
87
|
-
"""
|
88
126
|
return self._name
|
89
127
|
|
90
|
-
@name.setter
|
91
|
-
def name(self, name: str) -> None:
|
92
|
-
"""
|
93
|
-
Note:
|
94
|
-
- Length must be `24` or less.
|
95
|
-
"""
|
96
|
-
self._name = name
|
97
|
-
|
98
128
|
@property
|
99
129
|
def type(self) -> MapType:
|
100
130
|
return self._type
|
101
131
|
|
102
|
-
@type.setter
|
103
|
-
def type(self, type: MapType) -> None:
|
104
|
-
self._type = type
|
105
|
-
|
106
132
|
@property
|
107
133
|
def timed_effect(self) -> MapTimedEffect:
|
108
134
|
return self._timed_effect
|
109
135
|
|
110
|
-
@timed_effect.setter
|
111
|
-
def timed_effect(self, timed_effect: MapTimedEffect) -> None:
|
112
|
-
self._timed_effect = timed_effect
|
113
|
-
|
114
136
|
@property
|
115
137
|
def music_id(self) -> int:
|
116
|
-
"""
|
117
|
-
Note:
|
118
|
-
- Value range is 0-252.
|
119
|
-
"""
|
120
138
|
return self._music_id
|
121
139
|
|
122
|
-
@music_id.setter
|
123
|
-
def music_id(self, music_id: int) -> None:
|
124
|
-
"""
|
125
|
-
Note:
|
126
|
-
- Value range is 0-252.
|
127
|
-
"""
|
128
|
-
self._music_id = music_id
|
129
|
-
|
130
140
|
@property
|
131
141
|
def music_control(self) -> MapMusicControl:
|
132
142
|
return self._music_control
|
133
143
|
|
134
|
-
@music_control.setter
|
135
|
-
def music_control(self, music_control: MapMusicControl) -> None:
|
136
|
-
self._music_control = music_control
|
137
|
-
|
138
144
|
@property
|
139
145
|
def ambient_sound_id(self) -> int:
|
140
|
-
"""
|
141
|
-
Note:
|
142
|
-
- Value range is 0-64008.
|
143
|
-
"""
|
144
146
|
return self._ambient_sound_id
|
145
147
|
|
146
|
-
@ambient_sound_id.setter
|
147
|
-
def ambient_sound_id(self, ambient_sound_id: int) -> None:
|
148
|
-
"""
|
149
|
-
Note:
|
150
|
-
- Value range is 0-64008.
|
151
|
-
"""
|
152
|
-
self._ambient_sound_id = ambient_sound_id
|
153
|
-
|
154
148
|
@property
|
155
149
|
def width(self) -> int:
|
156
|
-
"""
|
157
|
-
Note:
|
158
|
-
- Value range is 0-252.
|
159
|
-
"""
|
160
150
|
return self._width
|
161
151
|
|
162
|
-
@width.setter
|
163
|
-
def width(self, width: int) -> None:
|
164
|
-
"""
|
165
|
-
Note:
|
166
|
-
- Value range is 0-252.
|
167
|
-
"""
|
168
|
-
self._width = width
|
169
|
-
|
170
152
|
@property
|
171
153
|
def height(self) -> int:
|
172
|
-
"""
|
173
|
-
Note:
|
174
|
-
- Value range is 0-252.
|
175
|
-
"""
|
176
154
|
return self._height
|
177
155
|
|
178
|
-
@height.setter
|
179
|
-
def height(self, height: int) -> None:
|
180
|
-
"""
|
181
|
-
Note:
|
182
|
-
- Value range is 0-252.
|
183
|
-
"""
|
184
|
-
self._height = height
|
185
|
-
|
186
156
|
@property
|
187
157
|
def fill_tile(self) -> int:
|
188
|
-
"""
|
189
|
-
Note:
|
190
|
-
- Value range is 0-64008.
|
191
|
-
"""
|
192
158
|
return self._fill_tile
|
193
159
|
|
194
|
-
@fill_tile.setter
|
195
|
-
def fill_tile(self, fill_tile: int) -> None:
|
196
|
-
"""
|
197
|
-
Note:
|
198
|
-
- Value range is 0-64008.
|
199
|
-
"""
|
200
|
-
self._fill_tile = fill_tile
|
201
|
-
|
202
160
|
@property
|
203
161
|
def map_available(self) -> bool:
|
204
162
|
return self._map_available
|
205
163
|
|
206
|
-
@map_available.setter
|
207
|
-
def map_available(self, map_available: bool) -> None:
|
208
|
-
self._map_available = map_available
|
209
|
-
|
210
164
|
@property
|
211
165
|
def can_scroll(self) -> bool:
|
212
166
|
return self._can_scroll
|
213
167
|
|
214
|
-
@can_scroll.setter
|
215
|
-
def can_scroll(self, can_scroll: bool) -> None:
|
216
|
-
self._can_scroll = can_scroll
|
217
|
-
|
218
168
|
@property
|
219
169
|
def relog_x(self) -> int:
|
220
|
-
"""
|
221
|
-
Note:
|
222
|
-
- Value range is 0-252.
|
223
|
-
"""
|
224
170
|
return self._relog_x
|
225
171
|
|
226
|
-
@relog_x.setter
|
227
|
-
def relog_x(self, relog_x: int) -> None:
|
228
|
-
"""
|
229
|
-
Note:
|
230
|
-
- Value range is 0-252.
|
231
|
-
"""
|
232
|
-
self._relog_x = relog_x
|
233
|
-
|
234
172
|
@property
|
235
173
|
def relog_y(self) -> int:
|
236
|
-
"""
|
237
|
-
Note:
|
238
|
-
- Value range is 0-252.
|
239
|
-
"""
|
240
174
|
return self._relog_y
|
241
175
|
|
242
|
-
@relog_y.setter
|
243
|
-
def relog_y(self, relog_y: int) -> None:
|
244
|
-
"""
|
245
|
-
Note:
|
246
|
-
- Value range is 0-252.
|
247
|
-
"""
|
248
|
-
self._relog_y = relog_y
|
249
|
-
|
250
176
|
@property
|
251
|
-
def npcs(self) ->
|
252
|
-
"""
|
253
|
-
Note:
|
254
|
-
- Length must be 252 or less.
|
255
|
-
"""
|
177
|
+
def npcs(self) -> tuple[MapNpc, ...]:
|
256
178
|
return self._npcs
|
257
179
|
|
258
|
-
@npcs.setter
|
259
|
-
def npcs(self, npcs: list[MapNpc]) -> None:
|
260
|
-
"""
|
261
|
-
Note:
|
262
|
-
- Length must be 252 or less.
|
263
|
-
"""
|
264
|
-
self._npcs = npcs
|
265
|
-
self._npcs_count = len(self._npcs)
|
266
|
-
|
267
180
|
@property
|
268
|
-
def legacy_door_keys(self) ->
|
269
|
-
"""
|
270
|
-
Note:
|
271
|
-
- Length must be 252 or less.
|
272
|
-
"""
|
181
|
+
def legacy_door_keys(self) -> tuple[MapLegacyDoorKey, ...]:
|
273
182
|
return self._legacy_door_keys
|
274
183
|
|
275
|
-
@legacy_door_keys.setter
|
276
|
-
def legacy_door_keys(self, legacy_door_keys: list[MapLegacyDoorKey]) -> None:
|
277
|
-
"""
|
278
|
-
Note:
|
279
|
-
- Length must be 252 or less.
|
280
|
-
"""
|
281
|
-
self._legacy_door_keys = legacy_door_keys
|
282
|
-
self._legacy_door_keys_count = len(self._legacy_door_keys)
|
283
|
-
|
284
184
|
@property
|
285
|
-
def items(self) ->
|
286
|
-
"""
|
287
|
-
Note:
|
288
|
-
- Length must be 252 or less.
|
289
|
-
"""
|
185
|
+
def items(self) -> tuple[MapItem, ...]:
|
290
186
|
return self._items
|
291
187
|
|
292
|
-
@items.setter
|
293
|
-
def items(self, items: list[MapItem]) -> None:
|
294
|
-
"""
|
295
|
-
Note:
|
296
|
-
- Length must be 252 or less.
|
297
|
-
"""
|
298
|
-
self._items = items
|
299
|
-
self._items_count = len(self._items)
|
300
|
-
|
301
188
|
@property
|
302
|
-
def tile_spec_rows(self) ->
|
303
|
-
"""
|
304
|
-
Note:
|
305
|
-
- Length must be 252 or less.
|
306
|
-
"""
|
189
|
+
def tile_spec_rows(self) -> tuple[MapTileSpecRow, ...]:
|
307
190
|
return self._tile_spec_rows
|
308
191
|
|
309
|
-
@tile_spec_rows.setter
|
310
|
-
def tile_spec_rows(self, tile_spec_rows: list[MapTileSpecRow]) -> None:
|
311
|
-
"""
|
312
|
-
Note:
|
313
|
-
- Length must be 252 or less.
|
314
|
-
"""
|
315
|
-
self._tile_spec_rows = tile_spec_rows
|
316
|
-
self._tile_spec_rows_count = len(self._tile_spec_rows)
|
317
|
-
|
318
192
|
@property
|
319
|
-
def warp_rows(self) ->
|
320
|
-
"""
|
321
|
-
Note:
|
322
|
-
- Length must be 252 or less.
|
323
|
-
"""
|
193
|
+
def warp_rows(self) -> tuple[MapWarpRow, ...]:
|
324
194
|
return self._warp_rows
|
325
195
|
|
326
|
-
@warp_rows.setter
|
327
|
-
def warp_rows(self, warp_rows: list[MapWarpRow]) -> None:
|
328
|
-
"""
|
329
|
-
Note:
|
330
|
-
- Length must be 252 or less.
|
331
|
-
"""
|
332
|
-
self._warp_rows = warp_rows
|
333
|
-
self._warp_rows_count = len(self._warp_rows)
|
334
|
-
|
335
196
|
@property
|
336
|
-
def graphic_layers(self) ->
|
197
|
+
def graphic_layers(self) -> tuple[MapGraphicLayer, ...]:
|
337
198
|
"""
|
338
199
|
The 9 layers of map graphics.
|
339
200
|
Order is [Ground, Object, Overlay, Down Wall, Right Wall, Roof, Top, Shadow, Overlay2]
|
340
|
-
|
341
|
-
Note:
|
342
|
-
- Length must be `9`.
|
343
201
|
"""
|
344
202
|
return self._graphic_layers
|
345
203
|
|
346
|
-
@graphic_layers.setter
|
347
|
-
def graphic_layers(self, graphic_layers: list[MapGraphicLayer]) -> None:
|
348
|
-
"""
|
349
|
-
The 9 layers of map graphics.
|
350
|
-
Order is [Ground, Object, Overlay, Down Wall, Right Wall, Roof, Top, Shadow, Overlay2]
|
351
|
-
|
352
|
-
Note:
|
353
|
-
- Length must be `9`.
|
354
|
-
"""
|
355
|
-
self._graphic_layers = graphic_layers
|
356
|
-
|
357
204
|
@property
|
358
|
-
def signs(self) ->
|
359
|
-
"""
|
360
|
-
Note:
|
361
|
-
- Length must be 252 or less.
|
362
|
-
"""
|
205
|
+
def signs(self) -> tuple[MapSign, ...]:
|
363
206
|
return self._signs
|
364
207
|
|
365
|
-
@signs.setter
|
366
|
-
def signs(self, signs: list[MapSign]) -> None:
|
367
|
-
"""
|
368
|
-
Note:
|
369
|
-
- Length must be 252 or less.
|
370
|
-
"""
|
371
|
-
self._signs = signs
|
372
|
-
self._signs_count = len(self._signs)
|
373
|
-
|
374
208
|
@staticmethod
|
375
209
|
def serialize(writer: EoWriter, data: "Emf") -> None:
|
376
210
|
"""
|
@@ -380,115 +214,119 @@ class Emf:
|
|
380
214
|
writer (EoWriter): The writer that the data will be serialized to.
|
381
215
|
data (Emf): The data to serialize.
|
382
216
|
"""
|
383
|
-
writer.
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
217
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
218
|
+
try:
|
219
|
+
writer.add_fixed_string("EMF", 3, False)
|
220
|
+
if data._rid is None:
|
221
|
+
raise SerializationError("rid must be provided.")
|
222
|
+
if len(data._rid) != 2:
|
223
|
+
raise SerializationError(f"Expected length of rid to be exactly 2, got {len(data._rid)}.")
|
224
|
+
for i in range(2):
|
225
|
+
writer.add_short(data._rid[i])
|
226
|
+
if data._name is None:
|
227
|
+
raise SerializationError("name must be provided.")
|
228
|
+
if len(data._name) > 24:
|
229
|
+
raise SerializationError(f"Expected length of name to be 24 or less, got {len(data._name)}.")
|
230
|
+
writer.add_fixed_encoded_string(data._name, 24, True)
|
231
|
+
if data._type is None:
|
232
|
+
raise SerializationError("type must be provided.")
|
233
|
+
writer.add_char(int(data._type))
|
234
|
+
if data._timed_effect is None:
|
235
|
+
raise SerializationError("timed_effect must be provided.")
|
236
|
+
writer.add_char(int(data._timed_effect))
|
237
|
+
if data._music_id is None:
|
238
|
+
raise SerializationError("music_id must be provided.")
|
239
|
+
writer.add_char(data._music_id)
|
240
|
+
if data._music_control is None:
|
241
|
+
raise SerializationError("music_control must be provided.")
|
242
|
+
writer.add_char(int(data._music_control))
|
243
|
+
if data._ambient_sound_id is None:
|
244
|
+
raise SerializationError("ambient_sound_id must be provided.")
|
245
|
+
writer.add_short(data._ambient_sound_id)
|
246
|
+
if data._width is None:
|
247
|
+
raise SerializationError("width must be provided.")
|
248
|
+
writer.add_char(data._width)
|
249
|
+
if data._height is None:
|
250
|
+
raise SerializationError("height must be provided.")
|
251
|
+
writer.add_char(data._height)
|
252
|
+
if data._fill_tile is None:
|
253
|
+
raise SerializationError("fill_tile must be provided.")
|
254
|
+
writer.add_short(data._fill_tile)
|
255
|
+
if data._map_available is None:
|
256
|
+
raise SerializationError("map_available must be provided.")
|
257
|
+
writer.add_char(1 if data._map_available else 0)
|
258
|
+
if data._can_scroll is None:
|
259
|
+
raise SerializationError("can_scroll must be provided.")
|
260
|
+
writer.add_char(1 if data._can_scroll else 0)
|
261
|
+
if data._relog_x is None:
|
262
|
+
raise SerializationError("relog_x must be provided.")
|
263
|
+
writer.add_char(data._relog_x)
|
264
|
+
if data._relog_y is None:
|
265
|
+
raise SerializationError("relog_y must be provided.")
|
266
|
+
writer.add_char(data._relog_y)
|
267
|
+
writer.add_char(0)
|
268
|
+
if data._npcs_count is None:
|
269
|
+
raise SerializationError("npcs_count must be provided.")
|
270
|
+
writer.add_char(data._npcs_count)
|
271
|
+
if data._npcs is None:
|
272
|
+
raise SerializationError("npcs must be provided.")
|
273
|
+
if len(data._npcs) > 252:
|
274
|
+
raise SerializationError(f"Expected length of npcs to be 252 or less, got {len(data._npcs)}.")
|
275
|
+
for i in range(data._npcs_count):
|
276
|
+
MapNpc.serialize(writer, data._npcs[i])
|
277
|
+
if data._legacy_door_keys_count is None:
|
278
|
+
raise SerializationError("legacy_door_keys_count must be provided.")
|
279
|
+
writer.add_char(data._legacy_door_keys_count)
|
280
|
+
if data._legacy_door_keys is None:
|
281
|
+
raise SerializationError("legacy_door_keys must be provided.")
|
282
|
+
if len(data._legacy_door_keys) > 252:
|
283
|
+
raise SerializationError(f"Expected length of legacy_door_keys to be 252 or less, got {len(data._legacy_door_keys)}.")
|
284
|
+
for i in range(data._legacy_door_keys_count):
|
285
|
+
MapLegacyDoorKey.serialize(writer, data._legacy_door_keys[i])
|
286
|
+
if data._items_count is None:
|
287
|
+
raise SerializationError("items_count must be provided.")
|
288
|
+
writer.add_char(data._items_count)
|
289
|
+
if data._items is None:
|
290
|
+
raise SerializationError("items must be provided.")
|
291
|
+
if len(data._items) > 252:
|
292
|
+
raise SerializationError(f"Expected length of items to be 252 or less, got {len(data._items)}.")
|
293
|
+
for i in range(data._items_count):
|
294
|
+
MapItem.serialize(writer, data._items[i])
|
295
|
+
if data._tile_spec_rows_count is None:
|
296
|
+
raise SerializationError("tile_spec_rows_count must be provided.")
|
297
|
+
writer.add_char(data._tile_spec_rows_count)
|
298
|
+
if data._tile_spec_rows is None:
|
299
|
+
raise SerializationError("tile_spec_rows must be provided.")
|
300
|
+
if len(data._tile_spec_rows) > 252:
|
301
|
+
raise SerializationError(f"Expected length of tile_spec_rows to be 252 or less, got {len(data._tile_spec_rows)}.")
|
302
|
+
for i in range(data._tile_spec_rows_count):
|
303
|
+
MapTileSpecRow.serialize(writer, data._tile_spec_rows[i])
|
304
|
+
if data._warp_rows_count is None:
|
305
|
+
raise SerializationError("warp_rows_count must be provided.")
|
306
|
+
writer.add_char(data._warp_rows_count)
|
307
|
+
if data._warp_rows is None:
|
308
|
+
raise SerializationError("warp_rows must be provided.")
|
309
|
+
if len(data._warp_rows) > 252:
|
310
|
+
raise SerializationError(f"Expected length of warp_rows to be 252 or less, got {len(data._warp_rows)}.")
|
311
|
+
for i in range(data._warp_rows_count):
|
312
|
+
MapWarpRow.serialize(writer, data._warp_rows[i])
|
313
|
+
if data._graphic_layers is None:
|
314
|
+
raise SerializationError("graphic_layers must be provided.")
|
315
|
+
if len(data._graphic_layers) != 9:
|
316
|
+
raise SerializationError(f"Expected length of graphic_layers to be exactly 9, got {len(data._graphic_layers)}.")
|
317
|
+
for i in range(9):
|
318
|
+
MapGraphicLayer.serialize(writer, data._graphic_layers[i])
|
319
|
+
if data._signs_count is None:
|
320
|
+
raise SerializationError("signs_count must be provided.")
|
321
|
+
writer.add_char(data._signs_count)
|
322
|
+
if data._signs is None:
|
323
|
+
raise SerializationError("signs must be provided.")
|
324
|
+
if len(data._signs) > 252:
|
325
|
+
raise SerializationError(f"Expected length of signs to be 252 or less, got {len(data._signs)}.")
|
326
|
+
for i in range(data._signs_count):
|
327
|
+
MapSign.serialize(writer, data._signs[i])
|
328
|
+
finally:
|
329
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
492
330
|
|
493
331
|
@staticmethod
|
494
332
|
def deserialize(reader: EoReader) -> "Emf":
|
@@ -501,57 +339,57 @@ class Emf:
|
|
501
339
|
Returns:
|
502
340
|
Emf: The data to serialize.
|
503
341
|
"""
|
504
|
-
data: Emf = Emf()
|
505
342
|
old_chunked_reading_mode: bool = reader.chunked_reading_mode
|
506
343
|
try:
|
507
344
|
reader_start_position: int = reader.position
|
508
345
|
reader.get_fixed_string(3, False)
|
509
|
-
|
346
|
+
rid = []
|
510
347
|
for i in range(2):
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
348
|
+
rid.append(reader.get_short())
|
349
|
+
name = reader.get_fixed_encoded_string(24, True)
|
350
|
+
type = MapType(reader.get_char())
|
351
|
+
timed_effect = MapTimedEffect(reader.get_char())
|
352
|
+
music_id = reader.get_char()
|
353
|
+
music_control = MapMusicControl(reader.get_char())
|
354
|
+
ambient_sound_id = reader.get_short()
|
355
|
+
width = reader.get_char()
|
356
|
+
height = reader.get_char()
|
357
|
+
fill_tile = reader.get_short()
|
358
|
+
map_available = reader.get_char() != 0
|
359
|
+
can_scroll = reader.get_char() != 0
|
360
|
+
relog_x = reader.get_char()
|
361
|
+
relog_y = reader.get_char()
|
525
362
|
reader.get_char()
|
526
|
-
|
527
|
-
|
528
|
-
for i in range(
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
for i in range(
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
for i in range(
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
for i in range(
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
for i in range(
|
545
|
-
|
546
|
-
|
363
|
+
npcs_count = reader.get_char()
|
364
|
+
npcs = []
|
365
|
+
for i in range(npcs_count):
|
366
|
+
npcs.append(MapNpc.deserialize(reader))
|
367
|
+
legacy_door_keys_count = reader.get_char()
|
368
|
+
legacy_door_keys = []
|
369
|
+
for i in range(legacy_door_keys_count):
|
370
|
+
legacy_door_keys.append(MapLegacyDoorKey.deserialize(reader))
|
371
|
+
items_count = reader.get_char()
|
372
|
+
items = []
|
373
|
+
for i in range(items_count):
|
374
|
+
items.append(MapItem.deserialize(reader))
|
375
|
+
tile_spec_rows_count = reader.get_char()
|
376
|
+
tile_spec_rows = []
|
377
|
+
for i in range(tile_spec_rows_count):
|
378
|
+
tile_spec_rows.append(MapTileSpecRow.deserialize(reader))
|
379
|
+
warp_rows_count = reader.get_char()
|
380
|
+
warp_rows = []
|
381
|
+
for i in range(warp_rows_count):
|
382
|
+
warp_rows.append(MapWarpRow.deserialize(reader))
|
383
|
+
graphic_layers = []
|
547
384
|
for i in range(9):
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
for i in range(
|
552
|
-
|
553
|
-
|
554
|
-
|
385
|
+
graphic_layers.append(MapGraphicLayer.deserialize(reader))
|
386
|
+
signs_count = reader.get_char()
|
387
|
+
signs = []
|
388
|
+
for i in range(signs_count):
|
389
|
+
signs.append(MapSign.deserialize(reader))
|
390
|
+
result = Emf(rid=rid, name=name, type=type, timed_effect=timed_effect, music_id=music_id, music_control=music_control, ambient_sound_id=ambient_sound_id, width=width, height=height, fill_tile=fill_tile, map_available=map_available, can_scroll=can_scroll, relog_x=relog_x, relog_y=relog_y, npcs=npcs, legacy_door_keys=legacy_door_keys, items=items, tile_spec_rows=tile_spec_rows, warp_rows=warp_rows, graphic_layers=graphic_layers, signs=signs)
|
391
|
+
result._byte_size = reader.position - reader_start_position
|
392
|
+
return result
|
555
393
|
finally:
|
556
394
|
reader.chunked_reading_mode = old_chunked_reading_mode
|
557
395
|
|