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 )