syntax = "proto3";
package proto;

option go_package = "/csproto";

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

enum CHAR_BAG_TEAM_TYPE {
    CHAR_BAG_TEAM_TYPE_MAIN = 0;
    CHAR_BAG_TEAM_TYPE_TEMP = 1;
}
message CHAR_INFO {
    uint64 objid = 1;
    string templateid = 2;
    int32 level = 3;
    int32 exp = 4;
    map<int32, uint64> equip_col = 6;
    string normal_skill = 7;
    bool is_dead = 8;
    BATTLE_INFO battle_info = 9;
    SKILL_INFO skill_info = 10;
    map<string, int32> equip_suit = 11;
    uint64 weapon_id = 12;
    int64 own_time = 13;
    int32 equip_medicine_id = 14;
    uint32 potential_level = 15;
    TALENT talent = 16;
    BATTLE_MGR_INFO battle_mgr_info = 17;
    CHAR_TYPE char_type = 18;
    TRIAL_CHAR_DATA trial_data = 19;
    map<int32, string> potential_cg = 20;
}
message CS_CHAR_BAG_SET_TEAM {
    int32 team_index = 1;
    repeated uint64 char_team = 2;
    uint64 leader_id = 3;
}
message CS_CHAR_BAG_SET_CURR_TEAM_INDEX {
    int32 team_index = 1;
    uint64 leader_id = 2;
}
message CS_CHAR_BAG_SET_TEAM_NAME {
    int32 team_index = 1;
    string team_name = 2;
}
message CS_CHAR_BAG_TEAM_CHANGE_FINISH {
    uint64 team_change_token = 1;
}
message CS_CHAR_BAG_SET_TEAM_LEADER {
    CHAR_BAG_TEAM_TYPE team_type = 1;
    int32 team_index = 2;
    uint64 leaderid = 3;
}
message CS_CHAR_BAG_CLIENT_LOCAL_TEAM_REPORT {
    string reason = 1;
    repeated string team_member_template_ids = 2;
    string meta = 3;
    bool enter_local_team = 4;
}
message CS_CHAR_BAG_RELEASE_NPC_TEAMMATES_FROM_AI_CONTROL {
    string dungeon_id = 1;
    string npc_teammate_enter_action_id = 2;
    string new_leader_preset_id = 3;
    int32 env_type = 4;
    string env_id = 5;
    string new_leader_template_id = 6;
}
message SC_CHAR_BAG_REMOVE_TRIAL_CHARACTER {
    int32 scope_name = 1;
}
message SCD_CHAR_BAG_NPC_TEAMMATE {
    uint64 obj_id = 1;
    int32 team_index = 2;
}
message SC_CHAR_BAG_SET_TEAM {
    CHAR_BAG_TEAM_TYPE team_type = 1;
    int32 team_index = 2;
    repeated uint64 char_team = 3;
    int32 scope_name = 4;
    uint64 leader_id = 5;
}
message SC_CHAR_BAG_SET_NPC_TEAMMATES {
    CHAR_BAG_TEAM_TYPE team_type = 1;
    int32 team_index = 2;
    int32 scope_name = 3;
    repeated uint64 enter_npc_teammate_ids = 4;
    repeated uint64 leave_npc_teammate_ids = 5;
}
message CHAR_TEAM_MEMBER_INFO {
    string normal_skillid = 1;
}
message CHAR_TEAM_INFO {
    string team_name = 1;
    repeated uint64 char_team = 2;
    uint64 leaderid = 3;
}
message SC_SYNC_CHAR_BAG_INFO {
    repeated CHAR_INFO char_info = 1;
    repeated CHAR_TEAM_INFO team_info = 2;
    int32 curr_team_index = 3;
    uint32 max_char_team_member_count = 4;
    CHAR_TEAM_INFO temp_team_info = 5;
    CHAR_BAG_TEAM_TYPE team_type = 6;
    int32 scope_name = 10;
    bool is_scope_delete = 11;
}
message SC_CHAR_BAG_SET_CURR_TEAM_INDEX {
    int32 curr_team_index = 1;
    int32 scope_name = 2;
}
message SC_CHAR_BAG_SET_CURR_TEAM_TYPE {
    CHAR_BAG_TEAM_TYPE team_type = 1;
    int32 scope_name = 2;
}
message SC_CHAR_BAG_ADD_CHAR {
    CHAR_INFO char = 1;
    int32 scope_name = 2;
}
message SC_CHAR_BAG_SET_TEAM_NAME {
    int32 team_index = 1;
    string team_name = 2;
    int32 scope_name = 3;
}
message SC_CHAR_BAG_SET_TEAM_LEADER {
    CHAR_BAG_TEAM_TYPE team_type = 1;
    int32 team_index = 2;
    uint64 leaderid = 3;
    int32 scope_name = 4;
}
message SC_CHAR_BAG_SET_MAX_TEAM_MEMBER_COUNT {
    uint32 max_char_team_member_count = 1;
    int32 scope_name = 2;
}
message SC_CHAR_BAG_TEAM_LEADER_NOT_MATCH_NTF {
    CHAR_BAG_TEAM_TYPE team_type = 1;
    int32 team_index = 2;
    uint64 leaderid = 3;
    int32 scope_name = 4;
}
message SC_CHAR_BAG_DEL_CHAR {
    uint64 char_inst_id = 1;
    int32 scope_name = 2;
}
message SC_CHAR_BAG_ADD_CHAR_WITH_CONVERSION_NOTIFY {
    string char_template_id = 1;
    int32 scope_name = 2;
    bool is_converted = 3;
    string converted_item_id = 4;
    string converted_reward_id = 5;
    int32 source_reason = 6;
}
message PERSISTENT_BUFF_INFO {
    int32 item_num_id = 1;
    float duration = 2;
    repeated uint64 char_inst_ids = 3;
    string stacking_key = 4;
}
message SC_CHAR_BAG_SYNC_PERSISTENT_BUFFS {
    repeated PERSISTENT_BUFF_INFO buffs = 1;
}
