feat(server): complete field object rewards, effects, positions and calendar resets

This commit is contained in:
2026-10-06 15:23:31 +08:00
parent edef3ca008
commit 626fc09a55
26 changed files with 1671 additions and 55 deletions
@@ -0,0 +1,23 @@
package world
import "bd2server/internal/server/wire"
func (s *Service) fieldBuffInfo() ([]byte, error) {
rows, err := s.state.FieldBuffs()
if err != nil {
return nil, err
}
now := s.monsterTime().UnixMilli()
var out []byte
for _, row := range rows {
end, _, err := wire.Varint(row, 3)
if err != nil {
return nil, err
}
if end != 0 && (end > 0x7fffffffffffffff || int64(end) <= now) {
continue
}
out = wire.AppendBytes(out, 8, row)
}
return out, nil
}