Files
bd2/go/internal/server/calendar/schema.go
T
Flechazo d8771caef2 feat(all): add hunting and events, commerce and rewards, binary calendars, GameData caching and login diagnostics
Implement hunting AP and progress, event tasks, exchanges, games, stories and actions; connect battle and reward handling.

Add CashShop plugin and installation, server purchases and entitlements, recharge rules and plugin version metadata.

Distribute binary calendars independently; cache GameData in memory and fix single-connection query deadlocks.

Improve automatic login and recovery diagnostics; document configuration and release flows.
2026-10-05 11:50:31 +08:00

116 lines
2.4 KiB
Go

// Package calendar reads the project's independently distributed calendars.
package calendar
import (
"bd2server/internal/server/events"
"bd2server/internal/server/gacha"
"bd2server/internal/server/schedule"
)
type Manifest struct {
SchemaVersion int
Revision string
GameVersion string
GameDataVersion string
Events []Event
Gacha []Gacha
StepUps []Gacha
Regular *Regular
MonsterHunt *MonsterHunt
CashProducts []CashProduct
EventHubs []EventHub
MiniGameHubs []MiniGameHub
}
type Event struct {
UID uint64
Type uint64
ID uint64
SubID uint64
Start string
End string
}
type Gacha struct {
GroupID uint64
Start string
End string
FreeCountBonus bool
CashCountBonus bool
}
type Season struct {
ID uint64
Start string
End string
RankRewardGroupID uint64
Error bool
Return bool
}
type Content struct {
ID uint64
Current Season
Next Season
}
type Regular struct {
CalculateMilliseconds uint64
Contents []Content
Regular []schedule.RegularSeason
}
type Hunt struct {
Season Season
HuntID uint64
InfoOpenDay uint64
CalculateEndAt string
ErrorFlag bool
IndependentFlag bool
RankRewardGroupID uint64
CostumeBanIDs []uint64
BurstBanIDs []uint64
}
type HuntHistory struct {
Season uint64
HuntID uint64
ErrorFlag bool
Hidden bool
}
type MonsterHunt struct {
Seasons []Hunt
StartRegularSeason uint64
History []HuntHistory
}
type CashProduct struct {
GroupID uint64
ProductID uint64
SaleGroup uint64
Start string
End string
EndDelayMinutes uint64
EventIndex uint64
}
type HubSetting struct {
Slot uint64
ProgressType uint64
EventUIDs []uint64
}
type EventHub struct {
UID uint64
HubID uint64
Start string
PlayEnd string
End string
Settings []HubSetting
}
type MiniGameHub struct {
Slot uint64
EventUID uint64
ProgressType uint64
}
type Set struct {
Events []events.Schedule
GachaSeed *gacha.ScheduleSeed
RegularService *schedule.Service
MonsterHunt *MonsterHunt
CashProducts []CashProduct
Revisions []string
EventHubs []EventHub
MiniGameHubs []MiniGameHub
}