Files
bl/common/data/xmlres/pet.go

64 lines
2.9 KiB
Go
Raw Normal View History

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 {
2026-02-08 17:57:42 +08:00
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"`
}