// Code generated by protoc-gen-go. DO NOT EDIT.
// source: model/warrior.proto

package proto

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// 英雄信息
type WarriorDetailInfo struct {
	Id              string                      `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	No              int32                       `protobuf:"zigzag32,2,opt,name=no,proto3" json:"no,omitempty"`
	Grade           int32                       `protobuf:"zigzag32,3,opt,name=grade,proto3" json:"grade,omitempty"`
	ProfessionNo    int32                       `protobuf:"zigzag32,4,opt,name=profession_no,json=professionNo,proto3" json:"profession_no,omitempty"`
	TotalPower      int64                       `protobuf:"zigzag64,5,opt,name=total_power,json=totalPower,proto3" json:"total_power,omitempty"`
	PowerRanking    int32                       `protobuf:"zigzag32,6,opt,name=power_ranking,json=powerRanking,proto3" json:"power_ranking,omitempty"`
	Talent          *WarriorTalentInfo          `protobuf:"bytes,7,opt,name=talent,proto3" json:"talent,omitempty"`
	Knighthood      *WarriorKnighthoodInfo      `protobuf:"bytes,8,opt,name=knighthood,proto3" json:"knighthood,omitempty"`
	Weapon          *WarriorWeaponInfo          `protobuf:"bytes,9,opt,name=weapon,proto3" json:"weapon,omitempty"`
	BattleAttr      *WarriorBattleAttrInfo      `protobuf:"bytes,11,opt,name=battle_attr,json=battleAttr,proto3" json:"battle_attr,omitempty"`
	Star            *WarriorStarInfo            `protobuf:"bytes,13,opt,name=star,proto3" json:"star,omitempty"`
	RelationShips   []*RelationShipInfo         `protobuf:"bytes,14,rep,name=relation_ships,json=relationShips,proto3" json:"relation_ships,omitempty"`
	LieutenantGroup *WarriorLieutenantGroupInfo `protobuf:"bytes,15,opt,name=LieutenantGroup,proto3" json:"LieutenantGroup,omitempty"`
	StableAddition  int64                       `protobuf:"zigzag64,16,opt,name=stable_addition,json=stableAddition,proto3" json:"stable_addition,omitempty"`
	//  sint64 stronghold_power_addition = 17; //据点加成（v0.9.05 移除）
	//  sint64 profession_halo_addition = 18; //职业(升星)光环固定加成（v0.9.01 移除）
	SeriesHaloPowerPercentAddition int64                  `protobuf:"zigzag64,19,opt,name=series_halo_power_percent_addition,json=seriesHaloPowerPercentAddition,proto3" json:"series_halo_power_percent_addition,omitempty"`
	HandbookHaloPowerFixedAddition int64                  `protobuf:"zigzag64,20,opt,name=handbook_halo_power_fixed_addition,json=handbookHaloPowerFixedAddition,proto3" json:"handbook_halo_power_fixed_addition,omitempty"`
	Strengthen                     *WarriorStrengthenInfo `protobuf:"bytes,21,opt,name=strengthen,proto3" json:"strengthen,omitempty"`
	Exp                            int32                  `protobuf:"zigzag32,22,opt,name=exp,proto3" json:"exp,omitempty"`
	// WarriorQuality quality = 23; //品质（v1.0.01 移除）
	HandbookHaloPowerPercentAddition int64             `protobuf:"zigzag64,25,opt,name=handbook_halo_power_percent_addition,json=handbookHaloPowerPercentAddition,proto3" json:"handbook_halo_power_percent_addition,omitempty"`
	BeastPowerFixedAddition          int64             `protobuf:"zigzag64,26,opt,name=beast_power_fixed_addition,json=beastPowerFixedAddition,proto3" json:"beast_power_fixed_addition,omitempty"`
	BeastPowerPercentAddition        int64             `protobuf:"zigzag64,27,opt,name=beast_power_percent_addition,json=beastPowerPercentAddition,proto3" json:"beast_power_percent_addition,omitempty"`
	Skill                            *WarriorSkillInfo `protobuf:"bytes,28,opt,name=skill,proto3" json:"skill,omitempty"`
	ScenePower                       map[int32]int64   `protobuf:"bytes,29,rep,name=scene_power,json=scenePower,proto3" json:"scene_power,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"zigzag64,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral             struct{}          `json:"-"`
	XXX_unrecognized                 []byte            `json:"-"`
	XXX_sizecache                    int32             `json:"-"`
}

func (m *WarriorDetailInfo) Reset()         { *m = WarriorDetailInfo{} }
func (m *WarriorDetailInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorDetailInfo) ProtoMessage()    {}
func (*WarriorDetailInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{0}
}

func (m *WarriorDetailInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorDetailInfo.Unmarshal(m, b)
}
func (m *WarriorDetailInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorDetailInfo.Marshal(b, m, deterministic)
}
func (m *WarriorDetailInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorDetailInfo.Merge(m, src)
}
func (m *WarriorDetailInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorDetailInfo.Size(m)
}
func (m *WarriorDetailInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorDetailInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorDetailInfo proto.InternalMessageInfo

func (m *WarriorDetailInfo) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *WarriorDetailInfo) GetNo() int32 {
	if m != nil {
		return m.No
	}
	return 0
}

func (m *WarriorDetailInfo) GetGrade() int32 {
	if m != nil {
		return m.Grade
	}
	return 0
}

func (m *WarriorDetailInfo) GetProfessionNo() int32 {
	if m != nil {
		return m.ProfessionNo
	}
	return 0
}

func (m *WarriorDetailInfo) GetTotalPower() int64 {
	if m != nil {
		return m.TotalPower
	}
	return 0
}

func (m *WarriorDetailInfo) GetPowerRanking() int32 {
	if m != nil {
		return m.PowerRanking
	}
	return 0
}

func (m *WarriorDetailInfo) GetTalent() *WarriorTalentInfo {
	if m != nil {
		return m.Talent
	}
	return nil
}

func (m *WarriorDetailInfo) GetKnighthood() *WarriorKnighthoodInfo {
	if m != nil {
		return m.Knighthood
	}
	return nil
}

func (m *WarriorDetailInfo) GetWeapon() *WarriorWeaponInfo {
	if m != nil {
		return m.Weapon
	}
	return nil
}

func (m *WarriorDetailInfo) GetBattleAttr() *WarriorBattleAttrInfo {
	if m != nil {
		return m.BattleAttr
	}
	return nil
}

func (m *WarriorDetailInfo) GetStar() *WarriorStarInfo {
	if m != nil {
		return m.Star
	}
	return nil
}

func (m *WarriorDetailInfo) GetRelationShips() []*RelationShipInfo {
	if m != nil {
		return m.RelationShips
	}
	return nil
}

func (m *WarriorDetailInfo) GetLieutenantGroup() *WarriorLieutenantGroupInfo {
	if m != nil {
		return m.LieutenantGroup
	}
	return nil
}

func (m *WarriorDetailInfo) GetStableAddition() int64 {
	if m != nil {
		return m.StableAddition
	}
	return 0
}

func (m *WarriorDetailInfo) GetSeriesHaloPowerPercentAddition() int64 {
	if m != nil {
		return m.SeriesHaloPowerPercentAddition
	}
	return 0
}

