Files
horse/horse/spark.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
)