Files
bl/modules/blazing/model/PetFusion.go
昔念 bdfff799dd ```
feat(boss): 更新NewSeIdx_6.go中技能触发条件判断逻辑

将原本基于元素类型的判断改为基于技能分类的判断,
并修改了函数名Damage_Lock_ex为Action_end_ex以更准确反映其用途。
注释中也将“普通属性”修正为“物理攻击”,使描述更加清晰明确。
```
2025-11-29 23:31:37 +08:00

58 lines
2.7 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package model
import (
"blazing/cool"
)
const (
TableNamePetFusion = "pet_fusion" // 宠物融合配方表(主宠-副宠-材料-概率-融合结果)
)
// PetFusion 宠物融合配方模型(对应尼尔+闪皮+材料1-4=卡鲁/闪尼等融合规则)
type PetFusion struct {
*cool.Model // 嵌入通用Model包含ID/创建时间/更新时间等通用字段)
MainPetID int32 `gorm:"not null;comment:'主宠物ID尼尔'" json:"main_pet_id"`
SubPetID int32 `gorm:"not null;comment:'副宠物ID闪皮'" json:"sub_pet_id"`
// Material1 int32 `gorm:"not null;default:0;comment:'融合材料1ID无则填0'" json:"material1"`
// Material2 int32 `gorm:"not null;default:0;comment:'融合材料2ID无则填0'" json:"material2"`
// Material3 int32 `gorm:"not null;default:0;comment:'融合材料3ID无则填0'" json:"material3"`
// Material4 int32 `gorm:"not null;default:0;comment:'融合材料4ID无则填0'" json:"material4"`
Probability float32 `gorm:"not null;comment:'融合成功率百分比如80代表80%'" json:"probability"`
ResultPetID int32 `gorm:"not null;comment:'融合结果宠物ID卡鲁、闪尼'" json:"result_pet_id"`
Remark string `gorm:"type:varchar(255);default:'';comment:'融合配方备注(如:尼尔+闪皮=闪尼)'" json:"remark"`
IsEnable int32 `gorm:"not null;default:1;comment:'是否启用1:启用0:禁用)'" json:"is_enable"`
// 新增:是否默认配方(核心逻辑:所有匹配配方都不满足时,随机选择默认配方)
IsDefault int32 `gorm:"not null;default:0;comment:'是否默认配方1:默认配方0:非默认;所有配方不匹配时随机选默认配方)'" json:"is_default"`
}
// PetFusionEX 宠物融合配方扩展模型如需前端展示多维度数据时使用如ID转名称等
type PetFusionEX struct {
PetFusion
MainPetName string `json:"main_pet_name"` // 主宠名称(前端展示用)
SubPetName string `json:"sub_pet_name"` // 副宠名称(前端展示用)
ResultPetName string `json:"result_pet_name"` // 结果宠名称(前端展示用)
}
// TableName 指定PetFusion对应的数据库表名
func (*PetFusion) TableName() string {
return TableNamePetFusion
}
// GroupName 指定表所属的分组保持和MonsterRefresh一致
func (*PetFusion) GroupName() string {
return "default"
}
// NewPetFusion 创建一个新的PetFusion实例初始化通用Model
func NewPetFusion() *PetFusion {
return &PetFusion{
Model: cool.NewModel(),
}
}
// init 初始化表结构(程序启动时自动创建/同步表)
func init() {
cool.CreateTable(&PetFusion{})
}