func (m *WarriorDetailInfo) GetHandbookHaloPowerFixedAddition() int64 {
	if m != nil {
		return m.HandbookHaloPowerFixedAddition
	}
	return 0
}

func (m *WarriorDetailInfo) GetStrengthen() *WarriorStrengthenInfo {
	if m != nil {
		return m.Strengthen
	}
	return nil
}

func (m *WarriorDetailInfo) GetExp() int32 {
	if m != nil {
		return m.Exp
	}
	return 0
}

func (m *WarriorDetailInfo) GetHandbookHaloPowerPercentAddition() int64 {
	if m != nil {
		return m.HandbookHaloPowerPercentAddition
	}
	return 0
}

func (m *WarriorDetailInfo) GetBeastPowerFixedAddition() int64 {
	if m != nil {
		return m.BeastPowerFixedAddition
	}
	return 0
}

func (m *WarriorDetailInfo) GetBeastPowerPercentAddition() int64 {
	if m != nil {
		return m.BeastPowerPercentAddition
	}
	return 0
}

func (m *WarriorDetailInfo) GetSkill() *WarriorSkillInfo {
	if m != nil {
		return m.Skill
	}
	return nil
}

func (m *WarriorDetailInfo) GetScenePower() map[int32]int64 {
	if m != nil {
		return m.ScenePower
	}
	return nil
}

