horse: finish rename of trainee -> uma in koka

This commit is contained in:
2026-02-16 12:14:32 -05:00
parent 489457c63c
commit 2184515938
4 changed files with 170 additions and 151 deletions

View File

@@ -14398,152 +14398,152 @@ pub fun activations(s: skill-id): list<activation>
// Get the owner of a unique skill. // Get the owner of a unique skill.
// If the skill is not unique, or if there is no skill with the given ID, // If the skill is not unique, or if there is no skill with the given ID,
// the result is Nothing. // the result is Nothing.
pub fun unique-owner(s: skill-id): maybe<trainee-id> pub fun unique-owner(s: skill-id): maybe<uma-id>
match s.game-id match s.game-id
10071 -> Just(Trainee-id(100701)) 10071 -> Just(Uma-id(100701))
10081 -> Just(Trainee-id(100801)) 10081 -> Just(Uma-id(100801))
10091 -> Just(Trainee-id(100901)) 10091 -> Just(Uma-id(100901))
10111 -> Just(Trainee-id(101101)) 10111 -> Just(Uma-id(101101))
10141 -> Just(Trainee-id(101401)) 10141 -> Just(Uma-id(101401))
10181 -> Just(Trainee-id(101801)) 10181 -> Just(Uma-id(101801))
10241 -> Just(Trainee-id(102401)) 10241 -> Just(Uma-id(102401))
10271 -> Just(Trainee-id(102701)) 10271 -> Just(Uma-id(102701))
10321 -> Just(Trainee-id(103201)) 10321 -> Just(Uma-id(103201))
10351 -> Just(Trainee-id(103501)) 10351 -> Just(Uma-id(103501))
10411 -> Just(Trainee-id(104101)) 10411 -> Just(Uma-id(104101))
10451 -> Just(Trainee-id(104501)) 10451 -> Just(Uma-id(104501))
10521 -> Just(Trainee-id(105201)) 10521 -> Just(Uma-id(105201))
10561 -> Just(Trainee-id(105601)) 10561 -> Just(Uma-id(105601))
10601 -> Just(Trainee-id(106001)) 10601 -> Just(Uma-id(106001))
10611 -> Just(Trainee-id(106101)) 10611 -> Just(Uma-id(106101))
100011 -> Just(Trainee-id(100101)) 100011 -> Just(Uma-id(100101))
100021 -> Just(Trainee-id(100201)) 100021 -> Just(Uma-id(100201))
100031 -> Just(Trainee-id(100301)) 100031 -> Just(Uma-id(100301))
100041 -> Just(Trainee-id(100401)) 100041 -> Just(Uma-id(100401))
100051 -> Just(Trainee-id(100501)) 100051 -> Just(Uma-id(100501))
100061 -> Just(Trainee-id(100601)) 100061 -> Just(Uma-id(100601))
100071 -> Just(Trainee-id(100701)) 100071 -> Just(Uma-id(100701))
100081 -> Just(Trainee-id(100801)) 100081 -> Just(Uma-id(100801))
100091 -> Just(Trainee-id(100901)) 100091 -> Just(Uma-id(100901))
100101 -> Just(Trainee-id(101001)) 100101 -> Just(Uma-id(101001))
100111 -> Just(Trainee-id(101101)) 100111 -> Just(Uma-id(101101))
100121 -> Just(Trainee-id(101201)) 100121 -> Just(Uma-id(101201))
100131 -> Just(Trainee-id(101301)) 100131 -> Just(Uma-id(101301))
100141 -> Just(Trainee-id(101401)) 100141 -> Just(Uma-id(101401))
100151 -> Just(Trainee-id(101501)) 100151 -> Just(Uma-id(101501))
100161 -> Just(Trainee-id(101601)) 100161 -> Just(Uma-id(101601))
100171 -> Just(Trainee-id(101701)) 100171 -> Just(Uma-id(101701))
100181 -> Just(Trainee-id(101801)) 100181 -> Just(Uma-id(101801))
100191 -> Just(Trainee-id(101901)) 100191 -> Just(Uma-id(101901))
100201 -> Just(Trainee-id(102001)) 100201 -> Just(Uma-id(102001))
100211 -> Just(Trainee-id(102101)) 100211 -> Just(Uma-id(102101))
100221 -> Just(Trainee-id(102201)) 100221 -> Just(Uma-id(102201))
100231 -> Just(Trainee-id(102301)) 100231 -> Just(Uma-id(102301))
100241 -> Just(Trainee-id(102401)) 100241 -> Just(Uma-id(102401))
100251 -> Just(Trainee-id(102501)) 100251 -> Just(Uma-id(102501))
100261 -> Just(Trainee-id(102601)) 100261 -> Just(Uma-id(102601))
100271 -> Just(Trainee-id(102701)) 100271 -> Just(Uma-id(102701))
100281 -> Just(Trainee-id(102801)) 100281 -> Just(Uma-id(102801))
100301 -> Just(Trainee-id(103001)) 100301 -> Just(Uma-id(103001))
100321 -> Just(Trainee-id(103201)) 100321 -> Just(Uma-id(103201))
100351 -> Just(Trainee-id(103501)) 100351 -> Just(Uma-id(103501))
100371 -> Just(Trainee-id(103701)) 100371 -> Just(Uma-id(103701))
100381 -> Just(Trainee-id(103801)) 100381 -> Just(Uma-id(103801))
100391 -> Just(Trainee-id(103901)) 100391 -> Just(Uma-id(103901))
100401 -> Just(Trainee-id(104001)) 100401 -> Just(Uma-id(104001))
100411 -> Just(Trainee-id(104101)) 100411 -> Just(Uma-id(104101))
100451 -> Just(Trainee-id(104501)) 100451 -> Just(Uma-id(104501))
100461 -> Just(Trainee-id(104601)) 100461 -> Just(Uma-id(104601))
100481 -> Just(Trainee-id(104801)) 100481 -> Just(Uma-id(104801))
100501 -> Just(Trainee-id(105001)) 100501 -> Just(Uma-id(105001))
100521 -> Just(Trainee-id(105201)) 100521 -> Just(Uma-id(105201))
100561 -> Just(Trainee-id(105601)) 100561 -> Just(Uma-id(105601))
100581 -> Just(Trainee-id(105801)) 100581 -> Just(Uma-id(105801))
100591 -> Just(Trainee-id(105901)) 100591 -> Just(Uma-id(105901))
100601 -> Just(Trainee-id(106001)) 100601 -> Just(Uma-id(106001))
100611 -> Just(Trainee-id(106101)) 100611 -> Just(Uma-id(106101))
100691 -> Just(Trainee-id(106901)) 100691 -> Just(Uma-id(106901))
110011 -> Just(Trainee-id(100102)) 110011 -> Just(Uma-id(100102))
110031 -> Just(Trainee-id(100302)) 110031 -> Just(Uma-id(100302))
110041 -> Just(Trainee-id(100402)) 110041 -> Just(Uma-id(100402))
110061 -> Just(Trainee-id(100602)) 110061 -> Just(Uma-id(100602))
110111 -> Just(Trainee-id(101102)) 110111 -> Just(Uma-id(101102))
110131 -> Just(Trainee-id(101302)) 110131 -> Just(Uma-id(101302))
110141 -> Just(Trainee-id(101402)) 110141 -> Just(Uma-id(101402))
110151 -> Just(Trainee-id(101502)) 110151 -> Just(Uma-id(101502))
110171 -> Just(Trainee-id(101702)) 110171 -> Just(Uma-id(101702))
110181 -> Just(Trainee-id(101802)) 110181 -> Just(Uma-id(101802))
110231 -> Just(Trainee-id(102302)) 110231 -> Just(Uma-id(102302))
110241 -> Just(Trainee-id(102402)) 110241 -> Just(Uma-id(102402))
110301 -> Just(Trainee-id(103002)) 110301 -> Just(Uma-id(103002))
110401 -> Just(Trainee-id(104002)) 110401 -> Just(Uma-id(104002))
110451 -> Just(Trainee-id(104502)) 110451 -> Just(Uma-id(104502))
110521 -> Just(Trainee-id(105202)) 110521 -> Just(Uma-id(105202))
110561 -> Just(Trainee-id(105602)) 110561 -> Just(Uma-id(105602))
900011 -> Just(Trainee-id(100101)) 900011 -> Just(Uma-id(100101))
900021 -> Just(Trainee-id(100201)) 900021 -> Just(Uma-id(100201))
900031 -> Just(Trainee-id(100301)) 900031 -> Just(Uma-id(100301))
900041 -> Just(Trainee-id(100401)) 900041 -> Just(Uma-id(100401))
900051 -> Just(Trainee-id(100501)) 900051 -> Just(Uma-id(100501))
900061 -> Just(Trainee-id(100601)) 900061 -> Just(Uma-id(100601))
900071 -> Just(Trainee-id(100701)) 900071 -> Just(Uma-id(100701))
900081 -> Just(Trainee-id(100801)) 900081 -> Just(Uma-id(100801))
900091 -> Just(Trainee-id(100901)) 900091 -> Just(Uma-id(100901))
900101 -> Just(Trainee-id(101001)) 900101 -> Just(Uma-id(101001))
900111 -> Just(Trainee-id(101101)) 900111 -> Just(Uma-id(101101))
900121 -> Just(Trainee-id(101201)) 900121 -> Just(Uma-id(101201))
900131 -> Just(Trainee-id(101301)) 900131 -> Just(Uma-id(101301))
900141 -> Just(Trainee-id(101401)) 900141 -> Just(Uma-id(101401))
900151 -> Just(Trainee-id(101501)) 900151 -> Just(Uma-id(101501))
900161 -> Just(Trainee-id(101601)) 900161 -> Just(Uma-id(101601))
900171 -> Just(Trainee-id(101701)) 900171 -> Just(Uma-id(101701))
900181 -> Just(Trainee-id(101801)) 900181 -> Just(Uma-id(101801))
900191 -> Just(Trainee-id(101901)) 900191 -> Just(Uma-id(101901))
900201 -> Just(Trainee-id(102001)) 900201 -> Just(Uma-id(102001))
900211 -> Just(Trainee-id(102101)) 900211 -> Just(Uma-id(102101))
900221 -> Just(Trainee-id(102201)) 900221 -> Just(Uma-id(102201))
900231 -> Just(Trainee-id(102301)) 900231 -> Just(Uma-id(102301))
900241 -> Just(Trainee-id(102401)) 900241 -> Just(Uma-id(102401))
900251 -> Just(Trainee-id(102501)) 900251 -> Just(Uma-id(102501))
900261 -> Just(Trainee-id(102601)) 900261 -> Just(Uma-id(102601))
900271 -> Just(Trainee-id(102701)) 900271 -> Just(Uma-id(102701))
900281 -> Just(Trainee-id(102801)) 900281 -> Just(Uma-id(102801))
900301 -> Just(Trainee-id(103001)) 900301 -> Just(Uma-id(103001))
900321 -> Just(Trainee-id(103201)) 900321 -> Just(Uma-id(103201))
900351 -> Just(Trainee-id(103501)) 900351 -> Just(Uma-id(103501))
900371 -> Just(Trainee-id(103701)) 900371 -> Just(Uma-id(103701))
900381 -> Just(Trainee-id(103801)) 900381 -> Just(Uma-id(103801))
900391 -> Just(Trainee-id(103901)) 900391 -> Just(Uma-id(103901))
900401 -> Just(Trainee-id(104001)) 900401 -> Just(Uma-id(104001))
900411 -> Just(Trainee-id(104101)) 900411 -> Just(Uma-id(104101))
900451 -> Just(Trainee-id(104501)) 900451 -> Just(Uma-id(104501))
900461 -> Just(Trainee-id(104601)) 900461 -> Just(Uma-id(104601))
900481 -> Just(Trainee-id(104801)) 900481 -> Just(Uma-id(104801))
900501 -> Just(Trainee-id(105001)) 900501 -> Just(Uma-id(105001))
900521 -> Just(Trainee-id(105201)) 900521 -> Just(Uma-id(105201))
900561 -> Just(Trainee-id(105601)) 900561 -> Just(Uma-id(105601))
900581 -> Just(Trainee-id(105801)) 900581 -> Just(Uma-id(105801))
900591 -> Just(Trainee-id(105901)) 900591 -> Just(Uma-id(105901))
900601 -> Just(Trainee-id(106001)) 900601 -> Just(Uma-id(106001))
900611 -> Just(Trainee-id(106101)) 900611 -> Just(Uma-id(106101))
900691 -> Just(Trainee-id(106901)) 900691 -> Just(Uma-id(106901))
910011 -> Just(Trainee-id(100102)) 910011 -> Just(Uma-id(100102))
910031 -> Just(Trainee-id(100302)) 910031 -> Just(Uma-id(100302))
910041 -> Just(Trainee-id(100402)) 910041 -> Just(Uma-id(100402))
910061 -> Just(Trainee-id(100602)) 910061 -> Just(Uma-id(100602))
910111 -> Just(Trainee-id(101102)) 910111 -> Just(Uma-id(101102))
910131 -> Just(Trainee-id(101302)) 910131 -> Just(Uma-id(101302))
910141 -> Just(Trainee-id(101402)) 910141 -> Just(Uma-id(101402))
910151 -> Just(Trainee-id(101502)) 910151 -> Just(Uma-id(101502))
910171 -> Just(Trainee-id(101702)) 910171 -> Just(Uma-id(101702))
910181 -> Just(Trainee-id(101802)) 910181 -> Just(Uma-id(101802))
910231 -> Just(Trainee-id(102302)) 910231 -> Just(Uma-id(102302))
910241 -> Just(Trainee-id(102402)) 910241 -> Just(Uma-id(102402))
910301 -> Just(Trainee-id(103002)) 910301 -> Just(Uma-id(103002))
910401 -> Just(Trainee-id(104002)) 910401 -> Just(Uma-id(104002))
910451 -> Just(Trainee-id(104502)) 910451 -> Just(Uma-id(104502))
910521 -> Just(Trainee-id(105202)) 910521 -> Just(Uma-id(105202))
910561 -> Just(Trainee-id(105602)) 910561 -> Just(Uma-id(105602))
_ -> Nothing _ -> Nothing
// Get the SP cost of a skill. // Get the SP cost of a skill.

