syntax = "proto3";
option go_package = ".;pb";
import "comm.proto";

enum HeroType {
  HeroTypeNil = 0;
  HeroTypeKongFu = 1;
}

message DBHero {
  string id = 1; //@go_tags(`bson:"_id"`) ID
  string uid = 2;
  string heroID = 3;      //@go_tags(`bson:"heroID"`)  英雄的配置表ID
  int32 star = 4;         // 英雄星级
  int32 lv = 5;           // 英雄等级
  int32 exp = 6;          // 英雄经验
  int32 juexingLv = 7;    //@go_tags(`bson:"juexingLv"`) 觉醒等级
  int32 captainSkill = 8; //@go_tags(`bson:"captainSkill"`) 队长技能
  repeated SkillData normalSkill = 9; //@go_tags(`bson:"normalSkill"`) 普通技能
  map<string, int32> property = 10; // 属性相关
  map<string, int32> addProperty = 11; //@go_tags(`bson:"addProperty"`) 附加属性相关
  int32 cardType = 12; //@go_tags(`bson:"cardType"`) 卡片类型(升星卡、经验卡、技能升级卡)
  int32 curSkin = 13; //@go_tags(`bson:"curSkin"`) 当前装备的皮肤ID
  repeated int32 skins = 14;    // 所有皮肤ID
  bool block = 15;              // 锁定
  repeated string equipID = 16; //@go_tags(`bson:"equipID"`) 装备 objID
  int32 sameCount = 17;  // @go_tags(`bson:"sameCount"`) 卡片叠加数量
  int32 suiteId = 18;    //@go_tags(`bson:"suiteId"`)  套装Id
  int32 suiteExtId = 19; // go_tags(`bson:"suiteExtId"`) 扩展套装Id
  map<string, int32> juexProperty = 20;   //@go_tags(`bson:"juexProperty"`) //hp
  HeroType status = 21;  //@go_tags(`bson:"status"`) 状态 (1 练功)
  int32 suite1Star = 22; //@go_tags(`bson:"suite1Star"`)
  int32 suite2Star = 23; //@go_tags(`bson:"suite2Star"`)
  int32 suite1Lv = 24;   //@go_tags(`bson:"suite1Lv"`)
  int32 suite2Lv = 25;   //@go_tags(`bson:"suite2Lv"`)
  map<string, int32> talentProperty = 26; //@go_tags(`bson:"talentProperty"`)  // 天赋属性
  repeated SkillData equipSkill = 27; //@go_tags(`bson:"equipSkill"`) 装备技能
  map<string, int32> horoscopeProperty = 28; //@go_tags(`bson:"horoscopeProperty"`) //星座属性加成
  int32 fulllvenr = 29;                      //@go_tags(`bson:"fulllvenr"`) //满级登记分组 武馆使用
  string kongfuUid = 30;  //@go_tags(`bson:"kongfuUid"`)// 英雄在谁家练功
  map<string, int32> fetters = 31; //@go_tags(`bson:"fetters"`) //羁绊属性加成
}


//英雄扩展数据
message DBHeroRecord {
  string id = 1;       //@go_tags(`bson:"_id"`) ID 主键id
  string uid = 2;      //@go_tags(`bson:"uid"`) 用户ID
  int32 star4 = 3;     // 4星保底
  int32 star5 = 4;     // 5星保底
  int64 mtime = 5;     // 修改时间
  int32 drawcount = 6; // 普通卡牌累计抽取次数
  map<string,int32> condition = 7; // key  recharge、login 等 value 累计抽卡次数 
  map<string,int32> star5Hero = 8;// 第totalcount 次抽到的5星英雄 key 英雄id
  int32 totalcount = 9;// 总的累计抽卡次数
  int32 daycount = 10; // 今天抽卡次数
  int32 onebuy = 11; // 单次购买次数
  int32 tenbuy = 12; // 十连购买次数
  int32 inevitable = 13;//第2-30次抽奖必出一个5星英雄
  int32 inevitable1 = 14;//第30-50次抽奖必出一个5星英雄
  map<int32,int32> race = 15; // key 阵营类型  value  count
}

// 英雄天赋系统
message DBHeroTalent {
  string id = 1;                //@go_tags(`bson:"_id"`) ID 主键id
  string uid = 2;               //@go_tags(`bson:"uid"`) 用户ID
  string heroId = 3;            // 英雄ID
  map<int32, int32> talent = 4; // 已经学习过的天赋
}