``` feat(pet): 重构宠物繁殖系统,添加蛋孵化功能

This commit is contained in:
1
2026-01-20 22:08:36 +00:00
parent cf4660fbe0
commit 5ef922278a
68 changed files with 4467 additions and 584 deletions

View File

@@ -16,7 +16,7 @@ type PlayerPetSpecialEffect struct {
SeIdx uint32 `gorm:"not null;uniqueIndex:idx_se_idx;comment:'精灵特效索引XML中的Idx'" json:"se_idx"`
//Stat uint32 `gorm:"not null;default:0;comment:'精灵特效状态XML中的Stat'" json:"stat"`
Eid uint32 `gorm:"not null;index:idx_eid;comment:'精灵特效EidXML中的Eid'" json:"eid"`
Args []int `gorm:"type:json;comment:'精灵特效参数XML中的Args'" json:"args"`
Args []int `gorm:"type:jsonb;comment:'精灵特效参数XML中的Args'" json:"args"`
Desc string `gorm:"type:varchar(255);default:'';comment:'精灵特效描述XML中的Desc'" json:"desc"`
}

View File

@@ -19,8 +19,8 @@ type CDKConfig struct {
//cdk可兑换次数where不等于0
ExchangeRemainCount int64 `gorm:"not null;default:1;comment:'CDK剩余可兑换次数不能为0才允许兑换支持查询where !=0'" json:"exchange_remain_count" description:"剩余可兑换次数"`
ItemRewardIds []uint32 `gorm:"not null;type:json;default:'[]';comment:'绑定奖励物品ID数组关联item_gift表主键'" json:"item_reward_ids" description:"奖励物品数组"`
ElfRewardIds []uint32 `gorm:"not null;type:json;default:'[]';comment:'绑定奖励精灵ID数组关联config_pet_boss表主键'" json:"elf_reward_ids" description:"奖励精灵数组"`
ItemRewardIds []uint32 `gorm:"not null;type:jsonb;default:'[]';comment:'绑定奖励物品ID数组关联item_gift表主键'" json:"item_reward_ids" description:"奖励物品数组"`
ElfRewardIds []uint32 `gorm:"not null;type:jsonb;default:'[]';comment:'绑定奖励精灵ID数组关联config_pet_boss表主键'" json:"elf_reward_ids" description:"奖励精灵数组"`
TitleRewardIds uint32 `gorm:"not null;default:0;comment:'绑定奖励称号'" json:"title_reward_ids" description:"绑定奖励称号"`
ValidEndTime time.Time `gorm:"not null;comment:'CDK有效结束时间'" json:"valid_end_time" description:"有效结束时间"`

View File

@@ -0,0 +1,52 @@
package model
import (
"blazing/cool"
)
// 表名常量定义egg配置表
const (
TableNameeggConfig = "config_pet_egg" // egg配置表记录egg编号、可兑换次数、奖励配置等核心信息
)
// EggConfig egg核心配置模型含可兑换次数满足查询`where 可兑换次数 != 0`需求)
type EggConfig struct {
*cool.Model
//雄性
MalePet int32 `gorm:"not null;comment:'雄性宠物ID'" json:"male_pet"`
//雌性
FemalePet int32 `gorm:"not null;comment:'雌性宠物ID'" json:"female_pet"`
// 生成的精灵ID及对应概率
GeneratedPetIDs []GeneratedPetID `gorm:"type:jsonb;comment:'生成的精灵ID及概率配置'" json:"generated_pet_ids"`
Remark string `gorm:"size:512;default:'';comment:'egg备注'" json:"remark" description:"备注信息"`
//ItemGift []*ItemGift `gorm:"-" orm:"with:item_id=id"`
}
type GeneratedPetID struct {
PetID int32 `json:"pet_id" comment:"生成的精灵ID"`
Prob float64 `json:"prob" comment:"该精灵生成概率"`
}
// -------------------------- 核心配套方法(遵循项目规范)--------------------------
func (*EggConfig) TableName() string {
return TableNameeggConfig
}
func (*EggConfig) GroupName() string {
return "default"
}
func NeweggConfig() *EggConfig {
return &EggConfig{
Model: cool.NewModel(),
}
}
// -------------------------- 表结构自动同步 --------------------------
func init() {
cool.CreateTable(&EggConfig{})
}

View File

@@ -32,7 +32,7 @@ type TaskConfig struct {
IsAcceptable uint32 `gorm:"not null;default:1;comment:'是否可以被接受'" json:"is_acceptable" description:"是否可以被接受"`
// 奖励配置
ItemRewardIds []uint32 `gorm:"not null;type:json;default:'[]';comment:'绑定奖励物品ID数组关联item_gift表主键'" json:"item_reward_ids" description:"奖励物品数组"`
ItemRewardIds []uint32 `gorm:"not null;type:jsonb;default:'[]';comment:'绑定奖励物品ID数组关联item_gift表主键'" json:"item_reward_ids" description:"奖励物品数组"`
ElfRewardIds uint32 `gorm:"not null;default:0;comment:'绑定奖励精灵ID关联elf_gift表主键'" json:"elf_reward_ids" description:"绑定奖励精灵ID"`
//绑定奖励