View File

@@ -18,7 +18,7 @@ pub struct skill-detail
grade-value: int grade-value: int
wit-check: bool wit-check: bool
activations: list<activation> activations: list<activation>
owner: maybe<trainee-id> owner: maybe<uma-id>
sp-cost: int sp-cost: int
icon-id: skill-icon-id icon-id: skill-icon-id
@@ -32,7 +32,7 @@ pub fun detail(
?skill/grade-value: (skill-id) -> int, ?skill/grade-value: (skill-id) -> int,
?skill/wit-check: (skill-id) -> bool, ?skill/wit-check: (skill-id) -> bool,
?skill/activations: (skill-id) -> list<activation>, ?skill/activations: (skill-id) -> list<activation>,
?skill/unique-owner: (skill-id) -> maybe<trainee-id>, ?skill/unique-owner: (skill-id) -> maybe<uma-id>,
?skill/sp-cost: (skill-id) -> int, ?skill/sp-cost: (skill-id) -> int,
?skill/icon-id: (skill-id) -> skill-icon-id ?skill/icon-id: (skill-id) -> skill-icon-id
): skill-detail ): skill-detail
@@ -51,13 +51,13 @@ pub fun detail(
s.icon-id s.icon-id
) )
pub fun skill-detail/show(d: skill-detail, ?character/show: (character-id) -> string, ?trainee/show: (trainee-id) -> string): string pub fun skill-detail/show(d: skill-detail, ?character/show: (character-id) -> string, ?uma/show: (uma-id) -> string): string
val Skill-detail(Skill-id(id), name, desc, _, rarity, _, grade-value, wit-check, activations, owner, sp-cost, _) = d val Skill-detail(Skill-id(id), name, desc, _, rarity, _, grade-value, wit-check, activations, owner, sp-cost, _) = d
val r = name ++ " (ID " ++ id.show ++ "): " ++ desc ++ " " ++ activations.map(activation/show).join(". ") ++ (if wit-check then ". Wit check. " else ". No wit check. ") ++ rarity.show ++ " costing " ++ sp-cost.show ++ " SP, worth " ++ grade-value.show ++ " grade value." val r = name ++ " (ID " ++ id.show ++ "): " ++ desc ++ " " ++ activations.map(activation/show).join(". ") ++ (if wit-check then ". Wit check. " else ". No wit check. ") ++ rarity.show ++ " costing " ++ sp-cost.show ++ " SP, worth " ++ grade-value.show ++ " grade value."
match owner match owner
Nothing -> r Nothing -> r
Just(owner-id) -> match owner-id.show Just(owner-id) -> match owner-id.show
"" -> r ++ " Unique skill of trainee with ID " ++ owner-id.show ++ "." "" -> r ++ " Unique skill of Uma with ID " ++ owner-id.show ++ "."
owner-name -> r ++ " Unique skill of " ++ owner-name ++ "." owner-name -> r ++ " Unique skill of " ++ owner-name ++ "."
// Skill rarity levels. // Skill rarity levels.

