horsegen: generate keyed struct literals

This commit is contained in:
2026-01-16 22:01:10 -05:00
parent 5576dd8d3f
commit cb1c51db05
4 changed files with 7646 additions and 8486 deletions

View File

@@ -57,55 +57,55 @@ const (
) )
var Characters = map[CharacterID]Character{ var Characters = map[CharacterID]Character{
CharacterSpecialWeek: {1001, "Special Week"}, CharacterSpecialWeek: {ID: 1001, Name: "Special Week"},
CharacterSilenceSuzuka: {1002, "Silence Suzuka"}, CharacterSilenceSuzuka: {ID: 1002, Name: "Silence Suzuka"},
CharacterTokaiTeio: {1003, "Tokai Teio"}, CharacterTokaiTeio: {ID: 1003, Name: "Tokai Teio"},
CharacterMaruzensky: {1004, "Maruzensky"}, CharacterMaruzensky: {ID: 1004, Name: "Maruzensky"},
CharacterFujiKiseki: {1005, "Fuji Kiseki"}, CharacterFujiKiseki: {ID: 1005, Name: "Fuji Kiseki"},
CharacterOguriCap: {1006, "Oguri Cap"}, CharacterOguriCap: {ID: 1006, Name: "Oguri Cap"},
CharacterGoldShip: {1007, "Gold Ship"}, CharacterGoldShip: {ID: 1007, Name: "Gold Ship"},
CharacterVodka: {1008, "Vodka"}, CharacterVodka: {ID: 1008, Name: "Vodka"},
CharacterDaiwaScarlet: {1009, "Daiwa Scarlet"}, CharacterDaiwaScarlet: {ID: 1009, Name: "Daiwa Scarlet"},
CharacterTaikiShuttle: {1010, "Taiki Shuttle"}, CharacterTaikiShuttle: {ID: 1010, Name: "Taiki Shuttle"},
CharacterGrassWonder: {1011, "Grass Wonder"}, CharacterGrassWonder: {ID: 1011, Name: "Grass Wonder"},
CharacterHishiAmazon: {1012, "Hishi Amazon"}, CharacterHishiAmazon: {ID: 1012, Name: "Hishi Amazon"},
CharacterMejiroMcQueen: {1013, "Mejiro McQueen"}, CharacterMejiroMcQueen: {ID: 1013, Name: "Mejiro McQueen"},
CharacterElCondorPasa: {1014, "El Condor Pasa"}, CharacterElCondorPasa: {ID: 1014, Name: "El Condor Pasa"},
CharacterTMOperaO: {1015, "T.M. Opera O"}, CharacterTMOperaO: {ID: 1015, Name: "T.M. Opera O"},
CharacterNaritaBrian: {1016, "Narita Brian"}, CharacterNaritaBrian: {ID: 1016, Name: "Narita Brian"},
CharacterSymboliRudolf: {1017, "Symboli Rudolf"}, CharacterSymboliRudolf: {ID: 1017, Name: "Symboli Rudolf"},
CharacterAirGroove: {1018, "Air Groove"}, CharacterAirGroove: {ID: 1018, Name: "Air Groove"},
CharacterAgnesDigital: {1019, "Agnes Digital"}, CharacterAgnesDigital: {ID: 1019, Name: "Agnes Digital"},
CharacterSeiunSky: {1020, "Seiun Sky"}, CharacterSeiunSky: {ID: 1020, Name: "Seiun Sky"},
CharacterFineMotion: {1022, "Fine Motion"}, CharacterFineMotion: {ID: 1022, Name: "Fine Motion"},
CharacterBiwaHayahide: {1023, "Biwa Hayahide"}, CharacterBiwaHayahide: {ID: 1023, Name: "Biwa Hayahide"},
CharacterMayanoTopGun: {1024, "Mayano Top Gun"}, CharacterMayanoTopGun: {ID: 1024, Name: "Mayano Top Gun"},
CharacterManhattanCafe: {1025, "Manhattan Cafe"}, CharacterManhattanCafe: {ID: 1025, Name: "Manhattan Cafe"},
CharacterMihonoBourbon: {1026, "Mihono Bourbon"}, CharacterMihonoBourbon: {ID: 1026, Name: "Mihono Bourbon"},
CharacterMejiroRyan: {1027, "Mejiro Ryan"}, CharacterMejiroRyan: {ID: 1027, Name: "Mejiro Ryan"},
CharacterHishiAkebono: {1028, "Hishi Akebono"}, CharacterHishiAkebono: {ID: 1028, Name: "Hishi Akebono"},
CharacterRiceShower: {1030, "Rice Shower"}, CharacterRiceShower: {ID: 1030, Name: "Rice Shower"},
CharacterAgnesTachyon: {1032, "Agnes Tachyon"}, CharacterAgnesTachyon: {ID: 1032, Name: "Agnes Tachyon"},
CharacterAdmireVega: {1033, "Admire Vega"}, CharacterAdmireVega: {ID: 1033, Name: "Admire Vega"},
CharacterInariOne: {1034, "Inari One"}, CharacterInariOne: {ID: 1034, Name: "Inari One"},
CharacterWinningTicket: {1035, "Winning Ticket"}, CharacterWinningTicket: {ID: 1035, Name: "Winning Ticket"},
CharacterEishinFlash: {1037, "Eishin Flash"}, CharacterEishinFlash: {ID: 1037, Name: "Eishin Flash"},
CharacterCurrenChan: {1038, "Curren Chan"}, CharacterCurrenChan: {ID: 1038, Name: "Curren Chan"},
CharacterKawakamiPrincess: {1039, "Kawakami Princess"}, CharacterKawakamiPrincess: {ID: 1039, Name: "Kawakami Princess"},
CharacterGoldCity: {1040, "Gold City"}, CharacterGoldCity: {ID: 1040, Name: "Gold City"},
CharacterSakuraBakushinO: {1041, "Sakura Bakushin O"}, CharacterSakuraBakushinO: {ID: 1041, Name: "Sakura Bakushin O"},
CharacterSweepTosho: {1044, "Sweep Tosho"}, CharacterSweepTosho: {ID: 1044, Name: "Sweep Tosho"},
CharacterSuperCreek: {1045, "Super Creek"}, CharacterSuperCreek: {ID: 1045, Name: "Super Creek"},
CharacterSmartFalcon: {1046, "Smart Falcon"}, CharacterSmartFalcon: {ID: 1046, Name: "Smart Falcon"},
CharacterTosenJordan: {1048, "Tosen Jordan"}, CharacterTosenJordan: {ID: 1048, Name: "Tosen Jordan"},
CharacterNaritaTaishin: {1050, "Narita Taishin"}, CharacterNaritaTaishin: {ID: 1050, Name: "Narita Taishin"},
CharacterNishinoFlower: {1051, "Nishino Flower"}, CharacterNishinoFlower: {ID: 1051, Name: "Nishino Flower"},
CharacterHaruUrara: {1052, "Haru Urara"}, CharacterHaruUrara: {ID: 1052, Name: "Haru Urara"},
CharacterMatikanefukukitaru: {1056, "Matikanefukukitaru"}, CharacterMatikanefukukitaru: {ID: 1056, Name: "Matikanefukukitaru"},
CharacterMeishoDoto: {1058, "Meisho Doto"}, CharacterMeishoDoto: {ID: 1058, Name: "Meisho Doto"},
CharacterMejiroDober: {1059, "Mejiro Dober"}, CharacterMejiroDober: {ID: 1059, Name: "Mejiro Dober"},
CharacterNiceNature: {1060, "Nice Nature"}, CharacterNiceNature: {ID: 1060, Name: "Nice Nature"},
CharacterKingHalo: {1061, "King Halo"}, CharacterKingHalo: {ID: 1061, Name: "King Halo"},
} }
var CharacterNameToID = map[string]CharacterID{ var CharacterNameToID = map[string]CharacterID{

File diff suppressed because it is too large Load Diff

View File

@@ -13,7 +13,7 @@ const (
var Characters = map[CharacterID]Character{ var Characters = map[CharacterID]Character{
{{- range $c := $.Characters }} {{- range $c := $.Characters }}
Character{{ goenum $c.Name }}: { {{- $c.ID }}, {{ printf "%q" $c.Name -}} }, Character{{ goenum $c.Name }}: {ID: {{ $c.ID }}, Name: {{ printf "%q" $c.Name -}} },
{{- end }} {{- end }}
} }

View File

@@ -14,26 +14,32 @@ const (
var AllSkills = map[SkillID]Skill{ var AllSkills = map[SkillID]Skill{
{{- range $s := $.Skills }} {{- range $s := $.Skills }}
Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }}: { Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }}: {
{{ $s.ID }}, ID: {{ $s.ID }},
{{ printf "%q" $s.Name }}{{ if ne $s.InheritID 0 }} + " (Inherited)"{{ end }}, Name: {{ printf "%q" $s.Name }}{{ if ne $s.InheritID 0 }} + " (Inherited)"{{ end }},
{{ printf "%q" $s.Description }}, Description: {{ printf "%q" $s.Description }},
{{ $s.GroupID }}, Group: {{ $s.GroupID }},
{{ $s.Rarity }}, Rarity: {{ $s.Rarity }},
{{ $s.GroupRate }}, GroupRate: {{ $s.GroupRate }},
{{ $s.GradeValue }}, GradeValue: {{ $s.GradeValue }},
{{ $s.WitCheck }}, {{- if $s.WitCheck }}
[]Activation{ WitCheck: {{ $s.WitCheck }},
{{- end }}
Activations: []Activation{
{{- range $a := $s.Activations }} {{- range $a := $s.Activations }}
{{- if ne $a.Condition "" }} {{- if ne $a.Condition "" }}
{ {
{{ printf "%q" $a.Precondition }}, {{- if $a.Precondition }}
{{ printf "%q" $a.Condition }}, Precondition: {{ printf "%q" $a.Precondition }},
{{ $a.Duration }}, {{- end }}
{{ $a.Cooldown }}, Condition: {{ printf "%q" $a.Condition }},
[]Ability{ Duration: {{ $a.Duration }},
{{- if $a.Cooldown }}
Cooldown: {{ $a.Cooldown }},
{{- end }}
Abilities: []Ability{
{{- range $abil := $a.Abilities }} {{- range $abil := $a.Abilities }}
{{- if ne $abil.Type 0 }} {{- if ne $abil.Type 0 }}
{ {{- $abil.Type }}, {{ $abil.ValueUsage }}, {{ $abil.Value }}, {{ $abil.Target }}, {{ $abil.TargetValue -}} }, {Type: {{ $abil.Type }}, ValueUsage: {{ $abil.ValueUsage }}, Value: {{ $abil.Value }}, Target: {{ $abil.Target }}, TargetValue: {{ $abil.TargetValue -}} },
{{- end }} {{- end }}
{{- end }} {{- end }}
}, },
@@ -41,8 +47,10 @@ var AllSkills = map[SkillID]Skill{
{{- end }} {{- end }}
{{- end }} {{- end }}
}, },
{{ $s.SPCost }}, {{- if $s.SPCost }}
{{ $s.IconID }}, SPCost: {{ $s.SPCost }},
{{- end }}
IconID: {{ $s.IconID }},
}, },
{{- end }} {{- end }}
} }
@@ -58,4 +66,4 @@ var SkillGroups = map[int32][4]SkillID{
{{ $g.ID }}: { {{- range $s := index $.Related $g.ID }}Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }}, {{ end -}} }, {{ $g.ID }}: { {{- range $s := index $.Related $g.ID }}Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }}, {{ end -}} },
{{- end }} {{- end }}
} }
{{ end }} {{ end }}