syntax = "proto3";
package proto;

option go_package = "/csproto";

import "common.proto";
import "options.proto";

message QUEST_OBJECTIVE_DETAIL {
    map<uint64, bool> hashValue = 2;
}
message QUEST_OBJECTIVE {
    string condition_id = 1;
    map<string, QUEST_OBJECTIVE_DETAIL> extra_details = 2;
    map<string, int32> values = 4;
    bool is_complete = 3;
    int32 description_index = 5;
}
message QUEST {
    string quest_id = 1;
    int32 quest_state = 2;
    repeated QUEST_OBJECTIVE quest_objectives = 4;
    bool is_pasued = 5;
}
message MISSION {
    string mission_id = 1;
    int32 mission_state = 2;
    int32 succeed_id = 3;
    map<int32, DYNAMIC_PARAMETER> properties = 4;
    int32 external_system_type = 5;
    string external_system_id = 6;
    int64 acceptTime = 7;
    bool is_pasued = 8;
}
message OBJECTIVE_VALUE_OP {
    string condition_id = 1;
    int32 value = 2;
    bool is_add = 3;
}
message SC_UPDATE_MISSION_PAUSE_STATE {
    string mission_id = 1;
    bool is_paused = 2;
}
message SC_UPDATE_QUEST_PAUSE_STATE {
    string quest_id = 1;
    bool is_paused = 2;
}
message CS_ACCEPT_MISSION {
    string mission_id = 1;
}
message CS_FAIL_MISSION {
    string mission_id = 1;
}
message CS_TRACK_MISSION {
    string mission_id = 1;
}
message CS_STOP_TRACKING_MISSION {
}
message CS_MISSION_EVENT_TRIGGER {
    string missionId = 1;
    string event_name = 2;
    map<string, DYNAMIC_PARAMETER> properties = 3;
}
message SC_MISSION_EVENT_TRIGGER {
    string missionId = 1;
    string event_name = 2;
}
message CS_UPDATE_QUEST_OBJECTIVE {
    string quest_id = 1;
    repeated OBJECTIVE_VALUE_OP objective_value_ops = 2;
}
message SC_UPDATE_MISSION_PROPERTY {
    string mission_id = 1;
    map<int32, DYNAMIC_PARAMETER> properties = 2;
}
message CS_MISSION_CLIENT_TRIGGER_DONE {
    string mission_id = 1;
    string scene_name = 2;
    string area_id = 3;
}
message CS_SET_NEW_MISSION_TAG_DONE {
    repeated NEW_MISSION_TAG new_mission_tags = 5;
}
message SC_SYNC_ALL_MISSION {
    string track_mission_id = 1;
    map<string, MISSION> missions = 2;
    map<string, QUEST> cur_quests = 3;
    string daily_mission_id = 4;
    repeated NEW_MISSION_TAG new_mission_tags = 5;
}
message NEW_MISSION_TAG {
    string mission_id = 1;
    string quest_id = 2;
}
message SC_DAILY_MISSION_INFO_UPDATE {
    string daily_mission_id = 1;
}
message SC_QUEST_STATE_UPDATE {
    string quest_id = 1;
    int32 quest_state = 2;
    bool b_rollback = 3;
    ROLE_BASE_INFO role_base_info = 10;
}
message SC_MISSION_STATE_UPDATE {
    string mission_id = 1;
    int32 mission_state = 2;
    int32 succeed_id = 3;
    map<int32, DYNAMIC_PARAMETER> properties = 4;
    int32 external_system_type = 5;
    string external_system_id = 6;
    int64 acceptTime = 7;
    ROLE_BASE_INFO role_base_info = 10;
}
message SC_QUEST_FAILED {
    string quest_id = 1;
}
message SC_MISSION_FAILED {
    string mission_id = 1;
}
message SC_MISSION_DELETED {
    string mission_id = 1;
}
message SC_TRACK_MISSION_CHANGE {
    string mission_id = 1;
}
message SC_QUEST_OBJECTIVES_UPDATE {
    string quest_id = 1;
    repeated QUEST_OBJECTIVE quest_objectives = 4;
}
message SC_QUEST_ROLLBACK {
    string quest_id = 1;
}
message SC_SCENE_TRIGGER_CLIENT_MISSION_EVENT {
    string mission_id = 1;
    string event_name = 2;
}
message SC_QUEST_DESCRIPTION_INDEX_UPDATE {
    string quest_id = 1;
    int32 objective_index = 2;
    int32 description_index = 3;
}
