syntax = "proto3";
option go_package = ".;pb";

message SkillData {
  int32 skillID = 1;
  int32 skillLv = 2;
}

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 resonateNum = 17;       //@go_tags(`bson:"resonateNum"`) 共鸣次数
  int32 distributionResonate = 18; //@go_tags(`bson:"distributionResonate"`) 分配的共鸣能量
  map<string, int32> energy = 19; // @go_tags(`bson:"energy"`)能量分配到哪里[hppro:0,atkpro:0,defpro:20]
  int32 sameCount = 20;  // @go_tags(`bson:"sameCount"`) 卡片叠加数量
  int32 suiteId = 21;    //@go_tags(`bson:"suiteId"`)  套装Id
  int32 suiteExtId = 22; // go_tags(`bson:"suiteExtId"`) 扩展套装Id
  bool isOverlying = 23; // go_tags(`bson:"isOverlying"`) 是否允许叠加 默认true
  map<string, int32> energyProperty = 24; //@go_tags(`bson:"energyProperty"`) 
  map<string, int32> juexProperty = 25; //@go_tags(`bson:"juexProperty"`) //hp
  HeroType status = 26; //@go_tags(`bson:"status"`) 状态 (1 练功)
  int32 suite1Star = 27; //@go_tags(`bson:"suite1Star"`) 
  int32 suite2Star = 28; //@go_tags(`bson:"suite2Star"`)
  int32 suite1Lv = 29; //@go_tags(`bson:"suite1Lv"`)
  int32 suite2Lv = 30; //@go_tags(`bson:"suite2Lv"`)
}

message Floor{ // 记录阵型保底数据
  int32 h4 = 1;  // 4星次数
  int32 h5 = 2;  // 5星次数
}

//英雄扩展数据
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;           // 普通卡牌累计抽取次数
}