54 lines
953 B
Go
54 lines
953 B
Go
package space
|
|
|
|
import (
|
|
"blazing/cool"
|
|
"blazing/logic/service/maps/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("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)
|
|
})
|
|
|
|
}
|
|
|
|
}
|