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

@@ -216,6 +216,7 @@ type SkillActivation struct {
Precondition string
Condition string
Duration int
DurScale int
Cooldown int
Abilities [3]SkillAbility
}
@@ -264,67 +265,69 @@ func Skills(ctx context.Context, db *sqlitex.Pool) ([]Skill, error) {
Precondition: stmt.ColumnText(9),
Condition: stmt.ColumnText(10),
Duration: stmt.ColumnInt(11),
Cooldown: stmt.ColumnInt(12),
DurScale: stmt.ColumnInt(12),
Cooldown: stmt.ColumnInt(13),
Abilities: [3]SkillAbility{
{
Type: stmt.ColumnInt(13),
ValueUsage: stmt.ColumnInt(14),
Value: stmt.ColumnInt(15),
Target: stmt.ColumnInt(16),
TargetValue: stmt.ColumnInt(17),
Type: stmt.ColumnInt(14),
ValueUsage: stmt.ColumnInt(15),
Value: stmt.ColumnInt(16),
Target: stmt.ColumnInt(17),
TargetValue: stmt.ColumnInt(18),
},
{
Type: stmt.ColumnInt(18),
ValueUsage: stmt.ColumnInt(19),
Value: stmt.ColumnInt(20),
Target: stmt.ColumnInt(21),
TargetValue: stmt.ColumnInt(22),
Type: stmt.ColumnInt(19),
ValueUsage: stmt.ColumnInt(20),
Value: stmt.ColumnInt(21),
Target: stmt.ColumnInt(22),
TargetValue: stmt.ColumnInt(23),
},
{
Type: stmt.ColumnInt(23),
ValueUsage: stmt.ColumnInt(24),
Value: stmt.ColumnInt(25),
Target: stmt.ColumnInt(26),
TargetValue: stmt.ColumnInt(27),
Type: stmt.ColumnInt(24),
ValueUsage: stmt.ColumnInt(25),
Value: stmt.ColumnInt(26),
Target: stmt.ColumnInt(27),
TargetValue: stmt.ColumnInt(28),
},
},
},
{
Precondition: stmt.ColumnText(28),
Condition: stmt.ColumnText(29),
Duration: stmt.ColumnInt(30),
Cooldown: stmt.ColumnInt(31),
Precondition: stmt.ColumnText(29),
Condition: stmt.ColumnText(30),
Duration: stmt.ColumnInt(31),
DurScale: stmt.ColumnInt(32),
Cooldown: stmt.ColumnInt(33),
Abilities: [3]SkillAbility{
{
Type: stmt.ColumnInt(32),
ValueUsage: stmt.ColumnInt(33),
Value: stmt.ColumnInt(34),
Target: stmt.ColumnInt(35),
TargetValue: stmt.ColumnInt(36),
Type: stmt.ColumnInt(34),
ValueUsage: stmt.ColumnInt(35),
Value: stmt.ColumnInt(36),
Target: stmt.ColumnInt(37),
TargetValue: stmt.ColumnInt(38),
},
{
Type: stmt.ColumnInt(37),
ValueUsage: stmt.ColumnInt(38),
Value: stmt.ColumnInt(39),
Target: stmt.ColumnInt(40),
TargetValue: stmt.ColumnInt(41),
Type: stmt.ColumnInt(39),
ValueUsage: stmt.ColumnInt(40),
Value: stmt.ColumnInt(41),
Target: stmt.ColumnInt(42),
TargetValue: stmt.ColumnInt(43),
},
{
Type: stmt.ColumnInt(42),
ValueUsage: stmt.ColumnInt(43),
Value: stmt.ColumnInt(44),
Target: stmt.ColumnInt(45),
TargetValue: stmt.ColumnInt(46),
Type: stmt.ColumnInt(44),
ValueUsage: stmt.ColumnInt(45),
Value: stmt.ColumnInt(46),
Target: stmt.ColumnInt(47),
TargetValue: stmt.ColumnInt(48),
},
},
},
},
SPCost: stmt.ColumnInt(47),
InheritID: stmt.ColumnInt(48),
UniqueOwnerID: stmt.ColumnInt(49),
UniqueOwner: stmt.ColumnText(50),
IconID: stmt.ColumnInt(51),
Index: stmt.ColumnInt(52),
SPCost: stmt.ColumnInt(49),
InheritID: stmt.ColumnInt(50),
UniqueOwnerID: stmt.ColumnInt(51),
UniqueOwner: stmt.ColumnText(52),
IconID: stmt.ColumnInt(53),
Index: stmt.ColumnInt(54),
}
r = append(r, s)
}

View File

@@ -39,6 +39,7 @@ var AllSkills = map[SkillID]Skill{
{{- end }}
Condition: {{ printf "%q" $a.Condition }},
Duration: {{ $a.Duration }},
DurScale: {{ $a.DurScale }},
{{- if $a.Cooldown }}
Cooldown: {{ $a.Cooldown }},
{{- end }}

View File

@@ -116,6 +116,14 @@ pub fun activations(s: skill-id): list<activation>
precondition = {{ printf "%q" $a.Precondition }},
condition = {{ printf "%q" $a.Condition }},
duration = {{ $a.Duration }}.decimal{{ if gt $a.Duration 0 }}(-4){{ end }},
dur-scale = {{ if eq $a.DurScale 1 }}Direct-Dur
{{- else if eq $a.DurScale 2 }}Front-Distance-Dur
{{- else if eq $a.DurScale 3 }}Multiply-Remaining-HP
{{- else if eq $a.DurScale 4 }}Increment-Pass
{{- else if eq $a.DurScale 5 }}Midrace-Side-Block-Time-Dur
{{- else if eq $a.DurScale 7 }}Multiply-Remaining-HP2
{{- else }}??? $a.DurScale={{ $a.DurScale }}
{{- end }},
cooldown = {{ $a.Cooldown }}.decimal{{ if gt $a.Cooldown 0 }}(-4){{ end }},
abilities = [
{{- range $abil := $a.Abilities }}

View File

@@ -45,6 +45,7 @@ SELECT
d.precondition_1,
d.condition_1,
d.float_ability_time_1,
d.ability_time_usage_1,
d.float_cooldown_time_1,
d.ability_type_1_1,
d.ability_value_usage_1_1,
@@ -64,6 +65,7 @@ SELECT
d.precondition_2,
d.condition_2,
d.float_ability_time_2,
d.ability_time_usage_2,
d.float_cooldown_time_2,
d.ability_type_2_1,
d.ability_value_usage_2_1,