88 lines
1.5 KiB
Go
88 lines
1.5 KiB
Go
package horse
|
|
|
|
type (
|
|
SparkID int32
|
|
SparkGroupID int32
|
|
)
|
|
|
|
type Spark struct {
|
|
ID SparkID
|
|
Name string
|
|
Description string
|
|
Group SparkGroupID
|
|
Rarity SparkRarity
|
|
Type SparkType
|
|
Effects [][]SparkEffect
|
|
}
|
|
|
|
type SparkType int8
|
|
|
|
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type SparkType -trimprefix Spark
|
|
const (
|
|
SparkStat SparkType = iota + 1
|
|
SparkAptitude
|
|
SparkUnique
|
|
SparkSkill
|
|
SparkRace
|
|
SparkScenario
|
|
SparkCarnival
|
|
SparkDistance
|
|
SparkHidden
|
|
SparkSurface
|
|
SparkStyle
|
|
)
|
|
|
|
type SparkRarity int8
|
|
|
|
const (
|
|
OneStar SparkRarity = iota + 1 // ★
|
|
TwoStar // ★★
|
|
ThreeStar // ★★★
|
|
)
|
|
|
|
func (r SparkRarity) String() string {
|
|
const s = "★★★"
|
|
return s[:int(r)*len("★")]
|
|
}
|
|
|
|
type SparkEffect struct {
|
|
Target SparkTarget
|
|
Value1 int32
|
|
Value2 int32
|
|
}
|
|
|
|
type SparkTarget int8
|
|
|
|
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type SparkTarget -trimprefix Spark
|
|
const (
|
|
SparkSpeed SparkTarget = iota + 1
|
|
SparkStam
|
|
SparkPower
|
|
SparkGuts
|
|
SparkWit
|
|
SparkSkillPoints
|
|
SparkRandomStat
|
|
|
|
SparkTurf SparkTarget = 11
|
|
SparkDirt SparkTarget = 12
|
|
|
|
SparkFrontRunner SparkTarget = iota + 12
|
|
SparkPaceChaser
|
|
SparkLateSurger
|
|
SparkEndCloser
|
|
|
|
SparkSprint SparkTarget = iota + 18
|
|
SparkMile
|
|
SparkMedium
|
|
SparkLong
|
|
|
|
SparkSkillHint SparkTarget = 41
|
|
SparkCarnivalBonus SparkTarget = 51
|
|
|
|
SparkSpeedCap SparkTarget = iota + 42
|
|
SparkStamCap
|
|
SparkPowerCap
|
|
SparkGutsCap
|
|
SparkWitCap
|
|
)
|