syntax = "proto3"; package proto; option go_package = "/csproto"; message CS_GAME_MECHANICS_REQ_ACTIVE { string game_id = 1; } message CS_GAME_MECHANICS_REQ_REWARD { string game_id = 1; int32 reward_multiplier = 2; bool without_stamina_reward = 3; bool use_stamina_reduce = 4; } message CS_GAME_MECHANICS_NTF_INST_PREPARE_FINISH { string game_id = 1; } message CS_GAME_MECHANICS_REQ_SET_CUSTOM_REWARD_INDEX { string game_id = 1; int32 custom_reward_index = 2; } message CS_GAME_MECHANICS_REQ_START { string game_id = 1; uint64 interactive_obj_id = 2; string npc_proxy_id = 3; uint64 npc_obj_id = 4; } message CS_GAME_MECHANICS_REQ_STOP { string cur_game_id = 1; } message CS_GAME_MECHANICS_CONFIRM_LEAVE_GAME_INST { string game_id = 1; } message SCD_GAME_MECHANICS_GROUP_RECORD { string game_group_id = 1; int64 last_enter_game_group_ts = 2; repeated int32 rewarded_type_list = 3; oneof extra_details { GAME_MECHANICS_WORLD_ENERGY_POINT_GROUP_RECORD world_energy_point = 20; } } message GAME_MECHANICS_WORLD_ENERGY_POINT_GROUP_RECORD { repeated string select_terms = 1; string unreceived_reward_game_id = 2; int32 daily_start_count = 3; } message SCD_GAME_MECHANICS_RECORD { string game_id = 1; int64 last_enter_gameTS = 2; int32 best_pass_time = 3; int64 best_passTS = 4; bool is_pass = 5; bool is_challenged = 6; bool is_active = 7; bool once_reward_got = 8; repeated int32 rewarded_id_list = 9; int32 custom_reward_index = 11; } message SCD_GAME_MECHANICS_UNLOCK_CONDITIONS { string id = 1; int32 unlock_state = 2; map unlock_condition_values = 3; map unlock_condition_flags = 4; } message SCD_GAME_MECHANICS_CATEGORY_UNLOCK_CONDITIONS { string id = 1; int32 unlock_state = 2; } message SC_GAME_MECHANICS_SYNC { repeated SCD_GAME_MECHANICS_UNLOCK_CONDITIONS game_unlock_conditions = 1; repeated SCD_GAME_MECHANICS_RECORD game_records = 2; repeated SCD_GAME_MECHANICS_CATEGORY_UNLOCK_CONDITIONS game_category_unlock_conditions = 3; repeated SCD_GAME_MECHANICS_GROUP_RECORD game_group_records = 4; } message SC_GAME_MECHANICS_SYNC_UNLOCK_CONDITION { SCD_GAME_MECHANICS_UNLOCK_CONDITIONS game_unlock_condition = 1; } message SC_GAME_MECHANICS_SYNC_CATEGORY_UNLOCK_CONDITION { SCD_GAME_MECHANICS_CATEGORY_UNLOCK_CONDITIONS game_category_unlock_condition = 1; } message SC_GAME_MECHANICS_MODIFY_GROUP_RECORDS { repeated SCD_GAME_MECHANICS_GROUP_RECORD game_group_records = 1; } message SC_GAME_MECHANICS_MODIFY_RECORDS { repeated SCD_GAME_MECHANICS_RECORD game_records = 1; } message SC_GAME_MECHANICS_SYNC_CHALLENGE_START { string game_id = 1; int64 challenge_start_ts = 2; int64 challenge_expire_ts = 3; int32 prepare_challenge_seconds = 4; } message SC_GAME_MECHANICS_SYNC_CHALLENGE_COMPLETE { string game_id = 1; bool is_pass = 2; int64 force_leave_ts = 3; int32 pass_time = 4; } message SC_GAME_MECHANICS_SYNC_COMPLETION_REWARD { string game_id = 1; bool is_pass = 2; int64 force_leave_ts = 3; int32 reward_multiplier = 4; bool without_stamina_reward = 5; bool use_stamina_reduce = 6; } message SC_GAME_MECHANICS_SYNC_ENTER_GAME_INST { string game_id = 1; bool is_hunter_mode = 2; string game_inst_id = 3; int64 game_unique_id = 4; } message SC_GAME_MECHANICS_SYNC_LEAVE_GAME_INST { string game_id = 1; string game_inst_id = 2; int64 game_unique_id = 3; } message SC_GAME_MECHANICS_SYNC_RESTART_GAME_INST { string game_id = 1; bool is_hunter_mode = 2; string game_inst_id = 3; int64 game_unique_id = 4; } message SCD_GAME_MECHANICS_INST_TIME_FREEZE { int32 time_key = 1; int64 total_freeze_time_in_ms = 2; } message SC_GAME_MECHANICS_MODIFY_INST_TIME_FREEZE { string game_id = 1; repeated SCD_GAME_MECHANICS_INST_TIME_FREEZE time_freeze_infos = 2; }