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
@@ -15,7 +15,16 @@ class NpcJunkServerPacket(Packet):
|
|
15
15
|
Clearing all boss children
|
16
16
|
"""
|
17
17
|
_byte_size: int = 0
|
18
|
-
_npc_id: int
|
18
|
+
_npc_id: int
|
19
|
+
|
20
|
+
def __init__(self, *, npc_id: int):
|
21
|
+
"""
|
22
|
+
Create a new instance of NpcJunkServerPacket.
|
23
|
+
|
24
|
+
Args:
|
25
|
+
npc_id (int): (Value range is 0-64008.)
|
26
|
+
"""
|
27
|
+
self._npc_id = npc_id
|
19
28
|
|
20
29
|
@property
|
21
30
|
def byte_size(self) -> int:
|
@@ -29,20 +38,8 @@ class NpcJunkServerPacket(Packet):
|
|
29
38
|
|
30
39
|
@property
|
31
40
|
def npc_id(self) -> int:
|
32
|
-
"""
|
33
|
-
Note:
|
34
|
-
- Value range is 0-64008.
|
35
|
-
"""
|
36
41
|
return self._npc_id
|
37
42
|
|
38
|
-
@npc_id.setter
|
39
|
-
def npc_id(self, npc_id: int) -> None:
|
40
|
-
"""
|
41
|
-
Note:
|
42
|
-
- Value range is 0-64008.
|
43
|
-
"""
|
44
|
-
self._npc_id = npc_id
|
45
|
-
|
46
43
|
@staticmethod
|
47
44
|
def family() -> PacketFamily:
|
48
45
|
"""
|
@@ -81,9 +78,13 @@ class NpcJunkServerPacket(Packet):
|
|
81
78
|
writer (EoWriter): The writer that the data will be serialized to.
|
82
79
|
data (NpcJunkServerPacket): The data to serialize.
|
83
80
|
"""
|
84
|
-
|
85
|
-
|
86
|
-
|
81
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
82
|
+
try:
|
83
|
+
if data._npc_id is None:
|
84
|
+
raise SerializationError("npc_id must be provided.")
|
85
|
+
writer.add_short(data._npc_id)
|
86
|
+
finally:
|
87
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
87
88
|
|
88
89
|
@staticmethod
|
89
90
|
def deserialize(reader: EoReader) -> "NpcJunkServerPacket":
|
@@ -96,13 +97,13 @@ class NpcJunkServerPacket(Packet):
|
|
96
97
|
Returns:
|
97
98
|
NpcJunkServerPacket: The data to serialize.
|
98
99
|
"""
|
99
|
-
data: NpcJunkServerPacket = NpcJunkServerPacket()
|
100
100
|
old_chunked_reading_mode: bool = reader.chunked_reading_mode
|
101
101
|
try:
|
102
102
|
reader_start_position: int = reader.position
|
103
|
-
|
104
|
-
|
105
|
-
|
103
|
+
npc_id = reader.get_short()
|
104
|
+
result = NpcJunkServerPacket(npc_id=npc_id)
|
105
|
+
result._byte_size = reader.position - reader_start_position
|
106
|
+
return result
|
106
107
|
finally:
|
107
108
|
reader.chunked_reading_mode = old_chunked_reading_mode
|
108
109
|
|
@@ -14,14 +14,37 @@ class NpcKilledData:
|
|
14
14
|
Information about an NPC that has been killed
|
15
15
|
"""
|
16
16
|
_byte_size: int = 0
|
17
|
-
_killer_id: int
|
18
|
-
_killer_direction: Direction
|
19
|
-
_npc_index: int
|
20
|
-
_drop_index: int
|
21
|
-
_drop_id: int
|
22
|
-
_drop_coords: Coords
|
23
|
-
_drop_amount: int
|
24
|
-
_damage: int
|
17
|
+
_killer_id: int
|
18
|
+
_killer_direction: Direction
|
19
|
+
_npc_index: int
|
20
|
+
_drop_index: int
|
21
|
+
_drop_id: int
|
22
|
+
_drop_coords: Coords
|
23
|
+
_drop_amount: int
|
24
|
+
_damage: int
|
25
|
+
|
26
|
+
def __init__(self, *, killer_id: int, killer_direction: Direction, npc_index: int, drop_index: int, drop_id: int, drop_coords: Coords, drop_amount: int, damage: int):
|
27
|
+
"""
|
28
|
+
Create a new instance of NpcKilledData.
|
29
|
+
|
30
|
+
Args:
|
31
|
+
killer_id (int): (Value range is 0-64008.)
|
32
|
+
killer_direction (Direction):
|
33
|
+
npc_index (int): (Value range is 0-64008.)
|
34
|
+
drop_index (int): (Value range is 0-64008.)
|
35
|
+
drop_id (int): (Value range is 0-64008.)
|
36
|
+
drop_coords (Coords):
|
37
|
+
drop_amount (int): (Value range is 0-4097152080.)
|
38
|
+
damage (int): (Value range is 0-16194276.)
|
39
|
+
"""
|
40
|
+
self._killer_id = killer_id
|
41
|
+
self._killer_direction = killer_direction
|
42
|
+
self._npc_index = npc_index
|
43
|
+
self._drop_index = drop_index
|
44
|
+
self._drop_id = drop_id
|
45
|
+
self._drop_coords = drop_coords
|
46
|
+
self._drop_amount = drop_amount
|
47
|
+
self._damage = damage
|
25
48
|
|
26
49
|
@property
|
27
50
|
def byte_size(self) -> int:
|
@@ -35,116 +58,36 @@ class NpcKilledData:
|
|
35
58
|
|
36
59
|
@property
|
37
60
|
def killer_id(self) -> int:
|
38
|
-
"""
|
39
|
-
Note:
|
40
|
-
- Value range is 0-64008.
|
41
|
-
"""
|
42
61
|
return self._killer_id
|
43
62
|
|
44
|
-
@killer_id.setter
|
45
|
-
def killer_id(self, killer_id: int) -> None:
|
46
|
-
"""
|
47
|
-
Note:
|
48
|
-
- Value range is 0-64008.
|
49
|
-
"""
|
50
|
-
self._killer_id = killer_id
|
51
|
-
|
52
63
|
@property
|
53
64
|
def killer_direction(self) -> Direction:
|
54
65
|
return self._killer_direction
|
55
66
|
|
56
|
-
@killer_direction.setter
|
57
|
-
def killer_direction(self, killer_direction: Direction) -> None:
|
58
|
-
self._killer_direction = killer_direction
|
59
|
-
|
60
67
|
@property
|
61
68
|
def npc_index(self) -> int:
|
62
|
-
"""
|
63
|
-
Note:
|
64
|
-
- Value range is 0-64008.
|
65
|
-
"""
|
66
69
|
return self._npc_index
|
67
70
|
|
68
|
-
@npc_index.setter
|
69
|
-
def npc_index(self, npc_index: int) -> None:
|
70
|
-
"""
|
71
|
-
Note:
|
72
|
-
- Value range is 0-64008.
|
73
|
-
"""
|
74
|
-
self._npc_index = npc_index
|
75
|
-
|
76
71
|
@property
|
77
72
|
def drop_index(self) -> int:
|
78
|
-
"""
|
79
|
-
Note:
|
80
|
-
- Value range is 0-64008.
|
81
|
-
"""
|
82
73
|
return self._drop_index
|
83
74
|
|
84
|
-
@drop_index.setter
|
85
|
-
def drop_index(self, drop_index: int) -> None:
|
86
|
-
"""
|
87
|
-
Note:
|
88
|
-
- Value range is 0-64008.
|
89
|
-
"""
|
90
|
-
self._drop_index = drop_index
|
91
|
-
|
92
75
|
@property
|
93
76
|
def drop_id(self) -> int:
|
94
|
-
"""
|
95
|
-
Note:
|
96
|
-
- Value range is 0-64008.
|
97
|
-
"""
|
98
77
|
return self._drop_id
|
99
78
|
|
100
|
-
@drop_id.setter
|
101
|
-
def drop_id(self, drop_id: int) -> None:
|
102
|
-
"""
|
103
|
-
Note:
|
104
|
-
- Value range is 0-64008.
|
105
|
-
"""
|
106
|
-
self._drop_id = drop_id
|
107
|
-
|
108
79
|
@property
|
109
80
|
def drop_coords(self) -> Coords:
|
110
81
|
return self._drop_coords
|
111
82
|
|
112
|
-
@drop_coords.setter
|
113
|
-
def drop_coords(self, drop_coords: Coords) -> None:
|
114
|
-
self._drop_coords = drop_coords
|
115
|
-
|
116
83
|
@property
|
117
84
|
def drop_amount(self) -> int:
|
118
|
-
"""
|
119
|
-
Note:
|
120
|
-
- Value range is 0-4097152080.
|
121
|
-
"""
|
122
85
|
return self._drop_amount
|
123
86
|
|
124
|
-
@drop_amount.setter
|
125
|
-
def drop_amount(self, drop_amount: int) -> None:
|
126
|
-
"""
|
127
|
-
Note:
|
128
|
-
- Value range is 0-4097152080.
|
129
|
-
"""
|
130
|
-
self._drop_amount = drop_amount
|
131
|
-
|
132
87
|
@property
|
133
88
|
def damage(self) -> int:
|
134
|
-
"""
|
135
|
-
Note:
|
136
|
-
- Value range is 0-16194276.
|
137
|
-
"""
|
138
89
|
return self._damage
|
139
90
|
|
140
|
-
@damage.setter
|
141
|
-
def damage(self, damage: int) -> None:
|
142
|
-
"""
|
143
|
-
Note:
|
144
|
-
- Value range is 0-16194276.
|
145
|
-
"""
|
146
|
-
self._damage = damage
|
147
|
-
|
148
91
|
@staticmethod
|
149
92
|
def serialize(writer: EoWriter, data: "NpcKilledData") -> None:
|
150
93
|
"""
|
@@ -154,30 +97,34 @@ class NpcKilledData:
|
|
154
97
|
writer (EoWriter): The writer that the data will be serialized to.
|
155
98
|
data (NpcKilledData): The data to serialize.
|
156
99
|
"""
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
100
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
101
|
+
try:
|
102
|
+
if data._killer_id is None:
|
103
|
+
raise SerializationError("killer_id must be provided.")
|
104
|
+
writer.add_short(data._killer_id)
|
105
|
+
if data._killer_direction is None:
|
106
|
+
raise SerializationError("killer_direction must be provided.")
|
107
|
+
writer.add_char(int(data._killer_direction))
|
108
|
+
if data._npc_index is None:
|
109
|
+
raise SerializationError("npc_index must be provided.")
|
110
|
+
writer.add_short(data._npc_index)
|
111
|
+
if data._drop_index is None:
|
112
|
+
raise SerializationError("drop_index must be provided.")
|
113
|
+
writer.add_short(data._drop_index)
|
114
|
+
if data._drop_id is None:
|
115
|
+
raise SerializationError("drop_id must be provided.")
|
116
|
+
writer.add_short(data._drop_id)
|
117
|
+
if data._drop_coords is None:
|
118
|
+
raise SerializationError("drop_coords must be provided.")
|
119
|
+
Coords.serialize(writer, data._drop_coords)
|
120
|
+
if data._drop_amount is None:
|
121
|
+
raise SerializationError("drop_amount must be provided.")
|
122
|
+
writer.add_int(data._drop_amount)
|
123
|
+
if data._damage is None:
|
124
|
+
raise SerializationError("damage must be provided.")
|
125
|
+
writer.add_three(data._damage)
|
126
|
+
finally:
|
127
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
181
128
|
|
182
129
|
@staticmethod
|
183
130
|
def deserialize(reader: EoReader) -> "NpcKilledData":
|
@@ -190,20 +137,20 @@ class NpcKilledData:
|
|
190
137
|
Returns:
|
191
138
|
NpcKilledData: The data to serialize.
|
192
139
|
"""
|
193
|
-
data: NpcKilledData = NpcKilledData()
|
194
140
|
old_chunked_reading_mode: bool = reader.chunked_reading_mode
|
195
141
|
try:
|
196
142
|
reader_start_position: int = reader.position
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
143
|
+
killer_id = reader.get_short()
|
144
|
+
killer_direction = Direction(reader.get_char())
|
145
|
+
npc_index = reader.get_short()
|
146
|
+
drop_index = reader.get_short()
|
147
|
+
drop_id = reader.get_short()
|
148
|
+
drop_coords = Coords.deserialize(reader)
|
149
|
+
drop_amount = reader.get_int()
|
150
|
+
damage = reader.get_three()
|
151
|
+
result = NpcKilledData(killer_id=killer_id, killer_direction=killer_direction, npc_index=npc_index, drop_index=drop_index, drop_id=drop_id, drop_coords=drop_coords, drop_amount=drop_amount, damage=damage)
|
152
|
+
result._byte_size = reader.position - reader_start_position
|
153
|
+
return result
|
207
154
|
finally:
|
208
155
|
reader.chunked_reading_mode = old_chunked_reading_mode
|
209
156
|
|
@@ -14,10 +14,25 @@ class NpcMapInfo:
|
|
14
14
|
Information about a nearby NPC
|
15
15
|
"""
|
16
16
|
_byte_size: int = 0
|
17
|
-
_index: int
|
18
|
-
_id: int
|
19
|
-
_coords: Coords
|
20
|
-
_direction: Direction
|
17
|
+
_index: int
|
18
|
+
_id: int
|
19
|
+
_coords: Coords
|
20
|
+
_direction: Direction
|
21
|
+
|
22
|
+
def __init__(self, *, index: int, id: int, coords: Coords, direction: Direction):
|
23
|
+
"""
|
24
|
+
Create a new instance of NpcMapInfo.
|
25
|
+
|
26
|
+
Args:
|
27
|
+
index (int): (Value range is 0-252.)
|
28
|
+
id (int): (Value range is 0-64008.)
|
29
|
+
coords (Coords):
|
30
|
+
direction (Direction):
|
31
|
+
"""
|
32
|
+
self._index = index
|
33
|
+
self._id = id
|
34
|
+
self._coords = coords
|
35
|
+
self._direction = direction
|
21
36
|
|
22
37
|
@property
|
23
38
|
def byte_size(self) -> int:
|
@@ -31,52 +46,20 @@ class NpcMapInfo:
|
|
31
46
|
|
32
47
|
@property
|
33
48
|
def index(self) -> int:
|
34
|
-
"""
|
35
|
-
Note:
|
36
|
-
- Value range is 0-252.
|
37
|
-
"""
|
38
49
|
return self._index
|
39
50
|
|
40
|
-
@index.setter
|
41
|
-
def index(self, index: int) -> None:
|
42
|
-
"""
|
43
|
-
Note:
|
44
|
-
- Value range is 0-252.
|
45
|
-
"""
|
46
|
-
self._index = index
|
47
|
-
|
48
51
|
@property
|
49
52
|
def id(self) -> int:
|
50
|
-
"""
|
51
|
-
Note:
|
52
|
-
- Value range is 0-64008.
|
53
|
-
"""
|
54
53
|
return self._id
|
55
54
|
|
56
|
-
@id.setter
|
57
|
-
def id(self, id: int) -> None:
|
58
|
-
"""
|
59
|
-
Note:
|
60
|
-
- Value range is 0-64008.
|
61
|
-
"""
|
62
|
-
self._id = id
|
63
|
-
|
64
55
|
@property
|
65
56
|
def coords(self) -> Coords:
|
66
57
|
return self._coords
|
67
58
|
|
68
|
-
@coords.setter
|
69
|
-
def coords(self, coords: Coords) -> None:
|
70
|
-
self._coords = coords
|
71
|
-
|
72
59
|
@property
|
73
60
|
def direction(self) -> Direction:
|
74
61
|
return self._direction
|
75
62
|
|
76
|
-
@direction.setter
|
77
|
-
def direction(self, direction: Direction) -> None:
|
78
|
-
self._direction = direction
|
79
|
-
|
80
63
|
@staticmethod
|
81
64
|
def serialize(writer: EoWriter, data: "NpcMapInfo") -> None:
|
82
65
|
"""
|
@@ -86,18 +69,22 @@ class NpcMapInfo:
|
|
86
69
|
writer (EoWriter): The writer that the data will be serialized to.
|
87
70
|
data (NpcMapInfo): The data to serialize.
|
88
71
|
"""
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
72
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
73
|
+
try:
|
74
|
+
if data._index is None:
|
75
|
+
raise SerializationError("index must be provided.")
|
76
|
+
writer.add_char(data._index)
|
77
|
+
if data._id is None:
|
78
|
+
raise SerializationError("id must be provided.")
|
79
|
+
writer.add_short(data._id)
|
80
|
+
if data._coords is None:
|
81
|
+
raise SerializationError("coords must be provided.")
|
82
|
+
Coords.serialize(writer, data._coords)
|
83
|
+
if data._direction is None:
|
84
|
+
raise SerializationError("direction must be provided.")
|
85
|
+
writer.add_char(int(data._direction))
|
86
|
+
finally:
|
87
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
101
88
|
|
102
89
|
@staticmethod
|
103
90
|
def deserialize(reader: EoReader) -> "NpcMapInfo":
|
@@ -110,16 +97,16 @@ class NpcMapInfo:
|
|
110
97
|
Returns:
|
111
98
|
NpcMapInfo: The data to serialize.
|
112
99
|
"""
|
113
|
-
data: NpcMapInfo = NpcMapInfo()
|
114
100
|
old_chunked_reading_mode: bool = reader.chunked_reading_mode
|
115
101
|
try:
|
116
102
|
reader_start_position: int = reader.position
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
103
|
+
index = reader.get_char()
|
104
|
+
id = reader.get_short()
|
105
|
+
coords = Coords.deserialize(reader)
|
106
|
+
direction = Direction(reader.get_char())
|
107
|
+
result = NpcMapInfo(index=index, id=id, coords=coords, direction=direction)
|
108
|
+
result._byte_size = reader.position - reader_start_position
|
109
|
+
return result
|
123
110
|
finally:
|
124
111
|
reader.chunked_reading_mode = old_chunked_reading_mode
|
125
112
|
|
@@ -6,6 +6,7 @@
|
|
6
6
|
from __future__ import annotations
|
7
7
|
from typing import cast
|
8
8
|
from typing import Optional
|
9
|
+
from collections.abc import Iterable
|
9
10
|
from .npc_update_position import NpcUpdatePosition
|
10
11
|
from .npc_update_chat import NpcUpdateChat
|
11
12
|
from .npc_update_attack import NpcUpdateAttack
|
@@ -21,11 +22,28 @@ class NpcPlayerServerPacket(Packet):
|
|
21
22
|
Main NPC update message
|
22
23
|
"""
|
23
24
|
_byte_size: int = 0
|
24
|
-
_positions:
|
25
|
-
_attacks:
|
26
|
-
_chats:
|
27
|
-
_hp: Optional[int]
|
28
|
-
_tp: Optional[int]
|
25
|
+
_positions: tuple[NpcUpdatePosition, ...]
|
26
|
+
_attacks: tuple[NpcUpdateAttack, ...]
|
27
|
+
_chats: tuple[NpcUpdateChat, ...]
|
28
|
+
_hp: Optional[int]
|
29
|
+
_tp: Optional[int]
|
30
|
+
|
31
|
+
def __init__(self, *, positions: Iterable[NpcUpdatePosition], attacks: Iterable[NpcUpdateAttack], chats: Iterable[NpcUpdateChat], hp: Optional[int] = None, tp: Optional[int] = None):
|
32
|
+
"""
|
33
|
+
Create a new instance of NpcPlayerServerPacket.
|
34
|
+
|
35
|
+
Args:
|
36
|
+
positions (Iterable[NpcUpdatePosition]):
|
37
|
+
attacks (Iterable[NpcUpdateAttack]):
|
38
|
+
chats (Iterable[NpcUpdateChat]):
|
39
|
+
hp (Optional[int]): (Value range is 0-64008.)
|
40
|
+
tp (Optional[int]): (Value range is 0-64008.)
|
41
|
+
"""
|
42
|
+
self._positions = tuple(positions)
|
43
|
+
self._attacks = tuple(attacks)
|
44
|
+
self._chats = tuple(chats)
|
45
|
+
self._hp = hp
|
46
|
+
self._tp = tp
|
29
47
|
|
30
48
|
@property
|
31
49
|
def byte_size(self) -> int:
|
@@ -38,61 +56,25 @@ class NpcPlayerServerPacket(Packet):
|
|
38
56
|
return self._byte_size
|
39
57
|
|
40
58
|
@property
|
41
|
-
def positions(self) ->
|
59
|
+
def positions(self) -> tuple[NpcUpdatePosition, ...]:
|
42
60
|
return self._positions
|
43
61
|
|
44
|
-
@positions.setter
|
45
|
-
def positions(self, positions: list[NpcUpdatePosition]) -> None:
|
46
|
-
self._positions = positions
|
47
|
-
|
48
62
|
@property
|
49
|
-
def attacks(self) ->
|
63
|
+
def attacks(self) -> tuple[NpcUpdateAttack, ...]:
|
50
64
|
return self._attacks
|
51
65
|
|
52
|
-
@attacks.setter
|
53
|
-
def attacks(self, attacks: list[NpcUpdateAttack]) -> None:
|
54
|
-
self._attacks = attacks
|
55
|
-
|
56
66
|
@property
|
57
|
-
def chats(self) ->
|
67
|
+
def chats(self) -> tuple[NpcUpdateChat, ...]:
|
58
68
|
return self._chats
|
59
69
|
|
60
|
-
@chats.setter
|
61
|
-
def chats(self, chats: list[NpcUpdateChat]) -> None:
|
62
|
-
self._chats = chats
|
63
|
-
|
64
70
|
@property
|
65
71
|
def hp(self) -> Optional[int]:
|
66
|
-
"""
|
67
|
-
Note:
|
68
|
-
- Value range is 0-64008.
|
69
|
-
"""
|
70
72
|
return self._hp
|
71
73
|
|
72
|
-
@hp.setter
|
73
|
-
def hp(self, hp: Optional[int]) -> None:
|
74
|
-
"""
|
75
|
-
Note:
|
76
|
-
- Value range is 0-64008.
|
77
|
-
"""
|
78
|
-
self._hp = hp
|
79
|
-
|
80
74
|
@property
|
81
75
|
def tp(self) -> Optional[int]:
|
82
|
-
"""
|
83
|
-
Note:
|
84
|
-
- Value range is 0-64008.
|
85
|
-
"""
|
86
76
|
return self._tp
|
87
77
|
|
88
|
-
@tp.setter
|
89
|
-
def tp(self, tp: Optional[int]) -> None:
|
90
|
-
"""
|
91
|
-
Note:
|
92
|
-
- Value range is 0-64008.
|
93
|
-
"""
|
94
|
-
self._tp = tp
|
95
|
-
|
96
78
|
@staticmethod
|
97
79
|
def family() -> PacketFamily:
|
98
80
|
"""
|
@@ -131,27 +113,33 @@ class NpcPlayerServerPacket(Packet):
|
|
131
113
|
writer (EoWriter): The writer that the data will be serialized to.
|
132
114
|
data (NpcPlayerServerPacket): The data to serialize.
|
133
115
|
"""
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
writer.
|
152
|
-
|
153
|
-
|
154
|
-
|
116
|
+
old_string_sanitization_mode: bool = writer.string_sanitization_mode
|
117
|
+
try:
|
118
|
+
writer.string_sanitization_mode = True
|
119
|
+
if data._positions is None:
|
120
|
+
raise SerializationError("positions must be provided.")
|
121
|
+
for i in range(len(data._positions)):
|
122
|
+
NpcUpdatePosition.serialize(writer, data._positions[i])
|
123
|
+
writer.add_byte(0xFF)
|
124
|
+
if data._attacks is None:
|
125
|
+
raise SerializationError("attacks must be provided.")
|
126
|
+
for i in range(len(data._attacks)):
|
127
|
+
NpcUpdateAttack.serialize(writer, data._attacks[i])
|
128
|
+
writer.add_byte(0xFF)
|
129
|
+
if data._chats is None:
|
130
|
+
raise SerializationError("chats must be provided.")
|
131
|
+
for i in range(len(data._chats)):
|
132
|
+
NpcUpdateChat.serialize(writer, data._chats[i])
|
133
|
+
writer.add_byte(0xFF)
|
134
|
+
reached_missing_optional = data._hp is None
|
135
|
+
if not reached_missing_optional:
|
136
|
+
writer.add_short(cast(int, data._hp))
|
137
|
+
reached_missing_optional = reached_missing_optional or data._tp is None
|
138
|
+
if not reached_missing_optional:
|
139
|
+
writer.add_short(cast(int, data._tp))
|
140
|
+
writer.string_sanitization_mode = False
|
141
|
+
finally:
|
142
|
+
writer.string_sanitization_mode = old_string_sanitization_mode
|
155
143
|
|
156
144
|
@staticmethod
|
157
145
|
def deserialize(reader: EoReader) -> "NpcPlayerServerPacket":
|
@@ -164,32 +152,34 @@ class NpcPlayerServerPacket(Packet):
|
|
164
152
|
Returns:
|
165
153
|
NpcPlayerServerPacket: The data to serialize.
|
166
154
|
"""
|
167
|
-
data: NpcPlayerServerPacket = NpcPlayerServerPacket()
|
168
155
|
old_chunked_reading_mode: bool = reader.chunked_reading_mode
|
169
156
|
try:
|
170
157
|
reader_start_position: int = reader.position
|
171
158
|
reader.chunked_reading_mode = True
|
172
159
|
positions_length = int(reader.remaining / 4)
|
173
|
-
|
160
|
+
positions = []
|
174
161
|
for i in range(positions_length):
|
175
|
-
|
162
|
+
positions.append(NpcUpdatePosition.deserialize(reader))
|
176
163
|
reader.next_chunk()
|
177
164
|
attacks_length = int(reader.remaining / 9)
|
178
|
-
|
165
|
+
attacks = []
|
179
166
|
for i in range(attacks_length):
|
180
|
-
|
167
|
+
attacks.append(NpcUpdateAttack.deserialize(reader))
|
181
168
|
reader.next_chunk()
|
182
|
-
|
169
|
+
chats = []
|
183
170
|
while reader.remaining > 0:
|
184
|
-
|
171
|
+
chats.append(NpcUpdateChat.deserialize(reader))
|
185
172
|
reader.next_chunk()
|
173
|
+
hp: Optional[int] = None
|
186
174
|
if reader.remaining > 0:
|
187
|
-
|
175
|
+
hp = reader.get_short()
|
176
|
+
tp: Optional[int] = None
|
188
177
|
if reader.remaining > 0:
|
189
|
-
|
178
|
+
tp = reader.get_short()
|
190
179
|
reader.chunked_reading_mode = False
|
191
|
-
|
192
|
-
|
180
|
+
result = NpcPlayerServerPacket(positions=positions, attacks=attacks, chats=chats, hp=hp, tp=tp)
|
181
|
+
result._byte_size = reader.position - reader_start_position
|
182
|
+
return result
|
193
183
|
finally:
|
194
184
|
reader.chunked_reading_mode = old_chunked_reading_mode
|
195
185
|
|