feat(pet): 新增宠物功能和相关数据结构

- 新增宠物配置和自然属性配置的 XML 解析
- 实现宠物信息生成和属性计算逻辑
- 添加宠物数据库模型和相关服务
- 更新登录和任务完成逻辑,支持宠物相关操作
This commit is contained in:
2025-08-31 00:27:07 +08:00
parent 75e428f62e
commit 3668f3c5b9
11 changed files with 307 additions and 28 deletions

50
common/data/xmlres/pet.go Normal file
View File

@@ -0,0 +1,50 @@
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"`
}
// PetMM 表示一个怪物的信息
type PetMM 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 int `xml:"Atk,attr"`
Def int `xml:"Def,attr"`
SpAtk int `xml:"SpAtk,attr"`
SpDef int `xml:"SpDef,attr"`
Spd int `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 []PetMM `xml:"Monster"`
}