64 lines
3.3 KiB
Go
64 lines
3.3 KiB
Go
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"` //<!-- EvolvFlag: 0 - 直接进化(等级到了就进化); 1~49 - 触发进化,默认值: 0 (默认直接进化) -->
|
|
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"` // 可学习的技能
|
|
NaturalEnemy string `xml:"NaturalEnemy,attr"` //天敌
|
|
}
|
|
|
|
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"`
|
|
}
|