package xmlres

import "github.com/ECUST-XX/xml"

// Move 表示怪物可学习的技能
type PetMoves struct {
	ID         int `xml:"ID,attr"`
	LearningLv int `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"`       //类型
	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          string         `xml:"CatchRate,attr"`
	YieldingEV         string         `xml:"YieldingEV,attr"`
	EvolvesFrom        int            `xml:"EvolvesFrom,attr"`
	EvolvesTo          int            `xml:"EvolvesTo,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"`
	PetClass           int            `xml:"PetClass,attr"`
	FormParam          float64        `xml:"FormParam,attr"`
	CharacterAttrParam int            `xml:"CharacterAttrParam,attr"`
	GradeParam         float64        `xml:"GradeParam,attr"`
	AddSeParam         int            `xml:"AddSeParam,attr"`
	LearnableMoves     LearnableMoves `xml:"LearnableMoves"`
}

// Monsters 表示所有怪物的集合
type Monsters struct {
	XMLName  xml.Name  `xml:"Monsters"`
	Monsters []PetInfo `xml:"Monster"`
}