19
horse/uma.kk Normal file
View File

@@ -0,0 +1,19 @@
module horse/uma
import horse/game-id
import horse/movement
// Details of an uma, or character card.
pub struct uma-detail
uma-id: uma-id
character-id: character-id
turf: level
dirt: level
sprint: level
mile: level
medium: level
long: level
front-runner: level
pace-chaser: level
late-surger: level
end-closer: level

View File

@@ -193,11 +193,11 @@ pub fun activations(s: skill-id): list<activation>
// Get the owner of a unique skill. // Get the owner of a unique skill.
// If the skill is not unique, or if there is no skill with the given ID, // If the skill is not unique, or if there is no skill with the given ID,
// the result is Nothing. // the result is Nothing.
pub fun unique-owner(s: skill-id): maybe<trainee-id> pub fun unique-owner(s: skill-id): maybe<uma-id>
match s.game-id match s.game-id
{{- range $s := $.Skills }} {{- range $s := $.Skills }}
{{- if $s.UniqueOwnerID }} {{- if $s.UniqueOwnerID }}
{{ $s.ID }} -> Just(Trainee-id({{ $s.UniqueOwnerID }})) {{ $s.ID }} -> Just(Uma-id({{ $s.UniqueOwnerID }}))
{{- end }} {{- end }}
{{- end }} {{- end }}
_ -> Nothing _ -> Nothing