syntax = "proto3"; package proto; import "cmd/cmd_gcg_common.proto"; import "define.proto"; option go_package = "./;proto"; enum GCGSkillHpChangeType { GCG_SKILL_HP_CHANGE_NONE = 0; GCG_SKILL_HP_CHANGE_DAMAGE = 1; GCG_SKILL_HP_CHANGE_HEAL = 2; } enum GCGSettleOption { GCG_SETTLE_OPT_NONE = 0; GCG_SETTLE_OPT_EXIT = 1; GCG_SETTLE_OPT_CONTINUE = 2; GCG_SETTLE_OPT_RESTART = 3; } message GCGAttackCostInfo { uint32 skill_id = 8; map cost_map = 3; } message GCGPlayCardCostInfo { map cost_map = 14; uint32 card_id = 1; } message GCGSelectOnStageCostInfo { map cost_map = 8; uint32 card_guid = 9; } message GCGCostReviseInfo { bool is_can_attack = 4; repeated uint32 can_use_hand_card_id_list = 11; repeated GCGPlayCardCostInfo play_card_cost_list = 5; repeated GCGSelectOnStageCostInfo select_on_stage_cost_list = 10; repeated GCGAttackCostInfo attack_cost_list = 2; } message GCGMsgTokenChange { uint32 before = 13; uint32 token_type = 4; uint32 card_guid = 2; uint32 after = 11; GCGReason reason = 7; } message GCGMsgPhaseChange { map allow_controller_map = 15; GCGPhaseType before_phase = 12; GCGPhaseType after_phase = 5; } message GCGMsgAddCards { uint32 pos = 11; GCGZoneType zone = 2; GCGReason reason = 15; uint32 controller_id = 13; repeated uint32 card_guid_list = 14; } message GCGMsgRemoveCards { uint32 controller_id = 15; GCGZoneType zone = 10; GCGReason reason = 5; repeated uint32 card_guid_list = 1; } message GCGMsgMoveCard { uint32 controller_id = 14; GCGZoneType to = 5; GCGZoneType from = 12; repeated uint32 card_guid_list = 8; GCGReason reason = 6; repeated uint32 fail_guid_list = 11; } message GCGMsgSelectOnStage { uint32 controller_id = 6; GCGReason reason = 10; uint32 card_guid = 4; } message GCGMsgSelectOnStageByEffect { uint32 skill_id = 12; uint32 controller_id = 15; uint32 card_guid = 1; } message GCGMsgDiceRoll { repeated GCGDiceSideType dice_side_list = 10; uint32 dice_num = 15; uint32 controller_id = 5; } message GCGMsgDiceReroll { uint32 controller_id = 2; repeated uint32 select_dice_index_list = 1; repeated GCGDiceSideType dice_side_list = 6; } message GCGMsgPass { uint32 controller_id = 14; } message GCGMsgCharDie { uint32 controller_id = 5; uint32 card_guid = 11; } message GCGMsgUseSkill { uint32 skill_id = 9; uint32 card_guid = 6; } message GCGMsgUseSkillEnd { uint32 card_guid = 11; uint32 skill_id = 12; } message GCGDamageDetail { uint32 skill_id = 10; uint32 card_guid = 7; } message GCGMsgSkillResult { uint32 skill_id = 12; uint32 last_hp = 14; repeated GCGDamageDetail detail_list = 2; uint32 target_card_guid = 7; uint32 effect_element = 5; uint32 from_result_seq = 15; uint32 damage = 6; uint32 result_seq = 4; uint32 src_card_guid = 8; } message GCGLimitsInfo { uint32 limit_type = 7; uint32 limit_value = 1; } message GCGSkillLimitsInfo { uint32 skill_id = 5; repeated GCGLimitsInfo limits_list = 15; } message GCGCardSkillLimitsInfo { repeated GCGSkillLimitsInfo skill_limits_list = 12; } message GCGMsgSkillLimitsChange { map card_limits_change_map = 15; } message GCGMsgCostDice { uint32 controller_id = 6; repeated uint32 select_dice_index_list = 13; GCGReason reason = 9; } message GCGMsgAddDice { map before_dice_map = 12; int32 change_count = 1; map dice_map = 8; GCGReason reason = 4; uint32 controller_id = 10; } message GCGMsgNewCard { GCGCard card = 15; } message GCGMsgUpdateController { map allow_controller_map = 7; } message GCGMsgModifyAdd { uint32 pos = 9; uint32 owner_card_guid = 10; repeated uint32 card_guid_list = 15; uint32 controller_id = 14; GCGReason reason = 11; } message GCGMsgModifyRemove { uint32 controller_id = 14; GCGReason reason = 12; uint32 owner_card_guid = 5; repeated uint32 card_guid_list = 4; } message GCGMsgPVEIntention { repeated uint32 skill_id_list = 8; uint32 card_guid = 13; } message GCGMsgPVEIntentionInfo { map intention_map = 2; } message GCGMsgPVEIntentionChange { repeated GCGMsgPVEIntention change_intention_list = 4; GCGIntentionChangeType change_type = 1; } message GCGMsgDuelDataChange { uint32 round = 14; } message GCGMsgClientPerform { repeated uint32 param_list = 2; GCGClientPerformType perform_type = 5; } message GCGMsgGameOver { GCGEndReason end_reason = 13; uint32 win_controller_id = 6; } message GCGMsgOpTimer { fixed64 begin_time = 9; GCGPhaseType phase = 3; fixed64 time_stamp = 13; uint32 controller_id = 8; } message GCGMsgWaitingListChange { uint32 cur_index = 6; uint32 controller_id = 4; } message GCGMsgCardUpdate { GCGCard card = 7; } message GCGMsgCostRevise { uint32 controller_id = 5; GCGCostReviseInfo cost_revise = 13; } message GCGMsgPhaseContinue { } message GCGMsgNoDamageSkillResult { uint32 result_seq = 8; uint32 from_result_seq = 4; uint32 effect_element = 9; uint32 target_card_guid = 5; repeated GCGDamageDetail detail_list = 13; uint32 skill_id = 10; uint32 src_card_guid = 12; } message GCGMsgReactionBegin { uint32 card_guid = 13; uint32 skill_id = 3; } message GCGMsgReactionEnd { uint32 skill_id = 4; } message GCGMessage { oneof message { GCGMsgTokenChange token_change = 12; GCGMsgPhaseChange phase_change = 13; GCGMsgAddCards add_cards = 10; GCGMsgRemoveCards remove_cards = 14; GCGMsgSelectOnStage select_on_stage = 6; GCGMsgDiceRoll dice_roll = 9; GCGMsgDiceReroll dice_reroll = 11; GCGMsgPass pass = 5; GCGMsgCharDie char_die = 2; GCGMsgSkillResult skill_result = 1; GCGMsgCostDice cost_dice = 7; GCGMsgAddDice add_dice = 3; GCGMsgMoveCard move_card = 15; GCGMsgUseSkill use_skill = 4; GCGMsgNewCard new_card = 1848; GCGMsgUpdateController update_controller = 429; GCGMsgModifyAdd modify_add = 1851; GCGMsgModifyRemove modify_remove = 471; GCGMsgUseSkillEnd use_skill_end = 1411; GCGMsgDuelDataChange duel_data_change = 1008; GCGMsgClientPerform client_perform = 1035; GCGMsgGameOver game_over = 714; GCGMsgOpTimer op_timer = 1862; GCGMsgWaitingListChange waiting_list_change = 1678; GCGMsgCardUpdate card_update = 1879; GCGMsgSelectOnStageByEffect select_on_stage_by_effect = 2042; GCGMsgCostRevise cost_revise = 1350; GCGMsgPhaseContinue phase_continue = 1474; GCGMsgPVEIntentionInfo pve_intention_info = 1252; GCGMsgPVEIntentionChange pve_intention_change = 893; GCGMsgSkillLimitsChange skill_limits_change = 259; GCGMsgNoDamageSkillResult no_damage_skill_result = 24; GCGMsgReactionBegin reaction_begin = 859; GCGMsgReactionEnd reaction_end = 1395; } } message GCGMessagePack { GCGActionType action_type = 3; uint32 controller_id = 6; repeated GCGMessage msg_list = 13; } message GCGOperationRedraw { repeated uint32 card_list = 2; } message GCGOperationOnStageSelect { uint32 card_guid = 5; repeated uint32 cost_dice_index_list = 4; } message GCGOperationReroll { repeated uint32 dice_index_list = 12; } message GCGOperationAttack { repeated uint32 cost_dice_index_list = 8; uint32 skill_id = 2; } message GCGOperationPass { } message GCGOperationPlayCard { uint32 card_guid = 12; repeated uint32 cost_dice_index_list = 4; repeated uint32 target_card_guid_list = 10; uint32 replace_card_guid = 8; } message GCGOperationReboot { repeated uint32 cost_card_guid_list = 7; repeated uint32 dice_index_list = 6; } message GCGOperationSurrender { } message GCGOperation { oneof op { GCGOperationRedraw op_redraw = 10; GCGOperationOnStageSelect op_select_on_stage = 4; GCGOperationReroll op_reroll = 9; GCGOperationAttack op_attack = 11; GCGOperationPass op_pass = 15; GCGOperationPlayCard op_play_card = 2; GCGOperationReboot op_reboot = 5; GCGOperationSurrender op_surrender = 1; } } message GCGReplayOperationData { uint32 controller_id = 8; GCGOperation op = 5; } message GCGReplayControllerData { uint32 controller_id = 13; repeated uint32 card_id_list = 5; } message GCGOperationReplay { uint32 seed = 11; repeated GCGReplayOperationData operation_data_list = 9; repeated GCGReplayControllerData controller_data_list = 13; uint32 game_id = 1; } message GCGToken { uint32 value = 11; uint32 key = 4; } message GCGCard { bool is_show = 14; uint32 face_type = 5; uint32 id = 6; repeated GCGToken token_list = 2; repeated uint32 skill_id_list = 11; repeated GCGSkillLimitsInfo skill_limits_list = 8; uint32 guid = 15; repeated uint32 tag_list = 3; uint32 controller_id = 7; } message GCGZone { repeated uint32 card_list = 4; } message GCGWaitingCharacter { uint32 card_id = 2; uint32 cond_count = 14; } message GCGPlayerField { map modify_zone_map = 2; uint32 cur_waiting_index = 383; GCGZone summon_zone = 1; uint32 field_show_id = 8; uint32 card_back_show_id = 12; uint32 dice_count = 3; uint32 controller_id = 10; GCGZone on_stage_zone = 14; bool is_passed = 7; GCGZone character_zone = 5; uint32 on_stage_character_guid = 6; GCGZone assist_zone = 15; uint32 deck_card_num = 13; repeated GCGDiceSideType dice_side_list = 11; GCGZone hand_zone = 9; repeated GCGPVEIntention intention_list = 1192; repeated GCGWaitingCharacter waiting_list = 4; } message GCGPhase { GCGPhaseType phase_type = 5; map allow_controller_map = 6; } message GCGControllerShowInfo { ProfilePicture profile_picture = 11; string nick_name = 14; uint32 controller_id = 9; } message GCGPVEIntention { uint32 card_guid = 9; repeated uint32 skill_id_list = 7; } message GCGDuelChallenge { uint32 total_progress = 7; uint32 challenge_id = 10; uint32 cur_progress = 12; } message GCGDuel { GCGCostReviseInfo cost_revise = 10; GCGGameBusinessType business_type = 14; repeated GCGCard history_card_list = 121; uint32 operation_seq = 1210; uint32 game_id = 11; uint32 game_type = 2; repeated GCGCard card_list = 9; uint32 server_seq = 3; repeated GCGMessagePack history_msg_pack_list = 796; uint32 round = 15; repeated GCGPlayerField field_list = 7; uint32 controller_id = 13; GCGPhase phase = 8; repeated uint32 card_id_list = 4; repeated GCGPVEIntention intetion_list = 1; repeated uint32 forbid_finish_challenge_list = 647; repeated GCGDuelChallenge challenge_list = 5; uint32 cur_controller_id = 12; repeated GCGControllerShowInfo show_info_list = 6; } message GCGOperationReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7107; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 op_seq = 2; uint32 redirect_uid = 7; GCGOperation op = 15; } message GCGOperationRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7600; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 8; uint32 op_seq = 4; } message GCGMessagePackNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7516; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated GCGMessagePack msg_pack_list = 11; uint32 server_seq = 5; } message GCGAskDuelReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7237; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } } message GCGAskDuelRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7869; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 3; GCGDuel duel = 13; } message GCGPlayerBriefData { map card_face_map = 8; string nick_name = 9; ProfilePicture profile_picture = 12; repeated uint32 card_id_list = 3; uint32 controller_id = 5; uint32 uid = 10; } message GCGGameBriefData { uint32 game_id = 14; uint32 game_uid = 9; GCGGameBusinessType business_type = 13; uint32 verify_code = 5; repeated GCGPlayerBriefData player_brief_list = 12; } message GCGGameBriefDataNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7539; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } bool is_new_game = 11; GCGGameBriefData gcg_brief_data = 10; } message GCGInitFinishReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7684; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } } message GCGInitFinishRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7433; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 2; } message GCGHeartBeatNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7224; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 server_seq = 6; } message GCGSkillPreviewHpInfo { GCGSkillHpChangeType change_type = 4; uint32 hp_change_value = 13; } message GCGSkillPreviewReactionInfo { uint32 source_element = 13; uint32 target_element = 1; } message GCGSkillPreviewElementReactionInfo { repeated uint32 fresh_list = 8; repeated uint32 source_list = 2; repeated GCGSkillPreviewReactionInfo reaction_list = 14; } message GCGSkillPreviewCardInfo { uint32 controller_id = 3; uint32 owner_card_guid = 11; GCGZoneType zone_type = 14; uint32 card_id = 13; uint32 card_guid = 6; } message GCGSkillPreviewOnstageChangeInfo { uint32 target_onstage_card_guid = 6; uint32 source_onstage_card_guid = 15; } message GCGSkillPreviewTokenInfo { uint32 token_type = 3; uint32 after_value = 12; uint32 before_value = 15; } message GCGSkillPreviewTokenChangeInfo { repeated GCGSkillPreviewTokenInfo token_change_list = 14; } message GCGSkillPreviewExtraInfo { repeated GCGSkillPreviewCardInfo fail_added_when_full_list = 14; repeated GCGSkillPreviewCardInfo refresh_card_when_exist_list = 6; } message GCGSkillPreviewInfo { map card_token_change_map = 3; map reaction_info_map = 5; map hp_info_map = 8; repeated GCGSkillPreviewCardInfo add_card_list = 11; GCGSkillPreviewExtraInfo extra_info = 10; uint32 skill_id = 6; repeated GCGSkillPreviewOnstageChangeInfo change_onstage_character_list = 9; repeated GCGSkillPreviewCardInfo rm_card_list = 12; } message GCGChangeOnstageInfo { uint32 card_guid = 6; bool is_quick = 7; GCGSkillPreviewInfo change_onstage_preview_info = 12; } message GCGSkillPreviewPlayCardInfo { uint32 target_card_guid = 9; uint32 hand_card_guid = 15; GCGSkillPreviewInfo play_card_info = 6; } message GCGSkillPreviewNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7503; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 controller_id = 15; repeated GCGSkillPreviewPlayCardInfo play_card_list = 11; repeated GCGSkillPreviewInfo skill_preview_list = 9; repeated GCGChangeOnstageInfo change_onstage_preview_list = 1; uint32 onstage_card_guid = 5; } message GCGSkillPreviewAskReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7509; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } } message GCGSkillPreviewAskRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7409; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 1; } message GCGChallengeUpdateNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7268; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 server_seq = 12; GCGDuelChallenge challenge = 13; } message GCGBackToDuelReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7729; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } bool is_back = 14; } message GCGBackToDuelRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7416; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 1; } message GCGDebugReplayNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7932; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } string json_str = 9; } message GCGGameMaxNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7666; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } } message GCGGameCreateFailReasonNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7239; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } enum GCGGameCreateReason { REASON_NONE = 0; REASON_GAME_MAX = 1; REASON_CLIENT_VERSION_NOT_LASTEST = 2; REASON_RESOURCE_NOT_COMPLETE = 3; REASON_TIMEOUT = 4; } GCGGameCreateReason reason = 15; } message GCGDSDeckData { repeated uint32 card_list = 1; uint32 card_back_id = 15; repeated uint32 character_card_list = 10; string name = 5; uint32 id = 3; fixed32 create_time = 13; bool is_valid = 4; uint32 field_id = 7; } message GCGDSCardData { uint32 card_id = 14; uint32 face_type = 6; uint32 num = 12; repeated uint32 unlock_face_type_list = 9; repeated uint32 proficiency_reward_taken_idx_list = 7; uint32 proficiency = 8; } message GCGDSDataNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7122; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated GCGDSDeckData deck_list = 4; repeated uint32 unlock_card_back_id_list = 5; repeated uint32 unlock_field_id_list = 6; uint32 cur_deck_id = 10; repeated GCGDSCardData card_list = 3; repeated uint32 unlock_deck_id_list = 1; } message GCGDSCardBackUnlockNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7265; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 card_back_id = 6; } message GCGDSFieldUnlockNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7333; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 field_id = 1; } message GCGDSCardFaceUnlockNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7049; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 card_id = 13; uint32 face_type = 1; } message GCGDSCardNumChangeNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7358; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 card_id = 4; uint32 num = 10; } message GCGDSChangeCardFaceReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7169; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 face_type = 6; uint32 card_id = 3; } message GCGDSChangeCardFaceRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7331; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 face_type = 8; uint32 card_id = 4; int32 retcode = 9; } message GCGDSChangeCardBackReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7292; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 deck_id = 10; uint32 card_back_id = 12; } message GCGDSChangeCardBackRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7044; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 15; uint32 card_back_id = 6; uint32 deck_id = 5; } message GCGDSChangeFieldReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7541; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 field_id = 6; uint32 deck_id = 11; } message GCGDSChangeFieldRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7444; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 1; uint32 field_id = 3; uint32 deck_id = 2; } message GCGDSChangeDeckNameReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7432; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 deck_id = 13; string name = 7; } message GCGDSChangeDeckNameRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7916; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 deck_id = 13; int32 retcode = 14; string name = 1; } message GCGDSDeckSaveReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7104; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 deck_id = 1; repeated uint32 card_list = 4; repeated uint32 character_card_list = 9; string name = 14; } message GCGDSDeckSaveRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7269; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } fixed32 create_time = 14; uint32 deck_id = 11; int32 retcode = 8; bool is_valid = 4; } message GCGDSChangeCurDeckReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7131; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 deck_id = 3; } message GCGDSChangeCurDeckRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7301; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 8; uint32 deck_id = 14; } message GCGDSCurDeckChangeNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7796; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 deck_id = 6; } message GCGDSDeleteDeckReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7988; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 deck_id = 15; } message GCGDSDeleteDeckRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7524; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 14; uint32 deck_id = 7; } message GCGDSDeckUnlockNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7732; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 deck_id = 15; } message GCGDSCardProficiencyNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7680; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 proficiency = 2; uint32 card_id = 12; } message GCGDSDeckUpdateNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7305; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 deck_id = 6; bool is_valid = 12; } message GCGDSCardFaceUpdateNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7851; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 card_id = 14; uint32 face_type = 15; } message GCGDSTakeCardProficiencyRewardReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7581; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 reward_index = 7; uint32 card_id = 14; } message GCGDSTakeCardProficiencyRewardRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7889; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 8; uint32 reward_index = 10; uint32 card_id = 7; } message GCGDSBanCardNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7839; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated uint32 card_list = 4; } message GCGTCTavernInfoNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7011; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } bool is_last_duel_win = 14; uint32 level_id = 11; bool is_owner_in_duel = 5; uint32 point_id = 3; uint32 avatar_id = 12; uint32 character_id = 7; uint32 element_type = 10; } message GCGTCInviteReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7922; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 level_id = 3; uint32 character_id = 6; } message GCGTCInviteRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7328; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 character_id = 12; int32 retcode = 5; } message GCGTCTavernChallengeData { repeated uint32 unlock_level_id_list = 1; uint32 character_id = 8; } message GCGTCTavernChallengeDataNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7294; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated GCGTCTavernChallengeData tavern_challenge_list = 13; } message GCGTCTavernChallengeUpdateNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7184; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } GCGTCTavernChallengeData tavern_challenge = 5; } message GCGGrowthLevelNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7736; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 exp = 7; uint32 level = 11; } message GCGGrowthLevelRewardNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7477; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated uint32 level_reward_taken_list = 8; } message GCGGrowthLevelTakeRewardReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7051; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 level = 4; } message GCGGrowthLevelTakeRewardRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7670; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 level = 1; int32 retcode = 13; } message GCGInviteGuestBattleReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7783; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 uid = 11; } message GCGInviteGuestBattleRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7251; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } int32 retcode = 3; uint32 confirm_end_time = 2; uint32 punish_end_time = 9; uint32 uid = 11; } message GCGInviteBattleNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7692; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 confirm_end_time = 10; } message GCGApplyInviteBattleReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7730; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } bool is_agree = 9; } message GCGApplyInviteBattleRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7304; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 punish_end_time = 7; int32 retcode = 5; } message GCGApplyInviteBattleNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7820; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } bool is_agree = 14; int32 retcode = 6; } message GCGWorldPlayerGCGStateReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7206; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } } message GCGPlayerGCGState { bool is_reasouce_complete = 7; bool is_gcg_state_open = 5; uint32 uid = 2; } message GCGWorldPlayerGCGStateRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7136; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated GCGPlayerGCGState player_state = 12; int32 retcode = 10; } message GCGSettleNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7769; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } bool is_win = 13; uint32 game_id = 7; GCGEndReason reason = 3; GCGGameBusinessType business_type = 2; repeated uint32 finished_challenge_id_list = 6; uint32 win_controller_id = 15; repeated uint32 forbid_finish_challenge_list = 12; repeated ItemParam reward_item_list = 9; } message GCGResourceStateNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7876; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } bool is_complete = 5; } message GCGClientSettleReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7506; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } } message GCGClientSettleRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7105; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 close_time = 4; int32 retcode = 1; } message GCGSettleOptionReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7124; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } GCGSettleOption option = 5; } message GCGSettleOptionRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7735; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } GCGSettleOption option = 13; int32 retcode = 14; } message GCGBasicDataNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7319; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } uint32 level = 9; uint32 exp = 4; repeated uint32 level_reward_taken_list = 12; } message GCGTavernNpcInfo { uint32 id = 6; uint32 level_id = 10; uint32 scene_point_id = 3; } message GCGTavernNpcInfoNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7290; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated GCGTavernNpcInfo week_npc_list = 1; GCGTavernNpcInfo character_npc = 5; repeated GCGTavernNpcInfo const_npc_list = 15; } message GCGStartChallengeReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7595; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } GCGLevelType level_type = 5; uint32 config_id = 13; uint32 level_id = 12; } message GCGStartChallengeRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7763; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } GCGLevelType level_type = 12; int32 retcode = 15; uint32 config_id = 6; uint32 level_id = 1; } message GCGWeekChallengeInfo { uint32 npc_id = 4; bool is_finished = 7; uint32 unlock_time = 1; } message GCGWeekChallengeInfoNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7615; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated GCGWeekChallengeInfo challenge_info_list = 15; uint32 next_refresh_time = 7; bool is_notify_npc_change = 9; } message GCGStartChallengeByCheckRewardReq { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7778; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; IS_ALLOW_CLIENT = 1; } uint32 level_id = 9; uint32 config_id = 13; GCGLevelType level_type = 5; } message GCGStartChallengeByCheckRewardRsp { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7619; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } GCGLevelType level_type = 11; uint32 level_id = 2; int32 retcode = 4; repeated uint32 exceeded_item_list = 1; uint32 config_id = 10; repeated uint32 exceeded_item_type_list = 14; } message GCGLevelData { repeated uint32 finished_challenge_id_list = 10; uint32 level_id = 9; } message GCGBossChallengeData { uint32 id = 9; repeated uint32 unlock_level_id_list = 14; } message GCGLevelChallengeNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7055; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated GCGBossChallengeData unlock_boss_challenge_list = 3; repeated uint32 unlock_world_challenge_list = 8; repeated GCGLevelData level_list = 10; } message GCGLevelChallengeFinishNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7629; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated uint32 finished_challenge_id_list = 10; uint32 level_id = 15; } message GCGWorldChallengeUnlockNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7204; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated uint32 unlock_id_list = 8; } message GCGBossChallengeUpdateNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7073; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } GCGBossChallengeData boss_challenge = 11; } message GCGLevelChallengeDeleteNotify { enum CmdId { option allow_alias = true; NONE = 0; CMD_ID = 7648; ENET_CHANNEL_ID = 0; ENET_IS_RELIABLE = 1; } repeated uint32 level_id_list = 13; }