feat(server): complete tracker flow and NPC shops, inns, commissions and reputation

This commit is contained in:
2026-10-05 21:26:44 +08:00
parent 3b08040a0e
commit e30023053e
33 changed files with 3387 additions and 12 deletions
@@ -15,6 +15,15 @@ type EventFieldPackSource interface {
ListEventFieldPacks() ([]gamedata.EventFieldPack, error)
}
// PackAvailable exposes the same account/calendar authorization to NPC
// services without letting them infer access from the client's pack number.
func (s *Service) PackAvailable(id uint64) bool {
if id == 0 || id > uint64(^uint32(0)>>1) {
return false
}
return s.packUnlocked(int(id))
}
func (s *Service) AttachEventFieldPacks(source EventFieldPackSource) error {
if source == nil {
return fmt.Errorf("world: nil event field pack source")