//副将队伍信息
type WarriorLieutenantGroupInfo struct {
	Seat                 int32                    `protobuf:"zigzag32,1,opt,name=seat,proto3" json:"seat,omitempty"`
	PowerAddition        int64                    `protobuf:"zigzag64,2,opt,name=power_addition,json=powerAddition,proto3" json:"power_addition,omitempty"`
	Lieutenant           []*WarriorLieutenantInfo `protobuf:"bytes,3,rep,name=lieutenant,proto3" json:"lieutenant,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *WarriorLieutenantGroupInfo) Reset()         { *m = WarriorLieutenantGroupInfo{} }
func (m *WarriorLieutenantGroupInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorLieutenantGroupInfo) ProtoMessage()    {}
func (*WarriorLieutenantGroupInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{1}
}

func (m *WarriorLieutenantGroupInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorLieutenantGroupInfo.Unmarshal(m, b)
}
func (m *WarriorLieutenantGroupInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorLieutenantGroupInfo.Marshal(b, m, deterministic)
}
func (m *WarriorLieutenantGroupInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorLieutenantGroupInfo.Merge(m, src)
}
func (m *WarriorLieutenantGroupInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorLieutenantGroupInfo.Size(m)
}
func (m *WarriorLieutenantGroupInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorLieutenantGroupInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorLieutenantGroupInfo proto.InternalMessageInfo

func (m *WarriorLieutenantGroupInfo) GetSeat() int32 {
	if m != nil {
		return m.Seat
	}
	return 0
}

func (m *WarriorLieutenantGroupInfo) GetPowerAddition() int64 {
	if m != nil {
		return m.PowerAddition
	}
	return 0
}

func (m *WarriorLieutenantGroupInfo) GetLieutenant() []*WarriorLieutenantInfo {
	if m != nil {
		return m.Lieutenant
	}
	return nil
}

//副将信息
type WarriorLieutenantInfo struct {
	OffspringId   string `protobuf:"bytes,1,opt,name=offspring_id,json=offspringId,proto3" json:"offspring_id,omitempty"`
	PowerAddition int64  `protobuf:"zigzag64,2,opt,name=power_addition,json=powerAddition,proto3" json:"power_addition,omitempty"`
	//  sint64 power_ext_addition = 3; // 额外实力加成（v0.9.01 移除）
	SeatIndex            int32    `protobuf:"zigzag32,4,opt,name=seat_index,json=seatIndex,proto3" json:"seat_index,omitempty"`
	SeatNo               int32    `protobuf:"zigzag32,5,opt,name=seat_no,json=seatNo,proto3" json:"seat_no,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorLieutenantInfo) Reset()         { *m = WarriorLieutenantInfo{} }
func (m *WarriorLieutenantInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorLieutenantInfo) ProtoMessage()    {}
func (*WarriorLieutenantInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{2}
}

func (m *WarriorLieutenantInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorLieutenantInfo.Unmarshal(m, b)
}
func (m *WarriorLieutenantInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorLieutenantInfo.Marshal(b, m, deterministic)
}
func (m *WarriorLieutenantInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorLieutenantInfo.Merge(m, src)
}
func (m *WarriorLieutenantInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorLieutenantInfo.Size(m)
}
func (m *WarriorLieutenantInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorLieutenantInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorLieutenantInfo proto.InternalMessageInfo

func (m *WarriorLieutenantInfo) GetOffspringId() string {
	if m != nil {
		return m.OffspringId
	}
	return ""
}

func (m *WarriorLieutenantInfo) GetPowerAddition() int64 {
	if m != nil {
		return m.PowerAddition
	}
	return 0
}

func (m *WarriorLieutenantInfo) GetSeatIndex() int32 {
	if m != nil {
		return m.SeatIndex
	}
	return 0
}

func (m *WarriorLieutenantInfo) GetSeatNo() int32 {
	if m != nil {
		return m.SeatNo
	}
	return 0
}

//排名信息
type WarriorRankingInfo struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	PowerRanking         int32    `protobuf:"zigzag32,2,opt,name=power_ranking,json=powerRanking,proto3" json:"power_ranking,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorRankingInfo) Reset()         { *m = WarriorRankingInfo{} }
func (m *WarriorRankingInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorRankingInfo) ProtoMessage()    {}
func (*WarriorRankingInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{3}
}

func (m *WarriorRankingInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorRankingInfo.Unmarshal(m, b)
}
func (m *WarriorRankingInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorRankingInfo.Marshal(b, m, deterministic)
}
func (m *WarriorRankingInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorRankingInfo.Merge(m, src)
}
func (m *WarriorRankingInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorRankingInfo.Size(m)
}
func (m *WarriorRankingInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorRankingInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorRankingInfo proto.InternalMessageInfo

func (m *WarriorRankingInfo) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *WarriorRankingInfo) GetPowerRanking() int32 {
	if m != nil {
		return m.PowerRanking
	}
	return 0
}

// 英雄天赋信息
type WarriorTalentInfo struct {
	TalentBasePower int64 `protobuf:"zigzag64,1,opt,name=talent_base_power,json=talentBasePower,proto3" json:"talent_base_power,omitempty"`
	TotalTalent     int32 `protobuf:"zigzag32,2,opt,name=total_talent,json=totalTalent,proto3" json:"total_talent,omitempty"`
	BaseTalentLimit int32 `protobuf:"zigzag32,3,opt,name=base_talent_limit,json=baseTalentLimit,proto3" json:"base_talent_limit,omitempty"`
	BaseTalent      int32 `protobuf:"zigzag32,4,opt,name=base_talent,json=baseTalent,proto3" json:"base_talent,omitempty"`
	PropTalent      int32 `protobuf:"zigzag32,5,opt,name=prop_talent,json=propTalent,proto3" json:"prop_talent,omitempty"`
	ExpTalent       int32 `protobuf:"zigzag32,6,opt,name=exp_talent,json=expTalent,proto3" json:"exp_talent,omitempty"`
	// sint32 extra_talent_addition = 7; //额外天赋加成（v1.0.01移除）
	BreakNum             int32    `protobuf:"zigzag32,8,opt,name=break_num,json=breakNum,proto3" json:"break_num,omitempty"`
	TalentExp            int32    `protobuf:"zigzag32,9,opt,name=talent_exp,json=talentExp,proto3" json:"talent_exp,omitempty"`
	StrengthTalent       int32    `protobuf:"zigzag32,10,opt,name=strength_talent,json=strengthTalent,proto3" json:"strength_talent,omitempty"`
	SkillTalent          int32    `protobuf:"zigzag32,11,opt,name=skill_talent,json=skillTalent,proto3" json:"skill_talent,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorTalentInfo) Reset()         { *m = WarriorTalentInfo{} }
func (m *WarriorTalentInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorTalentInfo) ProtoMessage()    {}
func (*WarriorTalentInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{4}
}

func (m *WarriorTalentInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorTalentInfo.Unmarshal(m, b)
}
func (m *WarriorTalentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorTalentInfo.Marshal(b, m, deterministic)
}
func (m *WarriorTalentInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorTalentInfo.Merge(m, src)
}
func (m *WarriorTalentInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorTalentInfo.Size(m)
}
func (m *WarriorTalentInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorTalentInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorTalentInfo proto.InternalMessageInfo

func (m *WarriorTalentInfo) GetTalentBasePower() int64 {
	if m != nil {
		return m.TalentBasePower
	}
	return 0
}

func (m *WarriorTalentInfo) GetTotalTalent() int32 {
	if m != nil {
		return m.TotalTalent
	}
	return 0
}

func (m *WarriorTalentInfo) GetBaseTalentLimit() int32 {
	if m != nil {
		return m.BaseTalentLimit
	}
	return 0
}

func (m *WarriorTalentInfo) GetBaseTalent() int32 {
	if m != nil {
		return m.BaseTalent
	}
	return 0
}

func (m *WarriorTalentInfo) GetPropTalent() int32 {
	if m != nil {
		return m.PropTalent
	}
	return 0
}

func (m *WarriorTalentInfo) GetExpTalent() int32 {
	if m != nil {
		return m.ExpTalent
	}
	return 0
}

func (m *WarriorTalentInfo) GetBreakNum() int32 {
	if m != nil {
		return m.BreakNum
	}
	return 0
}

func (m *WarriorTalentInfo) GetTalentExp() int32 {
	if m != nil {
		return m.TalentExp
	}
	return 0
}

func (m *WarriorTalentInfo) GetStrengthTalent() int32 {
	if m != nil {
		return m.StrengthTalent
	}
	return 0
}

func (m *WarriorTalentInfo) GetSkillTalent() int32 {
	if m != nil {
		return m.SkillTalent
	}
	return 0
}

//星级信息
type WarriorStarInfo struct {
	StarLevel            int32    `protobuf:"varint,1,opt,name=star_level,json=starLevel,proto3" json:"star_level,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorStarInfo) Reset()         { *m = WarriorStarInfo{} }
func (m *WarriorStarInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorStarInfo) ProtoMessage()    {}
func (*WarriorStarInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{5}
}

func (m *WarriorStarInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorStarInfo.Unmarshal(m, b)
}
func (m *WarriorStarInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorStarInfo.Marshal(b, m, deterministic)
}
func (m *WarriorStarInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorStarInfo.Merge(m, src)
}
func (m *WarriorStarInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorStarInfo.Size(m)
}
func (m *WarriorStarInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorStarInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorStarInfo proto.InternalMessageInfo

func (m *WarriorStarInfo) GetStarLevel() int32 {
	if m != nil {
		return m.StarLevel
	}
	return 0
}

// 英雄爵位信息
type WarriorKnighthoodInfo struct {
	KnighthoodNo            int32    `protobuf:"zigzag32,1,opt,name=knighthood_no,json=knighthoodNo,proto3" json:"knighthood_no,omitempty"`
	KnighthoodPowerAddition int64    `protobuf:"zigzag64,2,opt,name=knighthood_power_addition,json=knighthoodPowerAddition,proto3" json:"knighthood_power_addition,omitempty"`
	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
	XXX_unrecognized        []byte   `json:"-"`
	XXX_sizecache           int32    `json:"-"`
}

func (m *WarriorKnighthoodInfo) Reset()         { *m = WarriorKnighthoodInfo{} }
func (m *WarriorKnighthoodInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorKnighthoodInfo) ProtoMessage()    {}
func (*WarriorKnighthoodInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{6}
}

func (m *WarriorKnighthoodInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorKnighthoodInfo.Unmarshal(m, b)
}
func (m *WarriorKnighthoodInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorKnighthoodInfo.Marshal(b, m, deterministic)
}
func (m *WarriorKnighthoodInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorKnighthoodInfo.Merge(m, src)
}
func (m *WarriorKnighthoodInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorKnighthoodInfo.Size(m)
}
func (m *WarriorKnighthoodInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorKnighthoodInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorKnighthoodInfo proto.InternalMessageInfo

func (m *WarriorKnighthoodInfo) GetKnighthoodNo() int32 {
	if m != nil {
		return m.KnighthoodNo
	}
	return 0
}

func (m *WarriorKnighthoodInfo) GetKnighthoodPowerAddition() int64 {
	if m != nil {
		return m.KnighthoodPowerAddition
	}
	return 0
}

// 英雄武器信息
type WarriorWeaponInfo struct {
	WeaponId             string   `protobuf:"bytes,1,opt,name=weapon_id,json=weaponId,proto3" json:"weapon_id,omitempty"`
	WeaponPowerAddition  int64    `protobuf:"zigzag64,2,opt,name=weapon_power_addition,json=weaponPowerAddition,proto3" json:"weapon_power_addition,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorWeaponInfo) Reset()         { *m = WarriorWeaponInfo{} }
func (m *WarriorWeaponInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorWeaponInfo) ProtoMessage()    {}
func (*WarriorWeaponInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{7}
}

func (m *WarriorWeaponInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorWeaponInfo.Unmarshal(m, b)
}
func (m *WarriorWeaponInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorWeaponInfo.Marshal(b, m, deterministic)
}
func (m *WarriorWeaponInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorWeaponInfo.Merge(m, src)
}
func (m *WarriorWeaponInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorWeaponInfo.Size(m)
}
func (m *WarriorWeaponInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorWeaponInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorWeaponInfo proto.InternalMessageInfo

func (m *WarriorWeaponInfo) GetWeaponId() string {
	if m != nil {
		return m.WeaponId
	}
	return ""
}

func (m *WarriorWeaponInfo) GetWeaponPowerAddition() int64 {
	if m != nil {
		return m.WeaponPowerAddition
	}
	return 0
}

// 战斗属性信息
type WarriorBattleAttrInfo struct {
	BaseAttack           int32    `protobuf:"zigzag32,1,opt,name=base_attack,json=baseAttack,proto3" json:"base_attack,omitempty"`
	BaseHp               int64    `protobuf:"zigzag64,2,opt,name=base_hp,json=baseHp,proto3" json:"base_hp,omitempty"`
	CriticalRate         int32    `protobuf:"zigzag32,3,opt,name=critical_rate,json=criticalRate,proto3" json:"critical_rate,omitempty"`
	CriticalDamage       int32    `protobuf:"zigzag32,4,opt,name=critical_damage,json=criticalDamage,proto3" json:"critical_damage,omitempty"`
	AttackSpeed          int32    `protobuf:"zigzag32,5,opt,name=attack_speed,json=attackSpeed,proto3" json:"attack_speed,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorBattleAttrInfo) Reset()         { *m = WarriorBattleAttrInfo{} }
func (m *WarriorBattleAttrInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorBattleAttrInfo) ProtoMessage()    {}
func (*WarriorBattleAttrInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{8}
}

func (m *WarriorBattleAttrInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorBattleAttrInfo.Unmarshal(m, b)
}
func (m *WarriorBattleAttrInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorBattleAttrInfo.Marshal(b, m, deterministic)
}
func (m *WarriorBattleAttrInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorBattleAttrInfo.Merge(m, src)
}
func (m *WarriorBattleAttrInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorBattleAttrInfo.Size(m)
}
func (m *WarriorBattleAttrInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorBattleAttrInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorBattleAttrInfo proto.InternalMessageInfo

func (m *WarriorBattleAttrInfo) GetBaseAttack() int32 {
	if m != nil {
		return m.BaseAttack
	}
	return 0
}

func (m *WarriorBattleAttrInfo) GetBaseHp() int64 {
	if m != nil {
		return m.BaseHp
	}
	return 0
}

func (m *WarriorBattleAttrInfo) GetCriticalRate() int32 {
	if m != nil {
		return m.CriticalRate
	}
	return 0
}

func (m *WarriorBattleAttrInfo) GetCriticalDamage() int32 {
	if m != nil {
		return m.CriticalDamage
	}
	return 0
}

func (m *WarriorBattleAttrInfo) GetAttackSpeed() int32 {
	if m != nil {
		return m.AttackSpeed
	}
	return 0
}

// 英雄实力排榜信息
type WarriorRankItemInfo struct {
	RoleId               string   `protobuf:"bytes,1,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"`
	RoleName             string   `protobuf:"bytes,2,opt,name=role_name,json=roleName,proto3" json:"role_name,omitempty"`
	RankIndex            int32    `protobuf:"zigzag32,3,opt,name=rank_index,json=rankIndex,proto3" json:"rank_index,omitempty"`
	WarriorPower         int64    `protobuf:"zigzag64,4,opt,name=warrior_power,json=warriorPower,proto3" json:"warrior_power,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorRankItemInfo) Reset()         { *m = WarriorRankItemInfo{} }
func (m *WarriorRankItemInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorRankItemInfo) ProtoMessage()    {}
func (*WarriorRankItemInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{9}
}

func (m *WarriorRankItemInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorRankItemInfo.Unmarshal(m, b)
}
func (m *WarriorRankItemInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorRankItemInfo.Marshal(b, m, deterministic)
}
func (m *WarriorRankItemInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorRankItemInfo.Merge(m, src)
}
func (m *WarriorRankItemInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorRankItemInfo.Size(m)
}
func (m *WarriorRankItemInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorRankItemInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorRankItemInfo proto.InternalMessageInfo

func (m *WarriorRankItemInfo) GetRoleId() string {
	if m != nil {
		return m.RoleId
	}
	return ""
}

func (m *WarriorRankItemInfo) GetRoleName() string {
	if m != nil {
		return m.RoleName
	}
	return ""
}

func (m *WarriorRankItemInfo) GetRankIndex() int32 {
	if m != nil {
		return m.RankIndex
	}
	return 0
}

func (m *WarriorRankItemInfo) GetWarriorPower() int64 {
	if m != nil {
		return m.WarriorPower
	}
	return 0
}

//羁绊信息
type RelationShipInfo struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	PowerFixedAddition   int64    `protobuf:"zigzag64,2,opt,name=power_fixed_addition,json=powerFixedAddition,proto3" json:"power_fixed_addition,omitempty"`
	PowerPercentAddition int64    `protobuf:"zigzag64,3,opt,name=power_percent_addition,json=powerPercentAddition,proto3" json:"power_percent_addition,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RelationShipInfo) Reset()         { *m = RelationShipInfo{} }
func (m *RelationShipInfo) String() string { return proto.CompactTextString(m) }
func (*RelationShipInfo) ProtoMessage()    {}
func (*RelationShipInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{10}
}

func (m *RelationShipInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RelationShipInfo.Unmarshal(m, b)
}
func (m *RelationShipInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RelationShipInfo.Marshal(b, m, deterministic)
}
func (m *RelationShipInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RelationShipInfo.Merge(m, src)
}
func (m *RelationShipInfo) XXX_Size() int {
	return xxx_messageInfo_RelationShipInfo.Size(m)
}
func (m *RelationShipInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_RelationShipInfo.DiscardUnknown(m)
}

var xxx_messageInfo_RelationShipInfo proto.InternalMessageInfo

func (m *RelationShipInfo) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *RelationShipInfo) GetPowerFixedAddition() int64 {
	if m != nil {
		return m.PowerFixedAddition
	}
	return 0
}

func (m *RelationShipInfo) GetPowerPercentAddition() int64 {
	if m != nil {
		return m.PowerPercentAddition
	}
	return 0
}

//光环
type WarriorHaloInfo struct {
	HaloNo               int32    `protobuf:"zigzag32,1,opt,name=halo_no,json=haloNo,proto3" json:"halo_no,omitempty"`
	HaloLv               int32    `protobuf:"zigzag32,2,opt,name=halo_lv,json=haloLv,proto3" json:"halo_lv,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorHaloInfo) Reset()         { *m = WarriorHaloInfo{} }
func (m *WarriorHaloInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorHaloInfo) ProtoMessage()    {}
func (*WarriorHaloInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{11}
}

func (m *WarriorHaloInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorHaloInfo.Unmarshal(m, b)
}
func (m *WarriorHaloInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorHaloInfo.Marshal(b, m, deterministic)
}
func (m *WarriorHaloInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorHaloInfo.Merge(m, src)
}
func (m *WarriorHaloInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorHaloInfo.Size(m)
}
func (m *WarriorHaloInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorHaloInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorHaloInfo proto.InternalMessageInfo

func (m *WarriorHaloInfo) GetHaloNo() int32 {
	if m != nil {
		return m.HaloNo
	}
	return 0
}

func (m *WarriorHaloInfo) GetHaloLv() int32 {
	if m != nil {
		return m.HaloLv
	}
	return 0
}

//强化
type WarriorStrengthenInfo struct {
	Times                int32    `protobuf:"zigzag32,1,opt,name=times,proto3" json:"times,omitempty"`
	PowerPercentAddition int64    `protobuf:"zigzag64,2,opt,name=power_percent_addition,json=powerPercentAddition,proto3" json:"power_percent_addition,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorStrengthenInfo) Reset()         { *m = WarriorStrengthenInfo{} }
func (m *WarriorStrengthenInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorStrengthenInfo) ProtoMessage()    {}
func (*WarriorStrengthenInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{12}
}

func (m *WarriorStrengthenInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorStrengthenInfo.Unmarshal(m, b)
}
func (m *WarriorStrengthenInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorStrengthenInfo.Marshal(b, m, deterministic)
}
func (m *WarriorStrengthenInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorStrengthenInfo.Merge(m, src)
}
func (m *WarriorStrengthenInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorStrengthenInfo.Size(m)
}
func (m *WarriorStrengthenInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorStrengthenInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorStrengthenInfo proto.InternalMessageInfo

func (m *WarriorStrengthenInfo) GetTimes() int32 {
	if m != nil {
		return m.Times
	}
	return 0
}

func (m *WarriorStrengthenInfo) GetPowerPercentAddition() int64 {
	if m != nil {
		return m.PowerPercentAddition
	}
	return 0
}

//品质
type WarriorQuality struct {
	PowerPercentAddition int64    `protobuf:"zigzag64,1,opt,name=power_percent_addition,json=powerPercentAddition,proto3" json:"power_percent_addition,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorQuality) Reset()         { *m = WarriorQuality{} }
func (m *WarriorQuality) String() string { return proto.CompactTextString(m) }
func (*WarriorQuality) ProtoMessage()    {}
func (*WarriorQuality) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{13}
}

func (m *WarriorQuality) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorQuality.Unmarshal(m, b)
}
func (m *WarriorQuality) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorQuality.Marshal(b, m, deterministic)
}
func (m *WarriorQuality) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorQuality.Merge(m, src)
}
func (m *WarriorQuality) XXX_Size() int {
	return xxx_messageInfo_WarriorQuality.Size(m)
}
func (m *WarriorQuality) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorQuality.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorQuality proto.InternalMessageInfo

func (m *WarriorQuality) GetPowerPercentAddition() int64 {
	if m != nil {
		return m.PowerPercentAddition
	}
	return 0
}

// 英雄技能
type WarriorSkillInfo struct {
	Skills               []*WarriorSkillInfo_Skill `protobuf:"bytes,1,rep,name=skills,proto3" json:"skills,omitempty"`
	SkillTypeAdditions   []*SkillTypeAddition      `protobuf:"bytes,2,rep,name=skill_type_additions,json=skillTypeAdditions,proto3" json:"skill_type_additions,omitempty"`
	PowerFixedAddition   int64                     `protobuf:"zigzag64,3,opt,name=power_fixed_addition,json=powerFixedAddition,proto3" json:"power_fixed_addition,omitempty"`
	PowerPercentAddition int64                     `protobuf:"zigzag64,4,opt,name=power_percent_addition,json=powerPercentAddition,proto3" json:"power_percent_addition,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

func (m *WarriorSkillInfo) Reset()         { *m = WarriorSkillInfo{} }
func (m *WarriorSkillInfo) String() string { return proto.CompactTextString(m) }
func (*WarriorSkillInfo) ProtoMessage()    {}
func (*WarriorSkillInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{14}
}

func (m *WarriorSkillInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorSkillInfo.Unmarshal(m, b)
}
func (m *WarriorSkillInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorSkillInfo.Marshal(b, m, deterministic)
}
func (m *WarriorSkillInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorSkillInfo.Merge(m, src)
}
func (m *WarriorSkillInfo) XXX_Size() int {
	return xxx_messageInfo_WarriorSkillInfo.Size(m)
}
func (m *WarriorSkillInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorSkillInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorSkillInfo proto.InternalMessageInfo

func (m *WarriorSkillInfo) GetSkills() []*WarriorSkillInfo_Skill {
	if m != nil {
		return m.Skills
	}
	return nil
}

func (m *WarriorSkillInfo) GetSkillTypeAdditions() []*SkillTypeAddition {
	if m != nil {
		return m.SkillTypeAdditions
	}
	return nil
}

func (m *WarriorSkillInfo) GetPowerFixedAddition() int64 {
	if m != nil {
		return m.PowerFixedAddition
	}
	return 0
}

func (m *WarriorSkillInfo) GetPowerPercentAddition() int64 {
	if m != nil {
		return m.PowerPercentAddition
	}
	return 0
}

type WarriorSkillInfo_Skill struct {
	SkillNo              int32    `protobuf:"zigzag32,1,opt,name=skill_no,json=skillNo,proto3" json:"skill_no,omitempty"`
	Level                int32    `protobuf:"zigzag32,2,opt,name=level,proto3" json:"level,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *WarriorSkillInfo_Skill) Reset()         { *m = WarriorSkillInfo_Skill{} }
func (m *WarriorSkillInfo_Skill) String() string { return proto.CompactTextString(m) }
func (*WarriorSkillInfo_Skill) ProtoMessage()    {}
func (*WarriorSkillInfo_Skill) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{14, 0}
}

func (m *WarriorSkillInfo_Skill) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WarriorSkillInfo_Skill.Unmarshal(m, b)
}
func (m *WarriorSkillInfo_Skill) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WarriorSkillInfo_Skill.Marshal(b, m, deterministic)
}
func (m *WarriorSkillInfo_Skill) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WarriorSkillInfo_Skill.Merge(m, src)
}
func (m *WarriorSkillInfo_Skill) XXX_Size() int {
	return xxx_messageInfo_WarriorSkillInfo_Skill.Size(m)
}
func (m *WarriorSkillInfo_Skill) XXX_DiscardUnknown() {
	xxx_messageInfo_WarriorSkillInfo_Skill.DiscardUnknown(m)
}

var xxx_messageInfo_WarriorSkillInfo_Skill proto.InternalMessageInfo

func (m *WarriorSkillInfo_Skill) GetSkillNo() int32 {
	if m != nil {
		return m.SkillNo
	}
	return 0
}

func (m *WarriorSkillInfo_Skill) GetLevel() int32 {
	if m != nil {
		return m.Level
	}
	return 0
}

type SkillTypeAddition struct {
	SkillType            int32    `protobuf:"zigzag32,1,opt,name=skill_type,json=skillType,proto3" json:"skill_type,omitempty"`
	TotalAddition        int64    `protobuf:"zigzag64,2,opt,name=total_addition,json=totalAddition,proto3" json:"total_addition,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SkillTypeAddition) Reset()         { *m = SkillTypeAddition{} }
func (m *SkillTypeAddition) String() string { return proto.CompactTextString(m) }
func (*SkillTypeAddition) ProtoMessage()    {}
func (*SkillTypeAddition) Descriptor() ([]byte, []int) {
	return fileDescriptor_5200e77a03e8582c, []int{15}
}

func (m *SkillTypeAddition) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SkillTypeAddition.Unmarshal(m, b)
}
func (m *SkillTypeAddition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SkillTypeAddition.Marshal(b, m, deterministic)
}
func (m *SkillTypeAddition) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SkillTypeAddition.Merge(m, src)
}
func (m *SkillTypeAddition) XXX_Size() int {
	return xxx_messageInfo_SkillTypeAddition.Size(m)
}
func (m *SkillTypeAddition) XXX_DiscardUnknown() {
	xxx_messageInfo_SkillTypeAddition.DiscardUnknown(m)
}

var xxx_messageInfo_SkillTypeAddition proto.InternalMessageInfo

func (m *SkillTypeAddition) GetSkillType() int32 {
	if m != nil {
		return m.SkillType
	}
	return 0
}

func (m *SkillTypeAddition) GetTotalAddition() int64 {
	if m != nil {
		return m.TotalAddition
	}
	return 0
}

func init() {
	proto.RegisterType((*WarriorDetailInfo)(nil), "proto.WarriorDetailInfo")
	proto.RegisterMapType((map[int32]int64)(nil), "proto.WarriorDetailInfo.ScenePowerEntry")
	proto.RegisterType((*WarriorLieutenantGroupInfo)(nil), "proto.WarriorLieutenantGroupInfo")
	proto.RegisterType((*WarriorLieutenantInfo)(nil), "proto.WarriorLieutenantInfo")
	proto.RegisterType((*WarriorRankingInfo)(nil), "proto.WarriorRankingInfo")
	proto.RegisterType((*WarriorTalentInfo)(nil), "proto.WarriorTalentInfo")
	proto.RegisterType((*WarriorStarInfo)(nil), "proto.WarriorStarInfo")
	proto.RegisterType((*WarriorKnighthoodInfo)(nil), "proto.WarriorKnighthoodInfo")
	proto.RegisterType((*WarriorWeaponInfo)(nil), "proto.WarriorWeaponInfo")
	proto.RegisterType((*WarriorBattleAttrInfo)(nil), "proto.WarriorBattleAttrInfo")
	proto.RegisterType((*WarriorRankItemInfo)(nil), "proto.WarriorRankItemInfo")
	proto.RegisterType((*RelationShipInfo)(nil), "proto.RelationShipInfo")
	proto.RegisterType((*WarriorHaloInfo)(nil), "proto.WarriorHaloInfo")
	proto.RegisterType((*WarriorStrengthenInfo)(nil), "proto.WarriorStrengthenInfo")
	proto.RegisterType((*WarriorQuality)(nil), "proto.WarriorQuality")
	proto.RegisterType((*WarriorSkillInfo)(nil), "proto.WarriorSkillInfo")
	proto.RegisterType((*WarriorSkillInfo_Skill)(nil), "proto.WarriorSkillInfo.Skill")
	proto.RegisterType((*SkillTypeAddition)(nil), "proto.SkillTypeAddition")
}

func init() { proto.RegisterFile("model/warrior.proto", fileDescriptor_5200e77a03e8582c) }

var fileDescriptor_5200e77a03e8582c = []byte{
	// 1351 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x5f, 0x4f, 0x1b, 0x47,
	0x10, 0x97, 0x0d, 0x18, 0x3c, 0x06, 0x1b, 0x2f, 0x24, 0x1c, 0x04, 0x5a, 0xb8, 0xb4, 0x2a, 0x8a,
	0x14, 0x88, 0xd2, 0x56, 0x8a, 0xf2, 0xa7, 0x55, 0xd2, 0x24, 0x8d, 0x13, 0x64, 0xa5, 0x47, 0xa4,
	0xa8, 0x7d, 0xb1, 0xd6, 0xdc, 0x62, 0x9f, 0x7c, 0xbe, 0x3d, 0xdd, 0x2d, 0xc4, 0x7c, 0x85, 0xbe,
	0xf4, 0xa9, 0x0f, 0xfd, 0x24, 0x7d, 0xef, 0x87, 0xe9, 0x57, 0xe8, 0x6b, 0x35, 0x33, 0x7b, 0x77,
	0xfe, 0x07, 0xaa, 0xfa, 0x84, 0xf7, 0x37, 0xbf, 0xf9, 0xbb, 0xb3, 0x33, 0x07, 0x6c, 0x0c, 0xb5,
	0xaf, 0xc2, 0xe3, 0x4f, 0x32, 0x49, 0x02, 0x9d, 0x1c, 0xc5, 0x89, 0x36, 0x5a, 0x2c, 0xd1, 0x1f,
	0xf7, 0xef, 0x2a, 0x34, 0x3f, 0xb2, 0xe0, 0xa5, 0x32, 0x32, 0x08, 0x5b, 0xd1, 0xb9, 0x16, 0x75,
	0x28, 0x07, 0xbe, 0x53, 0xda, 0x2f, 0x1d, 0x56, 0xbd, 0x72, 0xe0, 0xe3, 0x39, 0xd2, 0x4e, 0x79,
	0xbf, 0x74, 0xd8, 0xf4, 0xca, 0x91, 0x16, 0x9b, 0xb0, 0xd4, 0x4b, 0xa4, 0xaf, 0x9c, 0x05, 0x82,
	0xf8, 0x20, 0xee, 0xc2, 0x5a, 0x9c, 0xe8, 0x73, 0x95, 0xa6, 0x81, 0x8e, 0x3a, 0x91, 0x76, 0x16,
	0x49, 0xba, 0x5a, 0x80, 0x6d, 0x2d, 0x3e, 0x87, 0x9a, 0xd1, 0x46, 0x86, 0x9d, 0x58, 0x7f, 0x52,
	0x89, 0xb3, 0xb4, 0x5f, 0x3a, 0x14, 0x1e, 0x10, 0xf4, 0x1e, 0x11, 0xb2, 0x82, 0x3f, 0x3a, 0x89,
	0x8c, 0x06, 0x41, 0xd4, 0x73, 0x2a, 0xd6, 0x0a, 0x82, 0x1e, 0x63, 0xe2, 0x01, 0x54, 0x8c, 0x0c,
	0x55, 0x64, 0x9c, 0xe5, 0xfd, 0xd2, 0x61, 0xed, 0xa1, 0xc3, 0x59, 0x1d, 0xd9, 0x54, 0x3e, 0x90,
	0x0c, 0x53, 0xf1, 0x2c, 0x4f, 0x3c, 0x05, 0x18, 0x44, 0x41, 0xaf, 0x6f, 0xfa, 0x5a, 0xfb, 0xce,
	0x0a, 0x69, 0xed, 0x4e, 0x6a, 0xbd, 0xcb, 0xe5, 0xa4, 0x39, 0xc6, 0x47, 0x7f, 0x9f, 0x94, 0x8c,
	0x75, 0xe4, 0x54, 0xe7, 0xf9, 0xfb, 0x48, 0x32, 0xf6, 0xc7, 0x3c, 0xf1, 0x0c, 0x6a, 0x5d, 0x69,
	0x4c, 0xa8, 0x3a, 0xd2, 0x98, 0xc4, 0xa9, 0xcd, 0x73, 0xf8, 0x82, 0x08, 0xcf, 0x8d, 0x49, 0xd8,
	0x61, 0x37, 0x3f, 0x8b, 0x7b, 0xb0, 0x98, 0x1a, 0x99, 0x38, 0x6b, 0xa4, 0x77, 0x7b, 0x52, 0xef,
	0xd4, 0x48, 0xd6, 0x20, 0x8e, 0xf8, 0x0e, 0xea, 0x89, 0x0a, 0xa5, 0xc1, 0xaa, 0xa7, 0xfd, 0x20,
	0x4e, 0x9d, 0xfa, 0xfe, 0xc2, 0x61, 0xed, 0xe1, 0x96, 0xd5, 0xf2, 0xac, 0xf0, 0xb4, 0x1f, 0xc4,
	0xa4, 0xb6, 0x96, 0x8c, 0x21, 0xa9, 0x78, 0x07, 0x8d, 0x93, 0x40, 0x5d, 0x18, 0x15, 0xc9, 0xc8,
	0xfc, 0x98, 0xe8, 0x8b, 0xd8, 0x69, 0x90, 0xdb, 0x83, 0x49, 0xb7, 0x53, 0x24, 0x32, 0x35, 0xad,
	0x29, 0xbe, 0x82, 0x46, 0x6a, 0x64, 0x17, 0xf3, 0xf6, 0xfd, 0x00, 0x9d, 0x38, 0xeb, 0x74, 0xc7,
	0x75, 0x86, 0x9f, 0x5b, 0x54, 0xbc, 0x05, 0x37, 0x55, 0x49, 0xa0, 0xd2, 0x4e, 0x5f, 0x86, 0x9a,
	0xdb, 0xa1, 0x13, 0xab, 0xe4, 0x4c, 0x45, 0xa6, 0xd0, 0xdd, 0x20, 0xdd, 0xcf, 0x98, 0xf9, 0x46,
	0x86, 0x9a, 0x9a, 0xe4, 0x3d, 0xd3, 0xc6, 0x6d, 0xf5, 0x65, 0xe4, 0x77, 0xb5, 0x1e, 0x8c, 0x5b,
	0x3b, 0x0f, 0x46, 0xca, 0x2f, 0x6c, 0x6d, 0xb2, 0xad, 0x8c, 0x99, 0x5b, 0x7b, 0x8d, 0xb4, 0xdc,
	0xd6, 0x53, 0x80, 0xd4, 0x24, 0x2a, 0xea, 0x99, 0xbe, 0x8a, 0x9c, 0x5b, 0xf3, 0xee, 0xed, 0x34,
	0x97, 0xf3, 0xbd, 0x15, 0x7c, 0xb1, 0x0e, 0x0b, 0x6a, 0x14, 0x3b, 0xb7, 0xa9, 0x67, 0xf1, 0xa7,
	0x68, 0xc3, 0x17, 0xf3, 0x62, 0x9b, 0xc9, 0x74, 0x9b, 0xa2, 0xdb, 0x9f, 0x89, 0x6e, 0x3a, 0xd7,
	0x27, 0xb0, 0xd3, 0x55, 0x32, 0x35, 0xf3, 0x73, 0xdc, 0x21, 0x2b, 0x5b, 0xc4, 0x98, 0x93, 0xdc,
	0xf7, 0xb0, 0x3b, 0xae, 0x3c, 0x13, 0xc4, 0x1d, 0x52, 0xdf, 0x2e, 0xd4, 0xa7, 0xbd, 0xdf, 0x87,
	0xa5, 0x74, 0x10, 0x84, 0xa1, 0xb3, 0x4b, 0x85, 0xd9, 0x9a, 0x2a, 0x0c, 0x8a, 0xa8, 0x26, 0xcc,
	0x12, 0x2d, 0xa8, 0xa5, 0x67, 0x2a, 0x52, 0xf6, 0xb5, 0xef, 0x51, 0x5f, 0x1e, 0x4e, 0x2a, 0x15,
	0x73, 0xe7, 0xe8, 0x14, 0xb9, 0xe4, 0xf7, 0x55, 0x64, 0x92, 0x2b, 0x0f, 0xd2, 0x1c, 0xd8, 0x79,
	0x06, 0x8d, 0x29, 0x31, 0x16, 0x7b, 0xa0, 0xae, 0x68, 0x4e, 0x35, 0x3d, 0xfc, 0x89, 0x83, 0xe9,
	0x52, 0x86, 0x17, 0x8a, 0x66, 0x95, 0xf0, 0xf8, 0xf0, 0xb8, 0xfc, 0xa8, 0xe4, 0xfe, 0x5e, 0x82,
	0x9d, 0xeb, 0xfb, 0x58, 0x08, 0x58, 0x4c, 0x95, 0x34, 0xd6, 0x16, 0xfd, 0x16, 0x5f, 0x42, 0x9d,
	0xcb, 0x94, 0x97, 0x87, 0xad, 0xf2, 0x7c, 0x1a, 0x6f, 0x98, 0x30, 0xb7, 0xe8, 0x2c, 0x50, 0x8a,
	0xbb, 0xd7, 0xbd, 0x1c, 0x6e, 0x98, 0x82, 0xef, 0xfe, 0x51, 0x82, 0x5b, 0x73, 0x59, 0xe2, 0x00,
	0x56, 0xf5, 0xf9, 0x79, 0x1a, 0x27, 0x41, 0xd4, 0xeb, 0xe4, 0xe3, 0xb8, 0x96, 0x63, 0x2d, 0xff,
	0xbf, 0x46, 0xb8, 0x07, 0x80, 0x09, 0x75, 0x82, 0xc8, 0x57, 0x23, 0x3b, 0x95, 0xab, 0x88, 0xb4,
	0x10, 0x10, 0x5b, 0xb0, 0x4c, 0xe2, 0x48, 0xd3, 0x38, 0x6e, 0x7a, 0x15, 0x3c, 0xb6, 0xb5, 0xdb,
	0x02, 0x61, 0x43, 0xb3, 0x73, 0x77, 0xee, 0x72, 0x98, 0x19, 0xd8, 0xe5, 0xd9, 0x81, 0xed, 0xfe,
	0x53, 0xce, 0xf7, 0x4c, 0x31, 0x9c, 0xc5, 0x3d, 0x68, 0xf2, 0x78, 0xee, 0x74, 0x65, 0x9a, 0x35,
	0x49, 0x89, 0x52, 0x68, 0xb0, 0xe0, 0x85, 0x4c, 0xf9, 0xc6, 0xb1, 0x1c, 0xbc, 0x38, 0xec, 0xe0,
	0x67, 0x2f, 0xbc, 0x4c, 0xd8, 0x24, 0x9a, 0x23, 0x3b, 0xd6, 0x66, 0x18, 0x0c, 0x03, 0x63, 0x57,
	0x54, 0x03, 0x05, 0x4c, 0x3b, 0x41, 0x18, 0xf7, 0xd0, 0x18, 0xd7, 0x16, 0x05, 0x0a, 0x16, 0x12,
	0xe2, 0x44, 0xc7, 0x19, 0x81, 0x2b, 0x03, 0x08, 0x59, 0xc2, 0x1e, 0x80, 0x1a, 0xe5, 0x72, 0xde,
	0x52, 0x55, 0x35, 0xca, 0xc4, 0x77, 0xa0, 0xda, 0x4d, 0x94, 0x1c, 0x74, 0xa2, 0x8b, 0x21, 0xed,
	0x9b, 0xa6, 0xb7, 0x42, 0x40, 0xfb, 0x62, 0x88, 0xba, 0x36, 0x48, 0x9c, 0x16, 0x55, 0xd6, 0x65,
	0xe4, 0xd5, 0xc8, 0x0e, 0x51, 0x9e, 0x29, 0x99, 0x7d, 0x20, 0x4e, 0x3d, 0x83, 0xad, 0x93, 0x03,
	0x58, 0xa5, 0x87, 0x96, 0xb1, 0x6a, 0x5c, 0x14, 0xc2, 0x98, 0xe2, 0x3e, 0x80, 0xc6, 0xd4, 0xda,
	0xa0, 0x7e, 0x30, 0x32, 0xe9, 0x84, 0xea, 0x52, 0x85, 0x54, 0xef, 0x25, 0xaf, 0x8a, 0xc8, 0x09,
	0x02, 0xee, 0x28, 0xef, 0xc8, 0xc9, 0x8d, 0x88, 0x37, 0x5d, 0xec, 0x44, 0x6c, 0x17, 0x7e, 0x2d,
	0xab, 0x05, 0xd8, 0xd6, 0xe2, 0x31, 0x6c, 0x8f, 0x91, 0xe6, 0xb6, 0xe7, 0x56, 0x41, 0x78, 0x3f,
	0xde, 0xa8, 0xae, 0x9f, 0x37, 0x49, 0xb1, 0x51, 0xb1, 0x90, 0xbc, 0x53, 0x8b, 0x47, 0xb0, 0xc2,
	0x40, 0xcb, 0x17, 0x0f, 0xe1, 0x96, 0x15, 0xce, 0xf5, 0xb4, 0xc1, 0xc2, 0x49, 0x2f, 0x7f, 0x15,
	0x4f, 0x6e, 0x72, 0x03, 0xe7, 0x4d, 0x21, 0x8d, 0x91, 0x67, 0x03, 0x9b, 0x1e, 0x35, 0xc5, 0x73,
	0x42, 0xf0, 0xa9, 0x10, 0xa1, 0x1f, 0x5b, 0x07, 0x15, 0x3c, 0xbe, 0x89, 0xb1, 0x34, 0x67, 0x49,
	0x60, 0x82, 0x33, 0x19, 0x76, 0x12, 0x69, 0xb2, 0x2f, 0xa3, 0xd5, 0x0c, 0xf4, 0xa4, 0x51, 0x78,
	0xad, 0x39, 0xc9, 0x97, 0x43, 0xd9, 0x53, 0xb6, 0xef, 0xea, 0x19, 0xfc, 0x92, 0x50, 0xbc, 0x56,
	0x0e, 0xa1, 0x93, 0xc6, 0x4a, 0xf9, 0xb6, 0xf9, 0x6a, 0x8c, 0x9d, 0x22, 0xe4, 0xfe, 0x56, 0x82,
	0x8d, 0xb1, 0xc7, 0xd9, 0x32, 0x6a, 0x48, 0x29, 0x6c, 0xc1, 0x72, 0xa2, 0x43, 0x55, 0xd4, 0xaa,
	0x82, 0xc7, 0x96, 0x8f, 0x65, 0x24, 0x41, 0x24, 0x87, 0x3c, 0x1e, 0xab, 0xde, 0x0a, 0x02, 0x6d,
	0x39, 0x54, 0xd8, 0x11, 0xf8, 0x7a, 0xed, 0x84, 0xe0, 0xd8, 0xab, 0x88, 0xf0, 0x84, 0xb8, 0x0b,
	0x6b, 0xf6, 0xeb, 0xd1, 0xbe, 0xd1, 0x45, 0x4a, 0x7e, 0xd5, 0x82, 0x54, 0x5e, 0xf7, 0xd7, 0x12,
	0xac, 0x4f, 0x7f, 0x6a, 0xcc, 0x0c, 0x8b, 0x07, 0xb0, 0x39, 0x77, 0x6f, 0x71, 0x35, 0x45, 0x3c,
	0xbb, 0xb2, 0xbe, 0x81, 0xdb, 0xd7, 0x2c, 0xab, 0x05, 0xd2, 0x61, 0x7b, 0x53, 0x7b, 0xca, 0xfd,
	0x21, 0xef, 0x7a, 0x5c, 0xa4, 0x59, 0x65, 0x68, 0xff, 0xe6, 0x7d, 0x5b, 0xc1, 0x63, 0xbb, 0x10,
	0x84, 0x97, 0x76, 0xa8, 0x90, 0xe0, 0xe4, 0xd2, 0x3d, 0xcb, 0xfb, 0x64, 0x72, 0xe3, 0xe3, 0x9a,
	0x31, 0xc1, 0x50, 0xa5, 0xd6, 0x10, 0x1f, 0x6e, 0x88, 0xb4, 0x7c, 0x43, 0xa4, 0xaf, 0xa1, 0x6e,
	0x9d, 0xfc, 0x74, 0x21, 0xc3, 0xc0, 0x5c, 0xdd, 0x60, 0xa7, 0x74, 0x83, 0x9d, 0x3f, 0xcb, 0xb0,
	0x3e, 0xbd, 0x86, 0xc5, 0xb7, 0x50, 0xa1, 0x59, 0x80, 0x91, 0xe2, 0x5e, 0xda, 0xbb, 0x66, 0x5f,
	0x1f, 0xd1, 0x2f, 0xcf, 0x92, 0xc5, 0x5b, 0xd8, 0xb4, 0x63, 0xe5, 0x2a, 0x2e, 0x3e, 0xe4, 0x52,
	0xa7, 0x4c, 0x46, 0xb2, 0x8f, 0x5f, 0xd2, 0xf9, 0x70, 0x15, 0xe7, 0xdf, 0x74, 0x9e, 0x48, 0xa7,
	0xa1, 0xf4, 0xda, 0x1b, 0x5f, 0xf8, 0x1f, 0x37, 0xbe, 0x78, 0x7d, 0xfe, 0x3b, 0x8f, 0x60, 0x89,
	0x02, 0x12, 0xdb, 0xb0, 0xc2, 0xc1, 0xe7, 0x17, 0xbd, 0x4c, 0xe7, 0x36, 0xdd, 0x1b, 0xcf, 0x3c,
	0xbe, 0x67, 0x3e, 0xb8, 0x3f, 0x43, 0x73, 0x26, 0x15, 0x9a, 0x91, 0x79, 0x09, 0xac, 0x9d, 0x6a,
	0x9e, 0x1e, 0x6e, 0x5e, 0xde, 0x46, 0xd3, 0x9b, 0x97, 0xd0, 0xcc, 0xca, 0x8b, 0xbb, 0xbf, 0x1c,
	0x5c, 0x06, 0xb8, 0x00, 0x65, 0x72, 0x4c, 0x45, 0x3b, 0xee, 0xa9, 0xe8, 0x7e, 0x4f, 0x1f, 0xd3,
	0xbf, 0x64, 0x4f, 0x08, 0xea, 0x56, 0xe8, 0xcf, 0xd7, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xbe,
	0x7b, 0xbe, 0x82, 0xa8, 0x0d, 0x00, 0x00,
}
