horse: implement all known ability value usage types

This commit is contained in:
2026-01-18 15:20:43 -05:00
parent b22b77c535
commit d147d71519
2 changed files with 49 additions and 13 deletions

View File

@@ -126,12 +126,24 @@ type AbilityValueUsage int8
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type AbilityValueUsage -trimprefix ValueUsage -linecomment
const (
ValueUsageDirect AbilityValueUsage = 1 // directly
ValueUsageTeamSpeed AbilityValueUsage = 3 // scaling with team Speed
ValueUsageTeamStamina AbilityValueUsage = 4 // scaling with team Stamina
ValueUsageTeamPower AbilityValueUsage = 5 // scaling with team Power
ValueUsageTeamGuts AbilityValueUsage = 6 // scaling with team Guts
ValueUsageTeamWit AbilityValueUsage = 7 // scaling with team Wit
ValueUsageDirect AbilityValueUsage = 1 // directly
ValueUsageSkillCount AbilityValueUsage = 2 // scaling with the number of skills
ValueUsageTeamSpeed AbilityValueUsage = 3 // scaling with team Speed
ValueUsageTeamStamina AbilityValueUsage = 4 // scaling with team Stamina
ValueUsageTeamPower AbilityValueUsage = 5 // scaling with team Power
ValueUsageTeamGuts AbilityValueUsage = 6 // scaling with team Guts
ValueUsageTeamWit AbilityValueUsage = 7 // scaling with team Wit
ValueUsageRandom AbilityValueUsage = 8 // with a random 0× to 0.04× multiplier
ValueUsageRandom2 AbilityValueUsage = 9 // with a random 0× to 0.04× multiplier
ValueUsageClimax AbilityValueUsage = 10 // scaling with the number of races won in training
ValueUsageMaxStat AbilityValueUsage = 13 // scaling with the highest raw stat
ValueUsageGreenCount AbilityValueUsage = 14 // scaling with the number of Passive skills activated
ValueUsageDistAdd AbilityValueUsage = 19 // plus extra when far from the lead
ValueUsageMidSideBlock AbilityValueUsage = 20 // scaling with mid-race phase blocked side time
ValueUsageSpeed AbilityValueUsage = 22 // scaling with overall speed
ValueUsageSpeed2 AbilityValueUsage = 23 // scaling with overall speed
ValueUsageArcPotential AbilityValueUsage = 24 // scaling with L'Arc global potential
ValueUsageMaxLead AbilityValueUsage = 25 // scaling with the longest lead obtained in the first ⅔
)
type AbilityTarget int8