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

@@ -9,29 +9,53 @@ func _() {
// Re-run the stringer command to generate them again.
var x [1]struct{}
_ = x[ValueUsageDirect-1]
_ = x[ValueUsageSkillCount-2]
_ = x[ValueUsageTeamSpeed-3]
_ = x[ValueUsageTeamStamina-4]
_ = x[ValueUsageTeamPower-5]
_ = x[ValueUsageTeamGuts-6]
_ = x[ValueUsageTeamWit-7]
_ = x[ValueUsageRandom-8]
_ = x[ValueUsageRandom2-9]
_ = x[ValueUsageClimax-10]
_ = x[ValueUsageMaxStat-13]
_ = x[ValueUsageGreenCount-14]
_ = x[ValueUsageDistAdd-19]
_ = x[ValueUsageMidSideBlock-20]
_ = x[ValueUsageSpeed-22]
_ = x[ValueUsageSpeed2-23]
_ = x[ValueUsageArcPotential-24]
_ = x[ValueUsageMaxLead-25]
}
const (
_AbilityValueUsage_name_0 = "directly"
_AbilityValueUsage_name_1 = "scaling with team Speedscaling with team Staminascaling with team Powerscaling with team Gutsscaling with team Wit"
_AbilityValueUsage_name_0 = "directlyscaling with the number of skillsscaling with team Speedscaling with team Staminascaling with team Powerscaling with team Gutsscaling with team Witwith a random 0× to 0.04× multiplierwith a random 0× to 0.04× multiplierscaling with the number of races won in training"
_AbilityValueUsage_name_1 = "scaling with the highest raw statscaling with the number of Passive skills activated"
_AbilityValueUsage_name_2 = "plus extra when far from the leadscaling with mid-race phase blocked side time"
_AbilityValueUsage_name_3 = "scaling with overall speedscaling with overall speedscaling with L'Arc global potentialscaling with the longest lead obtained in the first ⅔"
)
var (
_AbilityValueUsage_index_1 = [...]uint8{0, 23, 48, 71, 93, 114}
_AbilityValueUsage_index_0 = [...]uint16{0, 8, 41, 64, 89, 112, 134, 155, 193, 231, 279}
_AbilityValueUsage_index_1 = [...]uint8{0, 33, 84}
_AbilityValueUsage_index_2 = [...]uint8{0, 33, 78}
_AbilityValueUsage_index_3 = [...]uint8{0, 26, 52, 87, 142}
)
func (i AbilityValueUsage) String() string {
switch {
case i == 1:
return _AbilityValueUsage_name_0
case 3 <= i && i <= 7:
i -= 3
case 1 <= i && i <= 10:
i -= 1
return _AbilityValueUsage_name_0[_AbilityValueUsage_index_0[i]:_AbilityValueUsage_index_0[i+1]]
case 13 <= i && i <= 14:
i -= 13
return _AbilityValueUsage_name_1[_AbilityValueUsage_index_1[i]:_AbilityValueUsage_index_1[i+1]]
case 19 <= i && i <= 20:
i -= 19
return _AbilityValueUsage_name_2[_AbilityValueUsage_index_2[i]:_AbilityValueUsage_index_2[i+1]]
case 22 <= i && i <= 25:
i -= 22
return _AbilityValueUsage_name_3[_AbilityValueUsage_index_3[i]:_AbilityValueUsage_index_3[i+1]]
default:
return "AbilityValueUsage(" + strconv.FormatInt(int64(i), 10) + ")"
}