horsegen: also generate go

This commit is contained in:
2026-01-14 12:18:54 -05:00
parent be41389006
commit c9a7e15f89
10 changed files with 16896 additions and 21 deletions

57
skill.go Normal file
View File

@@ -0,0 +1,57 @@
package horse
type SkillID int32
// Skill is the internal data about a skill.
type Skill struct {
ID SkillID
Name string
Description string
Group int32
Rarity int8
GroupRate int8
GradeValue int32
WitCheck bool
Activations []Activation
SPCost int
IconID int
}
// Activation is the parameters controlling when a skill activates.
type Activation struct {
Precondition string
Condition string
Duration int // 1e4 scale
Cooldown int // 1e4 scale
Abilities []Ability
}
// Ability is an individual effect applied by a skill.
type Ability struct {
Type AbilityType
ValueUsage int8
Value int32
Target int8
TargetValue int32
}
type AbilityType int8
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type AbilityType -trimprefix Ability
const (
AbilityPassiveSpeed AbilityType = 1
AbilityPassiveStamina AbilityType = 2
AbilityPassivePower AbilityType = 3
AbilityPassiveGuts AbilityType = 4
AbilityPassiveWit AbilityType = 5
AbilityGreatEscape AbilityType = 6
AbilityVision AbilityType = 8
AbilityHP AbilityType = 9
AbilityGateDelay AbilityType = 10
AbilityFrenzy AbilityType = 13
AbilityCurrentSpeed AbilityType = 21
AbilityTargetSpeed AbilityType = 27
AbilityLaneSpeed AbilityType = 28
AbilityAccel AbilityType = 31
AbilityLaneChange AbilityType = 35
)