syntax = "proto3"; option csharp_namespace = "RPG.Network.Proto"; message PlayerBasicInfo { string nickname = 1; uint32 level = 2; uint32 exp = 3; uint32 stamina = 4; uint32 mcoin = 5; uint32 hcoin = 6; uint32 scoin = 7; uint32 world_level = 8; } message BlackInfo { uint32 begin_time = 1; uint32 end_time = 2; uint32 limit_level = 3; uint32 ban_type = 4; } message VersionCount { uint32 version = 1; uint32 count = 2; } enum AccountType { ACCOUNT_MIHOYO_GUEST = 0; ACCOUNT_MIHOYO = 1; ACCOUNT_XIAOMI = 11; ACCOUNT_COOLPAD = 12; ACCOUNT_YYB = 13; ACCOUNT_BILI = 14; ACCOUNT_HUAWEI = 15; ACCOUNT_MEIZU = 16; ACCOUNT_360 = 17; ACCOUNT_OPPO = 18; ACCOUNT_VIVO = 19; ACCOUNT_UC = 20; ACCOUNT_WANDOJIA = 21; ACCOUNT_LENOVO = 22; ACCOUNT_JINLI = 23; ACCOUNT_BAIDU = 25; ACCOUNT_DANGLE = 26; ACCOUNT_WEGAME = 27; ACCOUNT_RPG_CUSTOM = 10000; } enum ChannelIdType { CHANNEL_ID_NONE = 0; CHANNEL_ID_MIHOYO = 1; CHANNEL_ID_XIAOMI = 11; CHANNEL_ID_COOLPAD = 12; CHANNEL_ID_YYB = 13; CHANNEL_ID_BILI = 14; CHANNEL_ID_HUAWEI = 15; CHANNEL_ID_MEIZU = 16; CHANNEL_ID_360 = 17; CHANNEL_ID_OPPO = 18; CHANNEL_ID_VIVO = 19; CHANNEL_ID_UC = 20; CHANNEL_ID_WANDOJIA = 21; CHANNEL_ID_LENOVO = 22; CHANNEL_ID_JINLI = 23; CHANNEL_ID_BAIDU = 25; CHANNEL_ID_DANGLE = 26; CHANNEL_ID_WEGAME = 27; } enum AvatarSlotType { AVATAR_SLOT_1 = 0; AVATAR_SLOT_2 = 1; AVATAR_SLOT_3 = 2; } enum ItemType { ITEM_TYPE_NONE = 0; ITEM_AVATAR_CARD = 1; ITEM_EQUIPMENT = 2; ITEM_MATERIAL = 3; ITEM_AVATAR_EXP = 4; } enum VirtualItemType { VIRTUAL_ITEM_NONE = 0; VIRTUAL_ITEM_HCOIN = 1; VIRTUAL_ITEM_SCOIN = 2; VIRTUAL_ITEM_MCOIN = 3; VIRTUAL_ITEM_STAMINA = 11; VIRTUAL_ITEM_EXP = 22; } enum BlackLimitLevel { BLACK_LIMIT_LEVEL_ALL = 0; } enum AreaType { AREA_NONE = 0; AREA_CN = 1; AREA_JP = 2; AREA_ASIA = 3; AREA_WEST = 4; AREA_KR = 5; AREA_OVERSEAS = 6; } enum EntityType { ENTITY_NONE = 0; ENTITY_AVATAR = 1; ENTITY_MONSTER = 2; ENTITY_NPC = 3; ENTITY_PROP = 4; ENTITY_TRIGGER = 5; ENTITY_ENV = 6; } enum LanguageType { LANGUAGE_NONE = 0; LANGUAGE_SC = 1; LANGUAGE_TC = 2; LANGUAGE_EN = 3; LANGUAGE_KR = 4; LANGUAGE_JP = 5; LANGUAGE_FR = 6; LANGUAGE_DE = 7; LANGUAGE_ES = 8; LANGUAGE_PT = 9; LANGUAGE_RU = 10; LANGUAGE_TH = 11; LANGUAGE_VI = 12; LANGUAGE_ID = 13; } enum PlatformType { EDITOR = 0; IOS = 1; ANDROID = 2; PC = 3; } enum ReloginType { NO_KICK = 0; FORCE_KICK = 1; IDLE_KICK = 2; } enum AvatarType { AVATAR_TYPE_NONE = 0; AVATAR_TRIAL_TYPE = 1; AVATAR_LIMIT_TYPE = 2; AVATAR_FORMAL_TYPE = 3; } message BattleOp { uint32 turn_counter = 1; uint32 state = 2; uint32 action_entity_id = 3; uint32 target_entity_id = 4; uint32 op_type = 5; uint32 skill_index = 6; uint32 operation_counter = 7; } message BattleEquipment { uint32 id = 1; uint32 level = 2; uint32 promotion = 3; uint32 rank = 4; } message AvatarSkillTree { uint32 point_id = 1; uint32 level = 2; } message BattleAvatar { AvatarType avatar_type = 1; uint32 id = 2; uint32 level = 3; uint32 rank = 4; uint32 index = 5; repeated AvatarSkillTree skilltree_list = 6; repeated BattleEquipment equipment_list = 7; uint32 hp = 8; uint32 sp = 9; uint32 promotion = 10; } message BattleMonsterWave { repeated uint32 monster_id_list = 1; } message BattleBuff { uint32 id = 1; uint32 level = 2; uint32 owner_index = 3; uint32 wave_flag = 4; } message BattleLineup { repeated BattleAvatar avatar_list = 1; repeated BattleMonsterWave monster_wave_list = 2; repeated BattleBuff buff_list = 3; } message ClientTurnSnapshot { uint32 turn_counter = 1; uint32 random_counter = 2; uint32 anim_event_counter = 3; repeated CharacterSnapshot snapshot_list = 4; repeated AnimEventSnapshot anim_event_list = 5; } message GamecoreConfig { bool is_skip_verify = 1; uint32 max_turn_cnt = 2; bool is_auto_fight = 3; string csv_path = 4; } message BattleBuffMsg { repeated uint32 buff_id_list = 1; repeated uint32 buff_index_list = 2; repeated uint32 buff_level_list = 3; repeated uint32 buff_flag_list = 4; } message BattleReplay { uint32 version = 1; uint32 logic_random_seed = 2; uint32 stage_id = 3; BattleLineup lineup = 4; repeated BattleOp op_list = 5; bytes turn_snapshot_hash = 6; uint32 maze_plane_id = 7; repeated uint32 extra_ability_list = 8; bool is_ai_consider_ultra_skill = 9; BattleCheckStrategyType check_strategy = 10; repeated ClientTurnSnapshot turn_snapshot_list = 21; string local_level_path = 22; string debug_extra_info = 23; GamecoreConfig config = 24; } message AvatarProperty { double max_hp = 1; double attack = 2; double defence = 3; double speed = 4; double left_hp = 5; double left_sp = 6; double max_sp = 7; } message EquipmentProperty { uint32 id = 1; uint32 rank = 2; uint32 promotion = 3; uint32 level = 4; } message AttackDamageProperty { string attack_type = 1; double damage = 2; } message SkillUseProperty { uint32 skill_id = 1; string skill_type = 2; uint32 skill_level = 3; uint32 skill_use_count = 4; } message SpAddSource { string source = 1; uint32 sp_add = 2; } message AvatarBattleInfo { AvatarType avatar_type = 1; uint32 id = 2; uint32 avatar_level = 3; uint32 avatar_rank = 4; uint32 avatar_promotion = 5; AvatarProperty avatar_status = 6; string avatar_skill = 7; repeated EquipmentProperty avatar_equipment = 8; uint32 total_turns = 9; double total_damage = 10; double total_heal = 11; double total_damage_taken = 12; double total_hp_recover = 13; double total_sp_cost = 14; uint32 stage_id = 15; uint32 stage_type = 16; double total_break_damage = 17; repeated AttackDamageProperty attack_type_damage = 18; repeated AttackDamageProperty attack_type_break_damage = 19; repeated AttackDamageProperty attack_type_max_damage = 20; repeated SkillUseProperty skill_times = 21; double delay_cumulate = 22; uint32 total_sp_add = 23; repeated SpAddSource sp_add_source = 24; uint32 total_bp_cost = 25; uint32 die_times = 26; uint32 revive_times = 27; uint32 break_times = 28; uint32 extra_turns = 29; double total_shield = 30; double total_shield_taken = 31; double total_shield_damage = 32; AvatarProperty initial_status = 33; } message MonsterProperty { double max_hp = 1; double attack = 2; double defence = 3; double shield = 4; double speed = 5; } message MonsterBattleInfo { uint32 entity_id = 1; uint32 monster_id = 2; uint32 monster_template_id = 3; uint32 monster_level = 4; MonsterProperty monster_status = 5; uint32 total_turns = 6; double total_damage = 7; double total_heal = 8; double total_damage_taken = 9; double total_stance_damage_taken = 10; double total_hp_recover = 11; uint32 stage_id = 12; uint32 battle_id = 13; uint32 monster_type = 14; repeated AttackDamageProperty attack_type_damage = 15; repeated SkillUseProperty skill_times = 16; uint32 stage_type = 17; double total_break_damage_taken = 18; double delay_cumulate = 19; } message BattleStatistics { uint32 total_battle_turns = 1; uint32 total_auto_turns = 2; repeated uint32 avatar_id_list = 3; uint32 ultra_cnt = 4; double total_delay_cumulate = 5; double cost_time = 6; repeated AvatarBattleInfo avatar_battle_list = 7; repeated MonsterBattleInfo monster_battle_list = 8; uint32 round_cnt = 9; uint32 cocoon_dead_wave = 10; } message BattleResult { BattleCheckResultType retcode = 1; BattleEndStatus end_status = 2; BattleStatistics stt = 3; } message CharacterSnapshot { uint32 runtime_id = 1; repeated uint64 properties = 2; } message AnimEventSnapshot { string event_name = 1; uint32 count = 2; } enum BattleCheckStrategyType { BATTLE_CHECK_STRATEGY_IDENTICAL = 0; BATTLE_CHECK_STRATEGY_SERVER = 1; BATTLE_CHECK_STRATEGY_CLIENT = 2; } enum BattleCheckResultType { BATTLE_CHECK_RESULT_SUCC = 0; BATTLE_CHECK_RESULT_FAIL = 1; BATTLE_CHECK_RESULT_PASS = 2; } enum BattleEndStatus { BATTLE_END_NONE = 0; BATTLE_END_WIN = 1; BATTLE_END_LOSE = 2; BATTLE_END_QUIT = 3; } enum ERetcode { RET_SUCC = 0; RET_FAIL = 1; RET_SERVER_INTERNAL_ERROR = 2; RET_TIMEOUT = 3; RET_REPEATED_REQ = 4; RET_REQ_PARA_INVALID = 5; RET_PLAYER_DATA_ERROR = 6; RET_PLAYER_CLIENT_PAUSED = 7; RET_REPEATE_LOGIN = 1000; RET_RETRY_LOGIN = 1001; RET_WAIT_LOGIN = 1002; RET_NOT_IN_WHITE_LIST = 1003; RET_IN_BLACK_LIST = 1004; RET_ACCOUNT_VERIFY_ERROR = 1005; RET_ACCOUNT_PARA_ERROR = 1006; RET_ANTI_ADDICT_LOGIN = 1007; RET_CHECK_SUM_ERROR = 1008; RET_QUEST_REWARD_ALREADY_TAKEN = 1100; RET_QUEST_NOT_ACCEPT = 1101; RET_QUEST_NOT_FINISH = 1102; RET_QUEST_STATUS_ERROR = 1103; RET_AVATAR_NOT_EXIST = 1200; RET_AVATAR_RES_EXP_NOT_ENOUGH = 1201; RET_AVATAR_EXP_REACH_PROMOTION_LIMIT = 1202; RET_AVATAR_REACH_MAX_PROMOTION = 1203; RET_SKILLTREE_CONFIG_NOT_EXIST = 1204; RET_SKILLTREE_ALREADY_UNLOCK = 1205; RET_SKILLTREE_PRE_LOCKED = 1206; RET_SKILLTREE_LEVEL_NOT_MEET = 1207; RET_SKILLTREE_RANK_NOT_MEET = 1208; RET_AVATAR_DRESS_NO_EQUIPMENT = 1209; RET_AVATAR_EXP_ITEM_NOT_EXIST = 1210; RET_SKILLTREE_POINT_UNLOCK = 1211; RET_SKILLTREE_POINT_LEVEL_UPGRADE_NOT_MATCH = 1212; RET_SKILLTREE_POINT_LEVEL_REACH_MAX = 1213; RET_WORLD_LEVEL_NOT_MEET = 1214; RET_PLAYER_LEVEL_NOT_MEET = 1215; RET_ITEM_NOT_EXIST = 1300; RET_ITEM_COST_NOT_ENOUGH = 1301; RET_ITEM_COST_TOO_MUCH = 1302; RET_ITEM_NO_COST = 1303; RET_ITEM_NOT_ENOUGH = 1304; RET_ITEM_INVALID = 1305; RET_ITEM_CONFIG_NOT_EXIST = 1306; RET_SCOIN_NOT_ENOUGH = 1307; RET_ITEM_REWARD_EXCEED_LIMIT = 1308; RET_ITEM_INVALID_USE = 1309; RET_ITEM_USE_CONFIG_NOT_EXIST = 1310; RET_REWARD_CONFIG_NOT_EXIST = 1311; RET_ITEM_EXCEED_LIMIT = 1312; RET_ITEM_COUNT_INVALID = 1313; RET_ITEM_USE_TARGET_TYPE_INVALID = 1314; RET_ITEM_USE_SATIETY_FULL = 1315; RET_ITEM_COMPOSE_NOT_EXIST = 1316; RET_EQUIPMENT_ALREADY_DRESSED = 1350; RET_EQUIPMENT_NOT_EXIST = 1351; RET_EQUIPMENT_REACH_LEVEL_LIMIT = 1352; RET_EQUIPMENT_CONSUME_SELF = 1353; RET_EQUIPMENT_ALREADY_LOCKED = 1354; RET_EQUIPMENT_ALREADY_UNLOCKED = 1355; RET_EQUIPMENT_LOCKED = 1356; RET_EQUIPMENT_SELECT_NUM_OVER_LIMIT = 1357; RET_EQUIPMENT_RANK_UP_MUST_CONSUME_SAME_TID = 1358; RET_EQUIPMENT_PROMOTION_REACH_MAX = 1359; RET_EQUIPMENT_RANK_UP_REACH_MAX = 1360; RET_EQUIPMENT_LEVEL_REACH_MAX = 1361; RET_EQUIPMENT_EXCEED_LIMIT = 1362; RET_LINEUP_INVALID_INDEX = 1400; RET_LINEUP_INVALID_MEMBER_POS = 1401; RET_LINEUP_SWAP_NOT_EXIST = 1402; RET_LINEUP_AVATAR_ALREADY_IN = 1403; RET_LINEUP_CREATE_AVATAR_ERROR = 1404; RET_LINEUP_AVATAR_INIT_ERROR = 1405; RET_LINEUP_NOT_EXIST = 1406; RET_LINEUP_ONLY_ONE_MEMBER = 1407; RET_LINEUP_SAME_LEADER_SLOT = 1408; RET_LINEUP_NO_LEADER_SELECT = 1409; RET_LINEUP_SWAP_SAME_SLOT = 1410; RET_LINEUP_AVATAR_NOT_EXIST = 1411; RET_LINEUP_TRIAL_AVATAR_CAN_NOT_QUIT = 1412; RET_LINEUP_VIRTUAL_LINEUP_PLANE_NOT_MATCH = 1413; RET_LINEUP_NOT_VALID_LEADER = 1414; RET_LINEUP_SAME_INDEX = 1415; RET_LINEUP_IS_EMPTY = 1416; RET_LINEUP_NAME_FORMAT_ERROR = 1417; RET_MAIL_NOT_EXIST = 1700; RET_MAIL_RANGE_INVALID = 1701; RET_MAIL_MAIL_ID_INVALID = 1702; RET_MAIL_NO_MAIL_TAKE_ATTACHMENT = 1703; RET_MAIL_NO_MAIL_TO_DEL = 1704; RET_STAGE_SETTLE_ERROR = 1800; RET_STAGE_CONFIG_NOT_EXIST = 1801; RET_STAGE_NOT_FOUND = 1802; RET_STAGE_COCOON_PROP_NOT_VALID = 1804; RET_STAGE_COCOON_WAVE_NOT_VALID = 1805; RET_STAGE_PROP_ID_NOT_EQUAL = 1806; RET_STAGE_COCOON_WAVE_OVER = 1807; RET_CHAPTER_LOCK = 1900; RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH = 1901; RET_CHAPTER_REWARD_ID_NOT_EXIST = 1902; RET_CHAPTER_REWARD_ALREADY_TAKEN = 1903; RET_BATTLE_STAGE_NOT_MATCH = 2000; RET_IN_BATTLE_NOW = 2001; RET_BATTLE_CHEAT = 2002; RET_BATTLE_FAIL = 2003; RET_BATTLE_NO_LINEUP = 2004; RET_BATTLE_LINEUP_EMPTY = 2005; RET_BATTLE_VERSION_NOT_MATCH = 2006; RET_LACK_EXCHANGE_STAMINA_TIMES = 2100; RET_LACK_STAMINA = 2101; RET_STAMINA_FULL = 2102; RET_AUTHKEY_SIGN_TYPE_ERROR = 2103; RET_AUTHKEY_SIGN_VER_ERROR = 2104; RET_NICKNAME_FORMAT_ERROR = 2105; RET_SENSITIVE_WORDS = 2106; RET_LEVEL_REWARD_HAS_TAKEN = 2107; RET_LEVEL_REWARD_LEVEL_ERROR = 2108; RET_LANGUAGE_INVALID = 2109; RET_MAZE_NOT_FINISH = 2200; RET_MAZE_LACK_TICKET = 2201; RET_MAZE_NOT_UNLOCK = 2202; RET_MAZE_DIFFICULTY_LIMIT = 2203; RET_MAZE_NO_ABILITY = 2204; RET_MAZE_NO_PLANE = 2205; RET_MAZE_STAGE_DISMATCH = 2206; RET_MAZE_MAP_NOT_EXIST = 2207; RET_MAZE_TYPE_NOT_EXIST = 2208; RET_MAZE_ALREADY_FINISH = 2209; RET_MAZE_PROP_NOT_EXIST = 2210; RET_MAZE_POSITION_TOO_FAR = 2211; RET_MAZE_SKILL_CAST_CNT_REACH_MAX = 2212; RET_MAZE_MP_NOT_ENOUGH = 2213; RET_SPRING_NOT_ENABLE = 2214; RET_SPRING_REFRESH_IN_CD = 2215; RET_SPRING_TOO_FAR = 2216; RET_MAZE_NO_FLOOR = 2217; RET_NOT_IN_MAZE = 2218; RET_PLANE_ID_NOT_MATCH = 2219; RET_FLOOR_ID_NOT_MATCH = 2220; RET_SAVEPOINTS_TIMES_ZERO = 2221; RET_PLOT_NOT_UNLOCK = 2300; RET_MISSION_NOT_EXIST = 2400; RET_MISSION_ALREADY_DONE = 2401; RET_DAILY_TASK_NOT_FINISH = 2402; RET_DAILY_TASK_REWARD_HAS_TAKEN = 2403; RET_MISSION_NOT_FINISH = 2404; RET_MISSION_NOT_DOING = 2405; RET_MISSION_FINISH_WAY_NOT_MATCH = 2406; RET_MISSION_SCENE_NOT_MATCH = 2407; RET_ADVENTURE_MAP_NOT_EXIST = 2500; RET_SCENE_ENTITY_NOT_EXIST = 2600; RET_NOT_IN_SCENE = 2601; RET_SCENE_MONSTER_NOT_EXIST = 2602; RET_INTERACT_CONFIG_NOT_EXIST = 2603; RET_UNSUPPORTED_PROP_STATE = 2604; RET_SCENE_ENTRY_ID_NOT_MATCH = 2605; RET_ASSIST_MONSTER_COUNT_LIMIT = 2607; RET_SCENE_USE_SKILL_FAIL = 2608; RET_PROP_IS_HIDDEN = 2609; RET_LOADING_SUCC_ALREADY = 2610; RET_SCENE_ENTITY_TYPE_INVALID = 2611; RET_INTERACT_TYPE_INVALID = 2612; RET_INTERACT_NOT_IN_REGION = 2613; RET_INTERACT_SUB_TYPE_INVALID = 2614; RET_NOT_LEADER_ENTITY = 2615; RET_BUY_TIMES_LIMIT = 2700; RET_BUY_LIMIT_TYPE = 2701; RET_SHOP_NOT_OPEN = 2702; RET_GOODS_NOT_OPEN = 2703; RET_TUTORIAL_NOT_UNLOCK = 2751; RET_TUTORIAL_UNLOCK_ALREADY = 2752; RET_TUTORIAL_FINISH_ALREADY = 2753; RET_TUTORIAL_PRE_NOT_UNLOCK = 2754; RET_TUTORIAL_PLAYER_LEVEL_NOT_MATCH = 2755; RET_TUTORIAL_TUTORIAL_NOT_FOUND = 2756; RET_CHALLENGE_NOT_EXIST = 2801; RET_CHALLENGE_NOT_UNLOCK = 2802; RET_CHALLENGE_ALREADY = 2803; RET_CHALLENGE_LINEUP_EDIT_FORBIDDEN = 2804; RET_CHALLENGE_LINEUP_EMPTY = 2805; RET_CHALLENGE_NOT_DOING = 2806; RET_CHALLENGE_NOT_FINISH = 2807; } message EnterAdventureCsReq { uint32 map_id = 1; } message EnterAdventureScRsp { uint32 retcode = 1; SceneInfo scene = 2; } enum CmdAdventureType { CmdAdventureTypeNone = 0; CmdEnterAdventureCsReq = 1301; CmdEnterAdventureScRsp = 1302; } message GetAvatarDataCsReq { bool is_get_all = 1; repeated uint32 avatar_id_list = 2; } message Avatar { uint32 avatar_id = 1; uint32 exp = 2; uint32 level = 3; uint32 promotion = 4; uint32 rank = 5; repeated AvatarSkillTree skilltree_list = 6; uint32 equipment_unique_id = 7; } message GetAvatarDataScRsp { uint32 retcode = 1; repeated Avatar avatar_list = 2; bool is_all = 3; } message AvatarExpUpCsReq { uint32 avatar_id = 1; ItemCostData item_cost = 2; } message AvatarExpUpScRsp { uint32 retcode = 1; repeated PileItem return_item_list = 2; } message UnlockSkilltreeCsReq { uint32 point_id = 1; uint32 level = 2; repeated ItemCost item_list = 3; } message UnlockSkilltreeScRsp { uint32 retcode = 1; uint32 avatar_id = 2; uint32 point_id = 3; uint32 level = 4; } message PromoteAvatarCsReq { uint32 avatar_id = 1; repeated ItemCost item_list = 2; } message PromoteAvatarScRsp { uint32 retcode = 1; } message DressAvatarCsReq { uint32 equipment_unique_id = 1; uint32 avatar_id = 2; } message DressAvatarScRsp { uint32 retcode = 1; } message TakeOffEquipmentCsReq { uint32 avatar_id = 1; } message TakeOffEquipmentScRsp { uint32 retcode = 1; } message AddAvatarScNotify { uint32 avatar_id = 1; uint32 rank = 2; RewardData reward = 3; } enum CmdAvatarType { CmdAvatarTypeNone = 0; CmdGetAvatarDataCsReq = 301; CmdGetAvatarDataScRsp = 302; CmdAvatarExpUpCsReq = 303; CmdAvatarExpUpScRsp = 304; CmdUnlockSkilltreeCsReq = 305; CmdUnlockSkilltreeScRsp = 306; CmdPromoteAvatarCsReq = 307; CmdPromoteAvatarScRsp = 308; CmdDressAvatarCsReq = 309; CmdDressAvatarScRsp = 310; CmdTakeOffEquipmentCsReq = 311; CmdTakeOffEquipmentScRsp = 312; CmdAddAvatarScNotify = 313; } message PVEBattleResultCsReq { uint32 stage_id = 1; repeated BattleOp op_list = 2; bytes turn_snapshot_hash = 3; uint32 cost_time = 4; string debug_extra_info = 5; uint32 res_version = 6; bool is_ai_consider_ultra_skill = 7; BattleEndStatus end_status = 8; BattleStatistics stt = 9; } message PVEBattleResultScRsp { uint32 retcode = 1; uint32 stage_id = 2; uint32 cur_finish_challenge = 3; repeated DropItem drop_list = 4; uint32 avatar_exp_reward = 5; string bin_ver = 6; string res_ver = 7; uint32 battle_id = 8; BattleEndStatus end_status = 9; repeated DropItem extra_drop_list = 10; bool check_identical = 11; } message QuitBattleCsReq {} message QuitBattleScRsp { uint32 retcode = 1; } message GetCurBattleInfoCsReq {} message GetCurBattleInfoScRsp { uint32 retcode = 1; uint32 stage_id = 2; uint32 logic_random_seed = 3; repeated BattleAvatar avatar_list = 4; SceneBattleInfo battle_info = 5; } message SyncClientResVersionCsReq { uint32 res_version = 1; } message SyncClientResVersionScRsp { uint32 retcode = 1; uint32 res_version = 2; } enum CmdBattleType { CmdBattleTypeNone = 0; CmdPVEBattleResultCsReq = 101; CmdPVEBattleResultScRsp = 102; CmdQuitBattleCsReq = 103; CmdQuitBattleScRsp = 104; CmdGetCurBattleInfoCsReq = 105; CmdGetCurBattleInfoScRsp = 106; CmdSyncClientResVersionCsReq = 107; CmdSyncClientResVersionScRsp = 108; } message Challenge { uint32 challenge_id = 1; uint32 stars = 2; } message GetChallengeCsReq {} message GetChallengeScRsp { uint32 retcode = 1; repeated Challenge challenge_list = 2; } message StartChallengeCsReq { uint32 challenge_id = 1; } message StartChallengeScRsp { uint32 retcode = 1; Maze maze = 2; } message LeaveChallengeCsReq {} message LeaveChallengeScRsp { uint32 retcode = 1; Maze maze = 2; } message ChallengeSettleNotify { uint32 challenge_id = 1; bool is_win = 2; RewardData reward = 3; uint32 stars = 4; } message FinishChallengeCsReq { uint32 challenge_id = 1; } message FinishChallengeScRsp { uint32 retcode = 1; } enum CmdChallengeType { CmdChallengeTypeNone = 0; CmdGetChallengeCsReq = 1701; CmdGetChallengeScRsp = 1702; CmdStartChallengeCsReq = 1703; CmdStartChallengeScRsp = 1704; CmdLeaveChallengeCsReq = 1705; CmdLeaveChallengeScRsp = 1706; CmdChallengeSettleNotify = 1707; CmdFinishChallengeCsReq = 1708; CmdFinishChallengeScRsp = 1709; } message PileItem { uint32 item_id = 1; uint32 item_num = 2; } message ItemCost { oneof Item { PileItem pile_item = 1; uint32 unique_id = 2; } } message ItemCostData { repeated ItemCost item_list = 1; } message DropItem { uint32 item_id = 1; uint32 level = 2; uint32 rank = 3; uint32 num = 4; } message DropData { repeated DropItem item_list = 1; } message RewardItem { uint32 item_id = 1; uint32 level = 2; uint32 rank = 3; uint32 num = 4; uint32 promotion = 5; } message RewardData { repeated RewardItem item_list = 1; } message SceneMonsterWave { repeated uint32 monster_id_list = 1; repeated DropData drop_list = 2; } message SceneBattleInfo { uint32 logic_random_seed = 1; uint32 stage_id = 2; repeated SceneMonsterWave monster_wave_list = 3; repeated BattleAvatar battle_avatar_list = 4; repeated BattleBuff buff_list = 5; } enum MissionStatus { MISSION_NONE = 0; MISSION_DOING = 1; MISSION_FINISH = 2; MISSION_PREPARED = 3; } message GetBagCsReq {} message Equipment { uint32 unique_id = 1; uint32 tid = 2; uint32 level = 3; uint32 exp = 4; uint32 rank = 5; uint32 belong_avatar_id = 6; bool is_protected = 7; uint32 promotion = 8; } message Material { uint32 tid = 1; uint32 num = 2; } message GetBagScRsp { uint32 retcode = 1; repeated Equipment equipment_list = 2; repeated Material material_list = 3; } message PromoteEquipmentCsReq { uint32 equipment_unique_id = 1; ItemCostData cost_data = 2; } message PromoteEquipmentScRsp { uint32 retcode = 1; } message LockEquipmentCsReq { uint32 equipment_unique_id = 1; bool is_lock = 2; } message LockEquipmentScRsp { uint32 retcode = 1; uint32 equipment_unique_id = 2; } message UseItemCsReq { uint32 use_item_id = 1; } message UseItemScRsp { uint32 retcode = 1; uint32 use_item_id = 2; RewardData reward_data = 3; } message RankUpEquipmentCsReq { uint32 equipment_unique_id = 1; repeated uint32 equipment_id_list = 2; } message RankUpEquipmentScRsp { uint32 retcode = 1; } message ExpUpEquipmentCsReq { uint32 equipment_unique_id = 1; ItemCostData cost_data = 2; } message ExpUpEquipmentScRsp { uint32 retcode = 1; repeated PileItem return_item_list = 2; } message UseItemFoodCsReq { uint32 use_item_id = 1; uint32 use_item_count = 2; uint32 use_avatar_id = 3; AvatarType use_avatar_type = 4; } message UseItemFoodScRsp { uint32 retcode = 1; uint32 use_item_id = 2; uint32 use_item_count = 3; } message ComposeItemCsReq { uint32 compose_id = 1; uint32 count = 2; } message ComposeItemScRsp { uint32 retcode = 1; uint32 compose_id = 2; uint32 count = 3; } enum CmdItemType { CmdItemTypeNone = 0; CmdGetBagCsReq = 501; CmdGetBagScRsp = 502; CmdPromoteEquipmentCsReq = 503; CmdPromoteEquipmentScRsp = 504; CmdLockEquipmentCsReq = 505; CmdLockEquipmentScRsp = 506; CmdUseItemCsReq = 507; CmdUseItemScRsp = 508; CmdRankUpEquipmentCsReq = 509; CmdRankUpEquipmentScRsp = 510; CmdExpUpEquipmentCsReq = 511; CmdExpUpEquipmentScRsp = 512; CmdUseItemFoodCsReq = 513; CmdUseItemFoodScRsp = 514; CmdComposeItemCsReq = 515; CmdComposeItemScRsp = 516; } message GetStageLineupCsReq {} message StageLineup { uint32 stage_type = 1; uint32 lineup_index = 2; } message GetStageLineupScRsp { uint32 retcode = 1; repeated StageLineup stage_lineup_list = 2; } message LineupAvatar { uint32 slot = 1; AvatarType avatar_type = 2; uint32 id = 3; uint32 skill_cast_cnt = 4; uint32 hp = 5; uint32 sp = 6; uint32 satiety = 7; } message LineupInfo { repeated LineupAvatar avatar_list = 1; bool is_virtual = 2; uint32 plane_id = 3; uint32 mp = 4; uint32 leader_slot = 5; uint32 index = 6; ExtraLineupType extra_lineup_type = 7; string name = 8; } message GetCurLineupDataCsReq {} message GetCurLineupDataScRsp { uint32 retcode = 1; LineupInfo lineup = 2; } message JoinLineupCsReq { uint32 avatar_id = 1; bool is_virtual = 2; uint32 plane_id = 3; uint32 slot = 4; uint32 index = 5; ExtraLineupType extra_lineup_type = 6; } message JoinLineupScRsp { uint32 retcode = 1; } message QuitLineupCsReq { uint32 avatar_id = 1; bool is_virtual = 2; uint32 plane_id = 3; uint32 index = 4; ExtraLineupType extra_lineup_type = 5; } message QuitLineupScRsp { uint32 retcode = 1; uint32 avatar_id = 2; bool is_mainline = 3; uint32 plane_id = 4; bool is_virtual = 5; } message SwapLineupCsReq { bool is_virtual = 1; uint32 plane_id = 2; uint32 src_slot = 3; uint32 dst_slot = 4; uint32 index = 5; ExtraLineupType extra_lineup_type = 6; } message SwapLineupScRsp { uint32 retcode = 1; } message SyncLineupNotify { LineupInfo lineup = 1; } message GetLineupAvatarDataCsReq {} message LineupAvatarData { AvatarType avatar_type = 1; uint32 id = 2; uint32 hp = 3; } message GetLineupAvatarDataScRsp { uint32 retcode = 1; repeated LineupAvatarData avatar_data_list = 2; } message ChangeLineupLeaderCsReq { uint32 slot = 1; } message ChangeLineupLeaderScRsp { uint32 retcode = 1; uint32 slot = 2; } message SwitchLineupIndexCsReq { uint32 index = 1; } message SwitchLineupIndexScRsp { uint32 retcode = 1; uint32 index = 2; } message SetLineupNameCsReq { string name = 1; uint32 index = 2; } message SetLineupNameScRsp { uint32 retcode = 1; string name = 2; uint32 index = 3; } message GetAllLineupDataCsReq {} message GetAllLineupDataScRsp { uint32 retcode = 1; uint32 cur_index = 2; repeated LineupInfo lineup_list = 3; } message VirtualLineupDestroyNotify { uint32 plane_id = 1; } enum CmdLineupType { CmdLineupTypeNone = 0; CmdGetStageLineupCsReq = 701; CmdGetStageLineupScRsp = 702; CmdGetCurLineupDataCsReq = 703; CmdGetCurLineupDataScRsp = 704; CmdJoinLineupCsReq = 705; CmdJoinLineupScRsp = 706; CmdQuitLineupCsReq = 707; CmdQuitLineupScRsp = 708; CmdSwapLineupCsReq = 709; CmdSwapLineupScRsp = 710; CmdSyncLineupNotify = 711; CmdGetLineupAvatarDataCsReq = 712; CmdGetLineupAvatarDataScRsp = 713; CmdChangeLineupLeaderCsReq = 714; CmdChangeLineupLeaderScRsp = 715; CmdSwitchLineupIndexCsReq = 716; CmdSwitchLineupIndexScRsp = 717; CmdSetLineupNameCsReq = 718; CmdSetLineupNameScRsp = 719; CmdGetAllLineupDataCsReq = 720; CmdGetAllLineupDataScRsp = 721; CmdVirtualLineupDestroyNotify = 722; } enum ExtraLineupType { LINEUP_NONE = 0; LINEUP_CHALLENGE = 1; } message GetMailCsReq { uint32 start = 1; uint32 stop = 2; } message MailItem { uint32 item_id = 1; uint32 level = 2; uint32 num = 3; uint32 rank = 4; uint32 promotion = 5; } message MailAttachment { repeated MailItem item_list = 1; } message ClientMail { uint32 id = 1; uint32 template_id = 2; string title = 3; string content = 4; string sender = 5; uint32 time = 6; MailAttachment attachment = 7; bool is_read = 8; uint32 expire_time = 9; repeated string para_list = 10; } message GetMailScRsp { uint32 retcode = 1; repeated ClientMail mail_list = 2; bool is_end = 3; uint32 total_num = 4; uint32 start = 5; repeated ClientMail notice_mail_list = 6; } message MarkReadMailCsReq { uint32 id = 1; } message MarkReadMailScRsp { uint32 retcode = 1; uint32 id = 2; } message DelMailCsReq { repeated uint32 id_list = 1; } message DelMailScRsp { uint32 retcode = 1; repeated uint32 id_list = 2; } message TakeMailAttachmentCsReq { repeated uint32 mail_id_list = 1; } message ClientMailAttachmentItem { uint32 mail_id = 1; uint32 item_id = 2; } message TakeMailAttachmentScRsp { uint32 retcode = 1; repeated uint32 succ_mail_id_list = 2; MailAttachment attachment = 3; repeated ClientMailAttachmentItem fail_mail_list = 4; } message NewMailScNotify { repeated uint32 mail_id_list = 1; } enum CmdMailType { CmdMailTypeNone = 0; CmdGetMailCsReq = 801; CmdGetMailScRsp = 802; CmdMarkReadMailCsReq = 803; CmdMarkReadMailScRsp = 804; CmdDelMailCsReq = 805; CmdDelMailScRsp = 806; CmdTakeMailAttachmentCsReq = 807; CmdTakeMailAttachmentScRsp = 808; CmdNewMailScNotify = 809; } message MazeFloor { uint32 floor_id = 1; SceneInfo scene = 2; } message Maze { uint32 id = 1; MazeFloor floor = 2; uint32 map_entry_id = 3; } message MazeAvatar { uint32 avatar_id = 1; uint32 left_hp = 2; uint32 sp = 3; } message MazeMission { uint32 sub_mission_id = 1; MissionStatus status = 2; } message GetMazeCsReq {} message GetMazeScRsp { uint32 retcode = 1; repeated Maze maze_list = 2; uint32 cur_series_id = 3; repeated uint32 finished_plane_list = 4; repeated uint32 wait_plane_list = 5; repeated uint32 taken_reward_list = 6; repeated MazeAvatar avatar_list = 7; repeated uint32 chosen_ability_list = 8; repeated uint32 candidate_ability_list = 9; repeated MazeMission maze_mission_list = 10; } message ChooseMazeSeriesCsReq { uint32 series_id = 1; } message ChooseMazeSeriesScRsp { uint32 retcode = 1; uint32 series_id = 2; } message ChooseMazeAbilityCsReq { uint32 ability_id = 1; } message ChooseMazeAbilityScRsp { uint32 retcode = 1; repeated uint32 ability_list = 2; } message EnterMazeCsReq { uint32 plane_id = 1; uint32 floor_id = 2; uint32 entry_id = 3; uint32 group_id = 4; uint32 config_id = 5; } message EnterMazeScRsp { uint32 retcode = 1; Maze maze = 2; } message MazeBuffScNotify { uint32 buff_id = 1; MazeBuffOp op = 2; } message CastMazeSkillCsReq { uint32 skill_id = 1; } message CastMazeSkillScRsp { uint32 retcode = 1; } message MazePlaneEventScNotify { RewardData reward = 1; repeated DropItem drop_list = 2; } message EnterMazeByServerScNotify { Maze maze = 1; } message MazePropState { uint32 group_id = 1; uint32 config_id = 2; uint32 state = 3; } message MazeGroup { uint32 group_id = 1; uint32 modify_time = 2; } message GetMazeMapInfoCsReq { uint32 entry_id = 1; } message GetMazeMapInfoScRsp { uint32 retcode = 1; uint32 entry_id = 2; repeated uint32 lighten_section_list = 3; repeated MazePropState maze_prop_list = 4; repeated MazeGroup maze_group_list = 5; } enum CmdMazeType { CmdMazeTypeNode = 0; CmdGetMazeCsReq = 1001; CmdGetMazeScRsp = 1002; CmdChooseMazeSeriesCsReq = 1003; CmdChooseMazeSeriesScRsp = 1004; CmdChooseMazeAbilityCsReq = 1005; CmdChooseMazeAbilityScRsp = 1006; CmdEnterMazeCsReq = 1007; CmdEnterMazeScRsp = 1008; CmdMazeBuffScNotify = 1011; CmdCastMazeSkillCsReq = 1012; CmdCastMazeSkillScRsp = 1013; CmdMazePlaneEventScNotify = 1014; CmdEnterMazeByServerScNotify = 1015; CmdGetMazeMapInfoCsReq = 1016; CmdGetMazeMapInfoScRsp = 1017; } enum MazeBuffOp { MAZE_BUFF_OP_NONE = 0; MAZE_BUFF_OP_ADD = 1; MAZE_BUFF_OP_DEL = 2; } message GetMissionDataCsReq {} message Mission { uint32 id = 1; MissionStatus status = 2; uint32 progress = 3; } message GetMissionDataScRsp { uint32 retcode = 1; repeated Mission mission_list = 2; repeated uint32 finished_main_mission_id_list = 3; } message FinishTalkMissionCsReq { string talk_str = 1; } message FinishTalkMissionScRsp { uint32 retcode = 1; string talk_str = 2; } message MissionRewardScNotify { uint32 main_mission_id = 1; RewardData reward = 2; } message SyncTaskCsReq { string key = 1; } message SyncTaskScRsp { uint32 retcode = 1; string key = 2; } message DailyTask { uint32 main_mission_id = 1; bool is_finished = 2; } message DailyTaskDataScNotify { bool is_taken_extra_reward = 1; uint32 finished_num = 2; repeated DailyTask daily_task_list = 3; } message TakeDailyTaskExtraRewardCsReq {} message TakeDailyTaskExtraRewardScRsp { uint32 retcode = 1; RewardData reward = 2; } message DailyTaskRewardScNotify { uint32 count = 1; RewardData reward = 2; } message MissionGroupWarnScNotify { repeated uint32 group_id_list = 1; } message FinishCosumeItemMissionCsReq { uint32 sub_mission_id = 1; } message FinishCosumeItemMissionScRsp { uint32 retcode = 1; uint32 sub_mission_id = 2; } enum CmdMissionType { CmdMissionTypeNone = 0; CmdGetMissionDataCsReq = 1201; CmdGetMissionDataScRsp = 1202; CmdFinishTalkMissionCsReq = 1203; CmdFinishTalkMissionScRsp = 1204; CmdMissionRewardScNotify = 1205; CmdSyncTaskCsReq = 1206; CmdSyncTaskScRsp = 1207; CmdDailyTaskDataScNotify = 1208; CmdTakeDailyTaskExtraRewardCsReq = 1209; CmdTakeDailyTaskExtraRewardScRsp = 1210; CmdDailyTaskRewardScNotify = 1211; CmdMissionGroupWarnScNotify = 1212; CmdFinishCosumeItemMissionCsReq = 1213; CmdFinishCosumeItemMissionScRsp = 1214; } message PlayerLoginCsReq { PlatformType platform = 1; string cps = 2; string device_uuid = 3; string device_info = 4; string system_info = 5; string client_version = 6; LanguageType language = 7; uint32 last_server_packet_id = 8; string check_sum_1 = 9; string check_sum_2 = 10; string signature = 11; string resolution = 12; uint64 login_random = 13; string system_language = 14; uint32 res_version = 15; } message PlayerLoginScRsp { uint32 retcode = 1; bool is_new_player = 2; PlayerBasicInfo basic_info = 3; uint64 server_timestamp_ms = 4; uint32 stamina = 5; bool is_relay = 6; uint64 login_random = 7; } message PlayerLogoutCsReq {} message PlayerGetTokenCsReq { uint32 channel_id = 1; string account_uid = 2; string token = 3; uint32 uid = 4; string device = 5; } message PlayerGetTokenScRsp { uint32 retcode = 1; uint32 uid = 2; BlackInfo black_info = 3; string msg = 4; uint64 secret_key_seed = 5; } message PlayerKeepAliveNotify {} message GmTalkScNotify { string msg = 1; } message PlayerKickOutScNotify { KickType kick_type = 1; enum KickType { KICK_SQUEEZED = 0; KICK_BLACK = 1; KICK_CHANGE_PWD = 2; } BlackInfo black_info = 2; } message GmTalkCsReq { string msg = 1; } message GmTalkScRsp { uint32 retcode = 1; string retmsg = 2; } message GetStaminaExchangeCsReq {} message GetStaminaExchangeScRsp { uint32 retcode = 1; uint32 next_recover_time = 2; uint32 exchange_times = 3; } message ExchangeStaminaCsReq {} message ExchangeStaminaScRsp { uint32 retcode = 1; uint32 stamina_add = 2; repeated ItemCost item_cost_list = 3; uint32 last_recover_time = 4; uint32 exchange_times = 5; } message GetAuthkeyCsReq { string auth_appid = 1; uint32 sign_type = 2; uint32 authkey_ver = 3; } message GetAuthkeyScRsp { uint32 retcode = 1; string authkey = 2; string auth_appid = 3; uint32 sign_type = 4; uint32 authkey_ver = 5; } message RegionStopScNotify { uint32 stop_begin_time = 1; uint32 stop_end_time = 2; } message AntiAddictScNotify { uint32 msg_type = 1; string msg = 2; string level = 3; } message SetNicknameCsReq { string nickname = 1; bool is_modify = 2; } message SetNicknameScRsp { uint32 retcode = 1; } message GetLevelRewardTakenListCsReq {} message GetLevelRewardTakenListScRsp { uint32 retcode = 1; repeated uint32 taken_level_list = 2; } message GetLevelRewardCsReq { uint32 level = 1; } message GetLevelRewardScRsp { uint32 retcode = 1; RewardData reward = 2; } message SyncTimeCsReq { uint64 client_time_ms = 1; } message SyncTimeScRsp { uint32 retcode = 1; uint64 client_time_ms = 2; uint64 server_time_ms = 3; } message SetLanguageCsReq { LanguageType language = 1; } message SetLanguageScRsp { uint32 retcode = 1; LanguageType language = 2; } message AnnounceData { uint32 config_id = 1; uint32 begin_time = 2; uint32 end_time = 3; string center_system_text = 4; string count_down_text = 5; string dungeon_confirm_text = 6; uint32 center_system_frequency = 7; uint32 count_down_frequency = 8; bool is_center_system_last_5_every_minutes = 9; } message ServerAnnounceNotify { repeated AnnounceData announce_data_list = 1; } enum CmdPlayerType { CmdPlayerTypeNone = 0; CmdPlayerLoginCsReq = 1; CmdPlayerLoginScRsp = 2; CmdPlayerLogoutCsReq = 3; CmdPlayerLogoutScRsp = 4; CmdPlayerGetTokenCsReq = 5; CmdPlayerGetTokenScRsp = 6; CmdPlayerKeepAliveNotify = 7; CmdGmTalkScNotify = 8; CmdPlayerKickOutScNotify = 9; CmdGmTalkCsReq = 10; CmdGmTalkScRsp = 11; CmdGetStaminaExchangeCsReq = 12; CmdGetStaminaExchangeScRsp = 13; CmdExchangeStaminaCsReq = 14; CmdExchangeStaminaScRsp = 15; CmdGetAuthkeyCsReq = 16; CmdGetAuthkeyScRsp = 17; CmdRegionStopScNotify = 18; CmdAntiAddictScNotify = 19; CmdSetNicknameCsReq = 20; CmdSetNicknameScRsp = 21; CmdGetLevelRewardTakenListCsReq = 22; CmdGetLevelRewardTakenListScRsp = 23; CmdGetLevelRewardCsReq = 24; CmdGetLevelRewardScRsp = 25; CmdSyncTimeCsReq = 26; CmdSyncTimeScRsp = 27; CmdSetLanguageCsReq = 28; CmdSetLanguageScRsp = 29; CmdServerAnnounceNotify = 30; } enum AuthkeySignType { AUTHKEY_SIGN_TYPE_NONE = 0; AUTHKEY_SIGN_TYPE_DEFAULT = 1; AUTHKEY_SIGN_TYPE_RSA = 2; } message FinishPlotCsReq { uint32 plot_id = 1; } message FinishPlotScRsp { uint32 retcode = 1; uint32 plot_id = 2; } enum CmdPlotType { CmdPlotTypeNone = 0; CmdFinishPlotCsReq = 1101; CmdFinishPlotScRsp = 1102; } message GetQuestDataCsReq {} message Quest { uint32 id = 1; QuestStatus status = 2; uint32 progress = 3; } message GetQuestDataScRsp { uint32 retcode = 1; repeated Quest quest_list = 2; } message TakeQuestRewardCsReq { repeated uint32 quest_id_list = 1; } message TakeQuestRewardScRsp { uint32 retcode = 1; RewardData reward = 2; repeated uint32 succ_quest_id_list = 3; } enum CmdQuestType { CmdQuestTypeNone = 0; CmdGetQuestDataCsReq = 901; CmdGetQuestDataScRsp = 902; CmdTakeQuestRewardCsReq = 903; CmdTakeQuestRewardScRsp = 904; } enum QuestStatus { QUEST_NONE = 0; QUEST_DOING = 1; QUEST_FINISH = 2; QUEST_CLOSE = 3; QUEST_DELETE = 4; } message Vector { sint32 x = 1; sint32 y = 2; sint32 z = 3; } message MotionInfo { Vector pos = 1; Vector rot = 2; } message SceneActorInfo { uint32 uid = 1; AvatarType avatar_type = 2; uint32 avatar_id = 3; } message SceneNpcMonsterInfo { uint32 monster_id = 1; bool is_gen_monster = 2; } message SceneNpcInfo { uint32 npc_id = 1; } message ScenePropInfo { uint32 prop_id = 1; uint32 prop_state = 2; uint64 create_time_ms = 3; uint32 life_time_ms = 4; } message SceneEntityInfo { uint32 entity_id = 1; MotionInfo motion = 2; uint32 group_id = 3; uint32 inst_id = 4; oneof entity { SceneActorInfo actor = 5; SceneNpcMonsterInfo npc_monster = 6; SceneNpcInfo npc = 7; ScenePropInfo prop = 8; } } message BuffInfo { uint32 buff_id = 1; uint32 level = 2; uint64 add_time_ms = 3; float life_time = 4; uint32 count = 5; uint32 caster_avatar_id = 6; map dynamic_values = 7; } message SceneInfo { uint32 map_id = 1; uint32 plane_id = 2; uint32 floor_id = 3; repeated SceneEntityInfo entity_list = 4; repeated uint32 lighten_section_list = 5; uint32 leader_entity_id = 6; uint32 entry_id = 7; repeated BuffInfo env_buff_list = 8; } message EntityMotion { uint32 entity_id = 1; MotionInfo motion = 2; } message SceneEntityMoveCsReq { repeated EntityMotion entity_motion_list = 1; uint32 entry_id = 2; } message SceneEntityMoveScRsp { uint32 retcode = 1; } message SceneEntityMoveScNotify { uint32 entity_id = 1; MotionInfo motion = 2; } message InteractPropCsReq { uint32 prop_entity_id = 1; uint32 interact_id = 2; } message InteractPropScRsp { uint32 retcode = 1; uint32 prop_entity_id = 2; uint32 prop_state = 3; } message SceneCastSkillCsReq { uint32 cast_entity_id = 1; uint32 skill_index = 2; uint32 ability_target_entity_id = 3; repeated uint32 hit_target_entity_id_list = 4; repeated uint32 assist_monster_entity_id_list = 5; MotionInfo target_motion = 6; } message SceneCastSkillScRsp { uint32 retcode = 1; SceneBattleInfo battle_info = 2; } message SceneEnterStageCsReq { uint32 stage_id = 1; } message SceneEnterStageScRsp { uint32 retcode = 1; SceneBattleInfo battle_info = 2; } message GetCurSceneInfoCsReq {} message GetCurSceneInfoScRsp { uint32 retcode = 1; SceneInfo scene = 2; } message SceneEntityUpdateScNotify { repeated SceneEntityInfo entity_list = 1; } message SceneEntityDisappearScNotify { repeated uint32 entity_id_list = 1; } message WaitCustomStringCsReq { string custom_string = 3; oneof key { uint32 prop_entity_id = 1; uint32 sub_mission_id = 2; } } message WaitCustomStringScRsp { uint32 retcode = 1; string custom_string = 4; oneof key { uint32 prop_entity_id = 2; uint32 sub_mission_id = 3; } } message SpringTransferCsReq { uint32 plane_id = 1; uint32 floor_id = 2; uint32 prop_entity_id = 3; } message SpringTransferScRsp { uint32 retcode = 1; } message UpdateBuffScNotify { uint32 entity_id = 1; BuffInfo buff = 2; } message DelBuffScNotify { uint32 entity_id = 1; uint32 buff_id = 2; } message SpringRefreshCsReq { uint32 plane_id = 1; uint32 floor_id = 2; uint32 prop_entity_id = 3; } message SpringRefreshScRsp { uint32 retcode = 1; } message LastSpringRefreshTimeNotify { uint32 last_time = 1; } message ReturnLastTownCsReq {} message ReturnLastTownScRsp { uint32 retcode = 1; SceneInfo scene = 2; } message EnterSectionCsReq { uint32 section_id = 1; } message EnterSectionScRsp { uint32 retcode = 1; } message SetCurInteractEntityCsReq { uint32 entity_id = 1; } message SetCurInteractEntityScRsp { uint32 retcode = 1; } message RecoverAllLineupCsReq {} message RecoverAllLineupScRsp { uint32 retcode = 1; } message SavePointsInfoNotify { uint32 valid_times = 1; uint32 refresh_time = 2; } message StartCocoonStageCsReq { uint32 prop_entity_id = 1; uint32 cocoon_id = 2; uint32 wave = 3; } message StartCocoonStageScRsp { uint32 retcode = 1; SceneBattleInfo battle_info = 2; uint32 prop_entity_id = 3; uint32 cocoon_id = 4; uint32 wave = 5; } message EntityBindPropCsReq { bool is_bind = 1; MotionInfo motion = 2; } message EntityBindPropScRsp { uint32 retcode = 1; } message SetClientPausedCsReq { bool paused = 1; } message SetClientPausedScRsp { uint32 retcode = 1; bool paused = 2; } message PropBeHitCsReq { uint32 prop_entity_id = 1; } message PropBeHitScRsp { uint32 retcode = 1; uint32 prop_entity_id = 2; } enum CmdSceneType { CmdSceneTypeNone = 0; CmdSceneEntityMoveCsReq = 1401; CmdSceneEntityMoveScRsp = 1402; CmdInteractPropCsReq = 1403; CmdInteractPropScRsp = 1404; CmdSceneCastSkillCsReq = 1405; CmdSceneCastSkillScRsp = 1406; CmdGetCurSceneInfoCsReq = 1407; CmdGetCurSceneInfoScRsp = 1408; CmdSceneEntityUpdateScNotify = 1409; CmdSceneEntityDisappearScNotify = 1410; CmdSceneEntityMoveScNotify = 1411; CmdWaitCustomStringCsReq = 1412; CmdWaitCustomStringScRsp = 1413; CmdSpringTransferCsReq = 1414; CmdSpringTransferScRsp = 1415; CmdUpdateBuffScNotify = 1416; CmdDelBuffScNotify = 1417; CmdSpringRefreshCsReq = 1418; CmdSpringRefreshScRsp = 1419; CmdLastSpringRefreshTimeNotify = 1420; CmdReturnLastTownCsReq = 1421; CmdReturnLastTownScRsp = 1422; CmdSceneEnterStageCsReq = 1423; CmdSceneEnterStageScRsp = 1424; CmdEnterSectionCsReq = 1427; CmdEnterSectionScRsp = 1428; CmdSetCurInteractEntityCsReq = 1431; CmdSetCurInteractEntityScRsp = 1432; CmdRecoverAllLineupCsReq = 1433; CmdRecoverAllLineupScRsp = 1434; CmdSavePointsInfoNotify = 1435; CmdStartCocoonStageCsReq = 1436; CmdStartCocoonStageScRsp = 1437; CmdEntityBindPropCsReq = 1438; CmdEntityBindPropScRsp = 1439; CmdSetClientPausedCsReq = 1440; CmdSetClientPausedScRsp = 1441; CmdPropBeHitCsReq = 1442; CmdPropBeHitScRsp = 1443; } message Shop { uint32 shop_id = 1; uint32 begin_time = 2; uint32 end_time = 3; repeated Goods goods_list = 4; } message Goods { uint32 goods_id = 1; uint32 buy_times = 2; uint32 begin_time = 3; uint32 end_time = 4; } message GetShopListCsReq { uint32 shop_type = 1; } message GetShopListScRsp { uint32 retcode = 1; repeated Shop shop_list = 2; uint32 shop_type = 3; } message BuyGoodsCsReq { uint32 shop_id = 1; uint32 goods_id = 2; uint32 goods_num = 3; } message BuyGoodsScRsp { uint32 retcode = 1; uint32 shop_id = 2; uint32 goods_id = 3; uint32 goods_buy_times = 4; } enum CmdShopType { CmdShopTypeNone = 0; CmdGetShopListCsReq = 1501; CmdGetShopListScRsp = 1502; CmdBuyGoodsCsReq = 1503; CmdBuyGoodsScRsp = 1504; } message Stage { uint32 id = 1; uint32 win_times = 2; uint32 challenge_value = 3; } message GetStageDataCsReq { repeated uint32 stage_id_list = 1; } message GetStageDataScRsp { uint32 retcode = 1; repeated Stage stage_list = 2; bool is_all = 3; } message StageBeginCsReq { uint32 stage_id = 1; uint32 lineup_index = 2; } message StageBeginScRsp { uint32 retcode = 1; uint32 logic_random_seed = 2; uint32 stage_id = 3; repeated BattleAvatar battle_avatar_list = 4; } enum CmdStageType { CmdStageTypeNone = 0; CmdGetStageDataCsReq = 201; CmdGetStageDataScRsp = 202; CmdStageBeginCsReq = 203; CmdStageBeginScRsp = 204; } message BasicModuleSync { uint32 stamina = 1; } message AvatarSync { repeated Avatar avatar_list = 1; } message MissionSync { repeated Mission mission_list = 1; repeated uint32 finished_main_mission_id_list = 2; repeated uint32 del_mission_id_list = 3; repeated uint32 del_main_mission_id_list = 4; } message PlayerSyncScNotify { PlayerBasicInfo basic_info = 1; AvatarSync avatar_sync = 2; repeated Equipment equipment_list = 3; repeated uint32 del_equipment_list = 4; repeated Material material_list = 5; repeated Quest quest_list = 6; MissionSync mission_sync = 7; BasicModuleSync basic_module_sync = 8; } enum CmdPlayerSyncType { CmdPlayerSyncNone = 0; CmdPlayerSyncScNotify = 601; } message Tutorial { uint32 id = 1; TutorialStatus status = 2; } message TutorialGuide { uint32 id = 1; TutorialStatus status = 2; } message GetTutorialCsReq {} message GetTutorialScRsp { uint32 retcode = 1; repeated Tutorial tutorial_list = 2; } message GetTutorialGuideCsReq {} message GetTutorialGuideScRsp { uint32 retcode = 1; repeated TutorialGuide tutorial_guide_list = 2; } message UnlockTutorialCsReq { uint32 tutorial_id = 1; } message UnlockTutorialScRsp { uint32 retcode = 1; Tutorial tutorial = 2; } message UnlockTutorialGuideCsReq { uint32 group_id = 1; } message UnlockTutorialGuideScRsp { uint32 retcode = 1; TutorialGuide tutorial_guide = 2; } message FinishTutorialCsReq { uint32 tutorial_id = 1; } message FinishTutorialScRsp { uint32 retcode = 1; Tutorial tutorial = 2; } message FinishTutorialGuideCsReq { uint32 group_id = 1; } message FinishTutorialGuideScRsp { uint32 retcode = 1; TutorialGuide tutorial_guide = 2; RewardData reward = 3; } enum CmdTutorialType { CmdTutorialTypeNone = 0; CmdGetTutorialCsReq = 1601; CmdGetTutorialScRsp = 1602; CmdGetTutorialGuideCsReq = 1603; CmdGetTutorialGuideScRsp = 1604; CmdUnlockTutorialCsReq = 1605; CmdUnlockTutorialScRsp = 1606; CmdUnlockTutorialGuideCsReq = 1607; CmdUnlockTutorialGuideScRsp = 1608; CmdFinishTutorialCsReq = 1609; CmdFinishTutorialScRsp = 1610; CmdFinishTutorialGuideCsReq = 1611; CmdFinishTutorialGuideScRsp = 1612; } enum TutorialStatus { TUTORIAL_NONE = 0; TUTORIAL_UNLOCK = 1; TUTORIAL_FINISH = 2; } message Waypoint { uint32 id = 1; uint32 finish_times = 2; bool is_new = 3; } message ChapterBrief { uint32 id = 1; uint32 finish_challenge_num = 2; repeated uint32 taken_reward_id_list = 3; bool is_new = 4; } message Chapter { ChapterBrief brief_info = 1; repeated Waypoint waypoint_list = 2; } message GetWaypointCsReq { uint32 chapter_id = 1; } message GetWaypointScRsp { uint32 retcode = 1; Chapter chapter = 2; uint32 cur_waypoint_id = 3; } message SetCurWaypointCsReq { uint32 waypoint_id = 1; } message SetCurWaypointScRsp { uint32 retcode = 1; uint32 cur_waypoint_id = 2; } message GetChapterCsReq {} message GetChapterScRsp { uint32 retcode = 1; repeated ChapterBrief chapter_list = 2; uint32 cur_waypoint_id = 3; } message WaypointShowNewCsNotify { uint32 waypoint_id = 1; uint32 chapter_id = 2; } message TakeChapterRewardCsReq { uint32 chapter_id = 1; uint32 chapter_reward_id = 2; } message TakeChapterRewardScRsp { uint32 retcode = 1; uint32 chapter_id = 2; uint32 chapter_reward_id = 3; } enum CmdWaypointType { CmdWaypointTypeNone = 0; CmdGetWaypointCsReq = 401; CmdGetWaypointScRsp = 402; CmdSetCurWaypointCsReq = 403; CmdSetCurWaypointScRsp = 404; CmdGetChapterCsReq = 405; CmdGetChapterScRsp = 406; CmdWaypointShowNewCsNotify = 407; CmdTakeChapterRewardCsReq = 408; CmdTakeChapterRewardScRsp = 409; } enum WaypointType { WAYPOINT_TYPE_NONE = 0; WAYPOINT_TYPE_STAGE = 1; WAYPOINT_TYPE_PLOT = 2; } enum WaypointUnlockType { WAYPOINT_UNLOCK_NONE = 0; WAYPOINT_UNLOCK_PRE = 1; WAYPOINT_UNLOCK_LEVEL = 2; } message PacketHead { uint32 packet_id = 1; uint32 sign_type = 2; uint32 sign = 3; uint32 user_id = 4; uint32 src_addr = 5; uint32 dst_addr = 6; uint32 dispatch_type = 7; uint32 server_type = 8; uint32 dispatch_key = 9; uint32 user_session_id = 10; uint32 id = 11; uint32 coroutine_id = 12; uint32 hop_cnt = 13; } enum DispatchType { DISPATCH_TYPE_NONE = 0; DISPATCH_TYPE_BY_ADDR = 1; DISPATCH_TYPE_BY_MOD = 2; DISPATCH_TYPE_BY_RAND = 3; DISPATCH_TYPE_BY_CHASH = 4; DISPATCH_TYPE_BY_STICKY_SESSION = 5; DISPATCH_TYPE_BY_OBJECT = 6; }