horse: add 564 ability type

While we're here adding the formatting, also adjust DD's wording and fix
the units on lane change speed skills.

Fixes #25.
This commit is contained in:
2026-07-31 22:24:03 -04:00
parent 998156d345
commit d265c81735
+10 -6
View File
@@ -81,25 +81,28 @@ func (a Ability) String() string {
case AbilityRushedChance:
r = append(r, a.Value.String()...)
r = append(r, '%')
case AbilityGateDelay:
// This skill type in particular should be × instead of +.
case AbilityGateDelay, AbilityActivateRare:
// These skill types in particular should be × instead of +.
r = append(r[:len(r)-1], "×"...)
r = append(r, a.Value.String()...)
case AbilityFrenzy, AbilityAddGateDelay:
r = append(r, a.Value.String()...)
r = append(r, 's')
case AbilityCurrentSpeed, AbilityCurrentSpeedUp, AbilityTargetSpeed, AbilityLaneSpeed:
case AbilityCurrentSpeed, AbilityCurrentSpeedUp, AbilityTargetSpeed:
r = append(r, a.Value.String()...)
r = append(r, " m/s"...)
case AbilityLaneSpeed:
r = append(r, a.Value.String()...)
r = append(r, " CW/s"...)
case AbilityAccel:
r = append(r, a.Value.String()...)
r = append(r, " m/s²"...)
case AbilityLaneChange:
// This skill type should be "to 0.5 track widths."
// This skill type should be "to 0.5 CW."
// (The only skill that has it is Dodging Danger/Sixth Sense.)
r = append(r[:len(r)-1], "to "...)
r = append(r, a.Value.String()...)
r = append(r, " track widths"...)
r = append(r, " CW"...)
}
}
switch a.Target {
@@ -168,7 +171,8 @@ const (
AbilityLaneSpeed AbilityType = 28 // Lane change speed
AbilityRushedChance AbilityType = 29 // Rushed chance
AbilityAccel AbilityType = 31 // Acceleration
AbilityLaneChange AbilityType = 35 // Forced lane change
AbilityLaneChange AbilityType = 35 // Set target lane
AbilityActivateRare AbilityType = 37 // Activate rare skills
)
type AbilityValueUsage int8