horsegen: skill activation duration scaling

This commit is contained in:
2026-02-15 10:39:03 -05:00
parent e3903e5312
commit e608363a24
9 changed files with 1169 additions and 47 deletions

View File

@@ -46,6 +46,7 @@ type Activation struct {
Precondition string
Condition string
Duration TenThousandths
DurScale DurScale
Cooldown TenThousandths
Abilities []Ability
}
@@ -126,6 +127,18 @@ func (a Ability) String() string {
return string(r)
}
type DurScale int8
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type DurScale -trimprefix Duration -linecomment
const (
DurationDirect DurScale = 1 // directly
DurationFrontDistance DurScale = 2 // scaling with distance from the front
DurationRemainingHP DurScale = 3 // scaling with remaining HP
DurationIncrementPass DurScale = 4 // increasing with each pass while active
DurationMidSideBlock DurScale = 5 // scaling with mid-race phase blocked side time
DurationRemainingHP2 DurScale = 7 // scaling with remaining HP
)
type AbilityType int8
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type AbilityType -trimprefix Ability -linecomment