feat: 新增繁殖和融合查询命令
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

This commit is contained in:
xinian
2026-03-24 01:12:06 +08:00
committed by cnb
parent 133d15e392
commit 707142bd49
5 changed files with 91 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
package robot
import (
"blazing/common/data/xmlres"
"blazing/modules/config/service"
"strings"
zero "github.com/wdvxdr1123/ZeroBot"
)
func init() {
zero.OnCommand("繁殖").
Handle(func(ctx *zero.Ctx) {
var cdks []string
for _, v := range service.NewEggService().All() {
var buf strings.Builder
buf.WriteString("\n父亲")
for _, v := range v.FemalePetIDs {
buf.WriteString(xmlres.PetMAP[int(v)].DefName + "|")
}
buf.WriteString("母亲:")
for _, v := range v.MalePetIDs {
buf.WriteString(xmlres.PetMAP[int(v)].DefName + "|")
}
buf.WriteString("子代:")
for _, v := range v.OutputMons {
buf.WriteString(xmlres.PetMAP[int(v)].DefName + "|")
}
cdks = append(cdks, buf.String())
}
ctx.Send(strings.Join(cdks, "\n"))
})
}

View File

@@ -7,6 +7,7 @@ import (
"github.com/gogf/gf/v2/util/gconv"
zero "github.com/wdvxdr1123/ZeroBot"
"github.com/wdvxdr1123/ZeroBot/message"
)
func init() {
@@ -35,6 +36,7 @@ func init() {
}
ctx.Send(strings.Join(rets, "\n"))
ctx.SendChain(message.At(ctx.Event.Sender.ID), message.Reply(ctx.Event.MessageID), message.Text(strings.Join(rets, "\n")))
})
}

View File

@@ -0,0 +1,35 @@
package robot
import (
"blazing/common/data/xmlres"
"blazing/modules/config/service"
"strings"
"github.com/gogf/gf/v2/util/gconv"
zero "github.com/wdvxdr1123/ZeroBot"
)
func init() {
zero.OnCommand("融合").
Handle(func(ctx *zero.Ctx) {
var cdks []string
for _, v := range service.NewPetFusionService().All() {
var buf strings.Builder
buf.WriteString("\n主")
buf.WriteString(xmlres.PetMAP[int(v.MainPetID)].DefName + "|")
buf.WriteString("副:")
for _, v := range v.SubPetIDs {
buf.WriteString(xmlres.PetMAP[int(v)].DefName + "|")
}
buf.WriteString("结果:")
buf.WriteString(xmlres.PetMAP[int(v.ResultPetID)].DefName + "|")
buf.WriteString("概率:")
buf.WriteString(gconv.String(v.Probability))
cdks = append(cdks, buf.String())
}
ctx.Send(strings.Join(cdks, "\n"))
})
}

View File

@@ -56,3 +56,13 @@ func (s *EggService) GetResult(m, f, level uint32) (uint32, bool) {
return 0, false
}
func (s *EggService) All() []model.Egg {
//cacheKey := strings.Join([]string{fmt.Sprintf("%d", p1), fmt.Sprintf("%d", p2)}, ":")
m := dbm_enable(s.Model)
var pet []model.Egg //一个特性应该是唯一的,但是我们要获取默认随机特性
m.Scan(&pet)
return pet
}

View File

@@ -77,3 +77,10 @@ func (s *PetFusionService) def() []model.PetFusion {
// return ret.Interface().([]model.PetFusion)
}
func (s *PetFusionService) All() []model.PetFusion {
var pets []model.PetFusion
dbm_enable(s.Model).Where("is_default", 0).Scan(&pets)
return pets
}