feat(socket): 统一使用 glog.Info 替代 glog.Infof 将 ServerEvent.go 中的 glog.Infof 更改为 glog.Info,以统一日志输出方式并减少格式化开销。 feat(controller): 优化宠物经验设置逻辑与错误码返回 在 SetPetExp 方法中提前返回结果,并修正最终返回的错误码为 ErrSystemError。同时规范化注释格式。 feat(space): 支持天气地图判断与动态天气 BOSS 刷新 引入 lo 包用于查找
54 lines
962 B
Go
54 lines
962 B
Go
package space
|
|
|
|
import (
|
|
"blazing/cool"
|
|
"blazing/logic/service/space/info"
|
|
"sync/atomic"
|
|
"time"
|
|
|
|
"github.com/gogf/gf/v2/util/grand"
|
|
)
|
|
|
|
func (s *Space) getfixboss(mapid uint32) {
|
|
|
|
switch mapid {
|
|
case 12:
|
|
|
|
s.MapBossInfo = info.MapBossInfo{
|
|
Id: 47,
|
|
|
|
Hp: 10,
|
|
}
|
|
|
|
cool.Cron.ScheduleFunc(10*time.Second, func() {
|
|
s.MapBossInfo.Pos = (grand.Intn(4) + 1 + s.MapBossInfo.Pos) % 5
|
|
println(s.Name, "pos", s.MapBossInfo.Pos, "hp", s.MapBossInfo.Hp)
|
|
var t info.MapBossSInfo
|
|
t.INFO = append(t.INFO, s.MapBossInfo)
|
|
|
|
s.Broadcast(nil, 2021, &t)
|
|
|
|
})
|
|
cool.Cron.ScheduleFunc(300*time.Second, func() {
|
|
|
|
atomic.StoreInt32(&s.MapBossInfo.Hp, 10)
|
|
|
|
})
|
|
|
|
case 108:
|
|
s.MapBossInfo = info.MapBossInfo{
|
|
Id: 219,
|
|
}
|
|
|
|
cool.Cron.ScheduleFunc(10*time.Second, func() {
|
|
var t info.MapBossSInfo
|
|
s.MapBossInfo.Pos = (grand.Intn(6) + 1 + s.MapBossInfo.Pos) % 6
|
|
t.INFO = append(t.INFO, s.MapBossInfo)
|
|
|
|
s.Broadcast(nil, 2021, &t)
|
|
})
|
|
|
|
}
|
|
|
|
}
|