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"` }