Files
horse/skill.go

58 lines
1.4 KiB
Go

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
)