package xmlres import "github.com/ECUST-XX/xml" // Move 表示怪物可学习的技能 type PetMoves struct { ID uint32 `xml:"ID,attr"` LearningLv uint32 `xml:"LearningLv,attr"` } // LearnableMoves 包含怪物可学习的技能列表 type LearnableMoves struct { Moves []PetMoves `xml:"Move"` } // PetInfo 表示一个怪物的信息 type PetInfo struct { ID int `xml:"ID,attr"` DefName string `xml:"DefName,attr"` // 名字 Type int `xml:"Type,attr"` // 类型 IsLarge int `xml:"IsLarge,attr"` // 是否为大型怪物 GrowthType int `xml:"GrowthType,attr"` // 成长类型 HP int `xml:"HP,attr"` // 血量种族值 Atk uint32 `xml:"Atk,attr"` // 攻击种族值 Def uint32 `xml:"Def,attr"` // 防御种族值 SpAtk uint32 `xml:"SpAtk,attr"` // 特殊攻击种族值 SpDef uint32 `xml:"SpDef,attr"` // 特殊防御种族值 Spd uint32 `xml:"Spd,attr"` // 速度种族值 YieldingExp int `xml:"YieldingExp,attr"` // 击败后获得的经验值 CatchRate int `xml:"CatchRate,attr"` // 捕捉率 YieldingEV string `xml:"YieldingEV,attr"` // 努力值奖励,格式为"HP Atk Def SpAtk SpDef Spd" EvolvesFrom int `xml:"EvolvesFrom,attr"` // 进化前的怪物ID EvolvesTo uint32 `xml:"EvolvesTo,attr"` // 进化后的怪物ID EvolvFlag int `xml:"EvolvFlag,attr"` // EvolvingLv int `xml:"EvolvingLv,attr"` // 进化等级 FreeForbidden int `xml:"FreeForbidden,attr"` // 是否禁止放生 FuseMaster int `xml:"FuseMaster,attr"` // 是否可作为融合主素材 FuseSub int `xml:"FuseSub,attr"` // 是否可作为融合副素材 Gender int `xml:"Gender,attr"` // 性别 0-无性别 1-雄性 2-雌性 PetClass int `xml:"PetClass,attr"` // 宠物类别 FormParam float64 `xml:"FormParam,attr"` // 形态参数 CharacterAttrParam int `xml:"CharacterAttrParam,attr"` // 特性参数 GradeParam int `xml:"GradeParam,attr"` // 等级参数 AddSeParam int `xml:"AddSeParam,attr"` // 附加状态参数 Recycle int `xml:"Recycle,attr"` // 是否可回收 LearnableMoves LearnableMoves `xml:"LearnableMoves"` // 可学习的技能 } func (basic *PetInfo) GetBasic() uint32 { return basic.Atk + basic.Def + basic.SpAtk + basic.SpDef + basic.Spd + uint32(basic.HP) } // Monsters 表示所有怪物的集合 type Monsters struct { XMLName xml.Name `xml:"Monsters"` Monsters []PetInfo `xml:"Monster"` }