Files
bl/modules/blazing/service/talk.go
昔念 ec14ab11c0 feat(fight): 优化战斗逻辑与奖励事件处理
- 在 `fight_boss.go` 中,调整了玩家挑战 Boss 的奖励事件注册逻辑,
  并在战斗结束后正确取消事件监听。
- 修改了多个技能效果文件(`effect_13.go`、`effect_38.go`、`effect_49.go`),
  增强状态持续时间计算和数据安全性。
- 更新 `player/done.go` 中的 `SPT` 方法签名以返回监听器实例。
- 调整数据库操作方法,将 `Update` 替换为 `Save` 以确保数据一致性。
- 修复菜单排序语法问题,统一使用字符串形式的排序表达式。
2025-11-17 13:37:08 +08:00

39 lines
601 B
Go

package service
import (
"blazing/cool"
"blazing/modules/blazing/model"
)
type TalkService struct {
BaseService
}
func NewTalkService(id uint32) *TalkService {
return &TalkService{
BaseService: BaseService{userid: id,
Service: &cool.Service{Model: model.NewTalk()},
},
}
}
// TalkCheck 获取玩家当前的Talk数据
// todo 待实现xml解析判断是否溢出
func (s *TalkService) Exec(t func(map[uint32]uint32) bool) {
m1 := s.GModel(s.Model)
var talks model.TalkEX
m1.Scan(&talks)
ok := t(talks.Data)
if ok {
talks.PlayerID = uint64(s.userid)
m1.Save(talks)
}
}