Files
horse/horse/race.go
2026-03-08 14:04:28 -04:00

47 lines
1.2 KiB
Go

package horse
type RaceID int32
// Race is the internal data about a race.
type Race struct {
ID RaceID `json:"race_id"`
Name string `json:"name"`
Thumbnail int `json:"thumbnail"`
// Some careers contain unusual versions of races, e.g. Tenno Sho (Spring)
// in Hanshin instead of Kyoto for Narita Taishin and Biwa Hayahide.
// For such races, this field holds the normal race ID.
Primary RaceID `json:"primary"`
}
type SaddleID int32
// Saddle is the internal data about a race win saddle.
type Saddle struct {
ID SaddleID `json:"saddle_id"`
Name string `json:"name"`
Races []RaceID `json:"races"`
Type SaddleType `json:"type"`
// Saddles that involve alternate races are themselves alternate.
// For such saddles, this field holds the normal saddle ID.
Primary SaddleID `json:"primary"`
}
type SaddleType int8
const (
// Saddle for multiple race wins, e.g. Classic Triple Crown, Dual Grand Prix, &c.
SaddleTypeHonor SaddleType = iota
SaddleTypeG3
SaddleTypeG2
SaddleTypeG1
)
type ScenarioID int8
// Scenario is metadata about a career scenario.
type Scenario struct {
ID ScenarioID `json:"scenario_id"`
Name string `json:"name"`
Title string `json:"title"`
}