feat(pet): 实现精灵融合功能并优化相关逻辑
新增精灵融合接口及处理逻辑,支持主副精灵融合生成新精灵,并消耗金币与材料。 同时调整了战斗技能选择流程、修复地图热度统计安全问题以及完善宠物删除机制。 - 添加 `PetFusion` 控制器方法实现融合核心逻辑 - 新增 `C2S_PetFusion` 和 `PetFusionInfo` 结构体用于通信 - 修正战斗中技能随机选取后立即返回的问题 - 修复太空站进入/离开时对地图热度的并发访问风险 -
This commit is contained in:
@@ -36,7 +36,7 @@ func (s *PetService) PetInfo_One_exec(cachetime uint32, t func(*model.PetEX)) {
|
||||
}
|
||||
tt.Data.CatchTime = tt.CatchTime
|
||||
t(&tt)
|
||||
_,err := m.OnConflict("catch_time").Update(tt)
|
||||
_, err := m.OnConflict("catch_time").Update(tt)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@@ -50,6 +50,11 @@ func (s *PetService) PetInfo_One(cachetime uint32) model.PetEX {
|
||||
tt.Data.CatchTime = tt.CatchTime
|
||||
return tt
|
||||
}
|
||||
func (s *PetService) Pet_del(cachetime uint32) {
|
||||
|
||||
cool.DBM(s.Model).Where("player_id", s.userid).Where("catch_time", cachetime).Delete()
|
||||
|
||||
}
|
||||
func (s *PetService) PetAdd(y model.PetInfo) {
|
||||
|
||||
for {
|
||||
|
||||
18
modules/blazing/service/re.go
Normal file
18
modules/blazing/service/re.go
Normal file
@@ -0,0 +1,18 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"blazing/cool"
|
||||
"blazing/modules/blazing/model"
|
||||
)
|
||||
|
||||
type FusionService struct {
|
||||
*cool.Service
|
||||
}
|
||||
|
||||
func NewFusionService() *FusionService {
|
||||
return &FusionService{
|
||||
&cool.Service{
|
||||
Model: model.NewPetFusionConfig(),
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user