519 lines
14 KiB
Plaintext
519 lines
14 KiB
Plaintext
module horse/global/saddle
|
|
|
|
// Automatically generated with horsegen; DO NOT EDIT
|
|
|
|
import std/core/delayed
|
|
import std/core/vector
|
|
import std/core-extras
|
|
import horse/game-id
|
|
pub import horse/race
|
|
pub import horse/global/race
|
|
|
|
extern create-id-table(): vector<int>
|
|
c inline "int32_t arr[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)155, kk_context())"
|
|
js inline "[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,]"
|
|
// Vector of all saddle IDs in order for easy iterating.
|
|
pub val all = once(create-id-table)
|
|
|
|
// Get the name for a saddle.
|
|
// Alternate versions of saddles have an indication of their ID in their names.
|
|
// If no saddle matches the ID, the result contains the numeric ID.
|
|
pub fun show(s: saddle-id): string
|
|
match s.game-id
|
|
1 -> "Classic Triple Crown"
|
|
2 -> "Senior Autumn Triple Crown"
|
|
3 -> "Triple Tiara"
|
|
4 -> "Senior Spring Triple Crown"
|
|
5 -> "Tenno Sweep"
|
|
6 -> "Dual Grand Prix"
|
|
7 -> "Dual Miles"
|
|
8 -> "Dual Sprints"
|
|
9 -> "Dual Dirts"
|
|
10 -> "Arima Kinen"
|
|
11 -> "Japan C."
|
|
12 -> "Japanese Derby"
|
|
13 -> "Tenno Sho (Spring)"
|
|
14 -> "Takarazuka Kinen"
|
|
15 -> "Tenno Sho (Autumn)"
|
|
16 -> "Kikuka Sho"
|
|
17 -> "Osaka Hai"
|
|
18 -> "Satsuki Sho"
|
|
19 -> "Japanese Oaks"
|
|
20 -> "Takamatsunomiya Kinen"
|
|
21 -> "Yasuda Kinen"
|
|
22 -> "Sprinters S."
|
|
23 -> "Mile Ch."
|
|
24 -> "Oka Sho"
|
|
25 -> "Victoria Mile"
|
|
26 -> "Queen Elizabeth II Cup"
|
|
27 -> "NHK Mile C."
|
|
28 -> "Shuka Sho"
|
|
29 -> "Champions C."
|
|
30 -> "February S."
|
|
31 -> "JBC Classic"
|
|
32 -> "Tokyo Daishoten"
|
|
33 -> "Asahi Hai F.S."
|
|
34 -> "Hopeful S."
|
|
35 -> "Hanshin J.F."
|
|
36 -> "Teio Sho"
|
|
37 -> "JBC Sprint"
|
|
38 -> "J.D. Derby"
|
|
39 -> "JBC L. Classic"
|
|
40 -> "Nikkei Shinshun Hai"
|
|
41 -> "Tokai S."
|
|
42 -> "American JCC"
|
|
43 -> "Kyoto Kinen"
|
|
44 -> "Nakayama Kinen"
|
|
45 -> "Yayoi Sho"
|
|
46 -> "Kinko Sho"
|
|
47 -> "Fillies' Revue"
|
|
48 -> "Hanshin Daishoten"
|
|
49 -> "Spring S."
|
|
50 -> "Nikkei Sho"
|
|
51 -> "Hanshin Umamusume S."
|
|
52 -> "New Zealand T."
|
|
53 -> "Yomiuri Milers C."
|
|
54 -> "Flora S."
|
|
55 -> "Aoba Sho"
|
|
56 -> "Kyoto Shimbun Hai"
|
|
57 -> "Keio Hai Spring C."
|
|
58 -> "Meguro Kinen"
|
|
59 -> "Sapporo Kinen"
|
|
60 -> "Centaur S."
|
|
61 -> "Rose S."
|
|
62 -> "St. Lite Kinen"
|
|
63 -> "Kobe Shimbun Hai"
|
|
64 -> "All Comers"
|
|
65 -> "Mainichi Okan"
|
|
66 -> "Kyoto Daishoten"
|
|
67 -> "Fuchu Umamusume S."
|
|
68 -> "Swan S."
|
|
69 -> "Keio Hai Junior S."
|
|
70 -> "Copa Republica Argentina"
|
|
71 -> "Daily Hai Junior S."
|
|
72 -> "Stayers S."
|
|
73 -> "Hanshin C."
|
|
74 -> "Kyoto Kimpai"
|
|
75 -> "Nakayama Kimpai"
|
|
76 -> "Shinzan Kinen"
|
|
77 -> "Fairy S."
|
|
78 -> "Aichi Hai"
|
|
79 -> "Keisei Hai"
|
|
80 -> "Silk Road S."
|
|
81 -> "Negishi S."
|
|
82 -> "Kisaragi Sho"
|
|
83 -> "Tokyo Shimbun Hai"
|
|
84 -> "Queen C."
|
|
85 -> "Kyodo News Hai"
|
|
86 -> "Kyoto Umamusume S."
|
|
87 -> "Diamond S."
|
|
88 -> "Kokura Daishoten"
|
|
89 -> "Arlington C."
|
|
90 -> "Hankyu Hai"
|
|
91 -> "Tulip Sho"
|
|
92 -> "Ocean S."
|
|
93 -> "Nakayama Umamusume S."
|
|
94 -> "Falcon S."
|
|
95 -> "Flower C."
|
|
96 -> "Mainichi Hai"
|
|
97 -> "March S."
|
|
98 -> "Lord Derby C.T."
|
|
99 -> "Antares S."
|
|
100 -> "Fukushima Umamusume S."
|
|
101 -> "Niigata Daishoten"
|
|
102 -> "Heian S."
|
|
103 -> "Naruo Kinen"
|
|
104 -> "Mermaid S."
|
|
105 -> "Epsom C."
|
|
106 -> "Unicorn S."
|
|
107 -> "Hakodate Sprint S."
|
|
108 -> "CBC Sho"
|
|
109 -> "Radio Nikkei Sho"
|
|
110 -> "Procyon S."
|
|
111 -> "Tanabata Sho"
|
|
112 -> "Hakodate Kinen"
|
|
113 -> "Chukyo Kinen"
|
|
114 -> "Hakodate Junior S."
|
|
115 -> "Ibis Summer D."
|
|
116 -> "Queen S."
|
|
117 -> "Kokura Kinen"
|
|
118 -> "Leopard S."
|
|
119 -> "Sekiya Kinen"
|
|
120 -> "Elm S."
|
|
121 -> "Kitakyushu Kinen"
|
|
122 -> "Niigata Junior S."
|
|
123 -> "Keeneland C."
|
|
124 -> "Sapporo Junior S."
|
|
125 -> "Kokura Junior S."
|
|
126 -> "Niigata Kinen"
|
|
127 -> "Shion S."
|
|
128 -> "Keisei Hai A.H."
|
|
129 -> "Sirius S."
|
|
130 -> "Saudi Arabia R.C."
|
|
131 -> "Fuji S."
|
|
132 -> "Artemis S."
|
|
133 -> "Fantasy S."
|
|
134 -> "Miyako S."
|
|
135 -> "Musashino S."
|
|
136 -> "Fukushima Kinen"
|
|
137 -> "Tokyo Sports Hai Junior S."
|
|
138 -> "Kyoto Junior S."
|
|
139 -> "Keihan Hai"
|
|
140 -> "Challenge C."
|
|
141 -> "Chunichi Shimbun Hai"
|
|
142 -> "Capella S."
|
|
143 -> "Turquoise S."
|
|
144 -> "Classic Triple Crown" ++ " (Alternate 144)"
|
|
145 -> "Senior Spring Triple Crown" ++ " (Alternate 145)"
|
|
146 -> "Dual Grand Prix" ++ " (Alternate 146)"
|
|
147 -> "Takarazuka Kinen" ++ " (Alternate 147)"
|
|
148 -> "Kikuka Sho" ++ " (Alternate 148)"
|
|
149 -> "Spring S." ++ " (Alternate 149)"
|
|
150 -> "Aoi S."
|
|
151 -> "Senior Spring Triple Crown" ++ " (Alternate 151)"
|
|
152 -> "Tenno Sweep" ++ " (Alternate 152)"
|
|
153 -> "Tenno Sho (Spring)" ++ " (Alternate 153)"
|
|
154 -> "Classic Triple Crown" ++ " (Alternate 154)"
|
|
155 -> "Satsuki Sho" ++ " (Alternate 155)"
|
|
x -> "saddle " ++ x.show
|
|
|
|
// Get the list of races that entitle a horse to a saddle.
|
|
// If no saddle matches the ID, the result is the empty list.
|
|
pub fun races(s: saddle-id): list<race-id>
|
|
match s.game-id
|
|
1 -> [Race-id(100501), Race-id(101001), Race-id(101501), ]
|
|
2 -> [Race-id(101601), Race-id(101901), Race-id(102301), ]
|
|
3 -> [Race-id(100401), Race-id(100901), Race-id(101401), ]
|
|
4 -> [Race-id(100301), Race-id(100601), Race-id(101201), ]
|
|
5 -> [Race-id(100601), Race-id(101601), ]
|
|
6 -> [Race-id(101201), Race-id(102301), ]
|
|
7 -> [Race-id(101101), Race-id(101801), ]
|
|
8 -> [Race-id(101301), Race-id(100201), ]
|
|
9 -> [Race-id(100101), Race-id(102001), ]
|
|
10 -> [Race-id(102301), ]
|
|
11 -> [Race-id(101901), ]
|
|
12 -> [Race-id(101001), ]
|
|
13 -> [Race-id(100601), ]
|
|
14 -> [Race-id(101201), ]
|
|
15 -> [Race-id(101601), ]
|
|
16 -> [Race-id(101501), ]
|
|
17 -> [Race-id(100301), ]
|
|
18 -> [Race-id(100501), ]
|
|
19 -> [Race-id(100901), ]
|
|
20 -> [Race-id(100201), ]
|
|
21 -> [Race-id(101101), ]
|
|
22 -> [Race-id(101301), ]
|
|
23 -> [Race-id(101801), ]
|
|
24 -> [Race-id(100401), ]
|
|
25 -> [Race-id(100801), ]
|
|
26 -> [Race-id(101701), ]
|
|
27 -> [Race-id(100701), ]
|
|
28 -> [Race-id(101401), ]
|
|
29 -> [Race-id(102001), ]
|
|
30 -> [Race-id(100101), ]
|
|
31 -> [Race-id(110501), ]
|
|
32 -> [Race-id(110601), ]
|
|
33 -> [Race-id(102201), ]
|
|
34 -> [Race-id(102401), ]
|
|
35 -> [Race-id(102101), ]
|
|
36 -> [Race-id(110101), ]
|
|
37 -> [Race-id(110401), ]
|
|
38 -> [Race-id(110201), ]
|
|
39 -> [Race-id(110301), ]
|
|
40 -> [Race-id(200101), ]
|
|
41 -> [Race-id(200201), ]
|
|
42 -> [Race-id(200301), ]
|
|
43 -> [Race-id(200401), ]
|
|
44 -> [Race-id(200501), ]
|
|
45 -> [Race-id(200601), ]
|
|
46 -> [Race-id(200701), ]
|
|
47 -> [Race-id(200801), ]
|
|
48 -> [Race-id(200901), ]
|
|
49 -> [Race-id(201001), ]
|
|
50 -> [Race-id(201101), ]
|
|
51 -> [Race-id(201201), ]
|
|
52 -> [Race-id(201301), ]
|
|
53 -> [Race-id(201401), ]
|
|
54 -> [Race-id(201501), ]
|
|
55 -> [Race-id(201601), ]
|
|
56 -> [Race-id(201701), ]
|
|
57 -> [Race-id(201801), ]
|
|
58 -> [Race-id(201901), ]
|
|
59 -> [Race-id(202001), ]
|
|
60 -> [Race-id(202101), ]
|
|
61 -> [Race-id(202201), ]
|
|
62 -> [Race-id(202301), ]
|
|
63 -> [Race-id(202401), ]
|
|
64 -> [Race-id(202501), ]
|
|
65 -> [Race-id(202601), ]
|
|
66 -> [Race-id(202701), ]
|
|
67 -> [Race-id(202801), ]
|
|
68 -> [Race-id(202901), ]
|
|
69 -> [Race-id(203001), ]
|
|
70 -> [Race-id(203101), ]
|
|
71 -> [Race-id(203201), ]
|
|
72 -> [Race-id(203301), ]
|
|
73 -> [Race-id(203401), ]
|
|
74 -> [Race-id(300101), ]
|
|
75 -> [Race-id(300201), ]
|
|
76 -> [Race-id(300301), ]
|
|
77 -> [Race-id(300401), ]
|
|
78 -> [Race-id(300501), ]
|
|
79 -> [Race-id(300601), ]
|
|
80 -> [Race-id(300701), ]
|
|
81 -> [Race-id(300801), ]
|
|
82 -> [Race-id(300901), ]
|
|
83 -> [Race-id(301001), ]
|
|
84 -> [Race-id(301101), ]
|
|
85 -> [Race-id(301201), ]
|
|
86 -> [Race-id(301301), ]
|
|
87 -> [Race-id(301401), ]
|
|
88 -> [Race-id(301501), ]
|
|
89 -> [Race-id(301601), ]
|
|
90 -> [Race-id(301701), ]
|
|
91 -> [Race-id(301801), ]
|
|
92 -> [Race-id(301901), ]
|
|
93 -> [Race-id(302001), ]
|
|
94 -> [Race-id(302101), ]
|
|
95 -> [Race-id(302201), ]
|
|
96 -> [Race-id(302301), ]
|
|
97 -> [Race-id(302401), ]
|
|
98 -> [Race-id(302501), ]
|
|
99 -> [Race-id(302601), ]
|
|
100 -> [Race-id(302701), ]
|
|
101 -> [Race-id(302801), ]
|
|
102 -> [Race-id(302901), ]
|
|
103 -> [Race-id(303001), ]
|
|
104 -> [Race-id(303101), ]
|
|
105 -> [Race-id(303201), ]
|
|
106 -> [Race-id(303301), ]
|
|
107 -> [Race-id(303401), ]
|
|
108 -> [Race-id(303501), ]
|
|
109 -> [Race-id(303601), ]
|
|
110 -> [Race-id(303701), ]
|
|
111 -> [Race-id(303801), ]
|
|
112 -> [Race-id(303901), ]
|
|
113 -> [Race-id(304001), ]
|
|
114 -> [Race-id(304101), ]
|
|
115 -> [Race-id(304201), ]
|
|
116 -> [Race-id(304301), ]
|
|
117 -> [Race-id(304401), ]
|
|
118 -> [Race-id(304501), ]
|
|
119 -> [Race-id(304601), ]
|
|
120 -> [Race-id(304701), ]
|
|
121 -> [Race-id(304801), ]
|
|
122 -> [Race-id(304901), ]
|
|
123 -> [Race-id(305001), ]
|
|
124 -> [Race-id(305101), ]
|
|
125 -> [Race-id(305201), ]
|
|
126 -> [Race-id(305301), ]
|
|
127 -> [Race-id(305401), ]
|
|
128 -> [Race-id(305501), ]
|
|
129 -> [Race-id(305601), ]
|
|
130 -> [Race-id(305701), ]
|
|
131 -> [Race-id(305801), ]
|
|
132 -> [Race-id(305901), ]
|
|
133 -> [Race-id(306001), ]
|
|
134 -> [Race-id(306101), ]
|
|
135 -> [Race-id(306201), ]
|
|
136 -> [Race-id(306301), ]
|
|
137 -> [Race-id(306401), ]
|
|
138 -> [Race-id(306501), ]
|
|
139 -> [Race-id(306601), ]
|
|
140 -> [Race-id(306701), ]
|
|
141 -> [Race-id(306801), ]
|
|
142 -> [Race-id(306901), ]
|
|
143 -> [Race-id(307001), ]
|
|
144 -> [Race-id(100501), Race-id(101001), Race-id(102601), ]
|
|
145 -> [Race-id(100301), Race-id(100601), Race-id(102501), ]
|
|
146 -> [Race-id(102501), Race-id(102301), ]
|
|
147 -> [Race-id(102501), ]
|
|
148 -> [Race-id(102601), ]
|
|
149 -> [Race-id(203501), ]
|
|
150 -> [Race-id(405001), ]
|
|
151 -> [Race-id(100301), Race-id(102701), Race-id(101201), ]
|
|
152 -> [Race-id(102701), Race-id(101601), ]
|
|
153 -> [Race-id(102701), ]
|
|
154 -> [Race-id(102801), Race-id(101001), Race-id(101501), ]
|
|
155 -> [Race-id(102801), ]
|
|
_ -> []
|
|
|
|
// Get a saddle's type.
|
|
// If no saddle matches the ID, the result is Honor.
|
|
pub fun saddle-type(s: saddle-id): saddle-type
|
|
match s.game-id
|
|
1 -> Honor
|
|
2 -> Honor
|
|
3 -> Honor
|
|
4 -> Honor
|
|
5 -> Honor
|
|
6 -> Honor
|
|
7 -> Honor
|
|
8 -> Honor
|
|
9 -> Honor
|
|
10 -> G1-Win
|
|
11 -> G1-Win
|
|
12 -> G1-Win
|
|
13 -> G1-Win
|
|
14 -> G1-Win
|
|
15 -> G1-Win
|
|
16 -> G1-Win
|
|
17 -> G1-Win
|
|
18 -> G1-Win
|
|
19 -> G1-Win
|
|
20 -> G1-Win
|
|
21 -> G1-Win
|
|
22 -> G1-Win
|
|
23 -> G1-Win
|
|
24 -> G1-Win
|
|
25 -> G1-Win
|
|
26 -> G1-Win
|
|
27 -> G1-Win
|
|
28 -> G1-Win
|
|
29 -> G1-Win
|
|
30 -> G1-Win
|
|
31 -> G1-Win
|
|
32 -> G1-Win
|
|
33 -> G1-Win
|
|
34 -> G1-Win
|
|
35 -> G1-Win
|
|
36 -> G1-Win
|
|
37 -> G1-Win
|
|
38 -> G1-Win
|
|
39 -> G1-Win
|
|
40 -> G2-Win
|
|
41 -> G2-Win
|
|
42 -> G2-Win
|
|
43 -> G2-Win
|
|
44 -> G2-Win
|
|
45 -> G2-Win
|
|
46 -> G2-Win
|
|
47 -> G2-Win
|
|
48 -> G2-Win
|
|
49 -> G2-Win
|
|
50 -> G2-Win
|
|
51 -> G2-Win
|
|
52 -> G2-Win
|
|
53 -> G2-Win
|
|
54 -> G2-Win
|
|
55 -> G2-Win
|
|
56 -> G2-Win
|
|
57 -> G2-Win
|
|
58 -> G2-Win
|
|
59 -> G2-Win
|
|
60 -> G2-Win
|
|
61 -> G2-Win
|
|
62 -> G2-Win
|
|
63 -> G2-Win
|
|
64 -> G2-Win
|
|
65 -> G2-Win
|
|
66 -> G2-Win
|
|
67 -> G2-Win
|
|
68 -> G2-Win
|
|
69 -> G2-Win
|
|
70 -> G2-Win
|
|
71 -> G2-Win
|
|
72 -> G2-Win
|
|
73 -> G2-Win
|
|
74 -> G3-Win
|
|
75 -> G3-Win
|
|
76 -> G3-Win
|
|
77 -> G3-Win
|
|
78 -> G3-Win
|
|
79 -> G3-Win
|
|
80 -> G3-Win
|
|
81 -> G3-Win
|
|
82 -> G3-Win
|
|
83 -> G3-Win
|
|
84 -> G3-Win
|
|
85 -> G3-Win
|
|
86 -> G3-Win
|
|
87 -> G3-Win
|
|
88 -> G3-Win
|
|
89 -> G3-Win
|
|
90 -> G3-Win
|
|
91 -> G2-Win
|
|
92 -> G3-Win
|
|
93 -> G3-Win
|
|
94 -> G3-Win
|
|
95 -> G3-Win
|
|
96 -> G3-Win
|
|
97 -> G3-Win
|
|
98 -> G3-Win
|
|
99 -> G3-Win
|
|
100 -> G3-Win
|
|
101 -> G3-Win
|
|
102 -> G3-Win
|
|
103 -> G3-Win
|
|
104 -> G3-Win
|
|
105 -> G3-Win
|
|
106 -> G3-Win
|
|
107 -> G3-Win
|
|
108 -> G3-Win
|
|
109 -> G3-Win
|
|
110 -> G3-Win
|
|
111 -> G3-Win
|
|
112 -> G3-Win
|
|
113 -> G3-Win
|
|
114 -> G3-Win
|
|
115 -> G3-Win
|
|
116 -> G3-Win
|
|
117 -> G3-Win
|
|
118 -> G3-Win
|
|
119 -> G3-Win
|
|
120 -> G3-Win
|
|
121 -> G3-Win
|
|
122 -> G3-Win
|
|
123 -> G3-Win
|
|
124 -> G3-Win
|
|
125 -> G3-Win
|
|
126 -> G3-Win
|
|
127 -> G3-Win
|
|
128 -> G3-Win
|
|
129 -> G3-Win
|
|
130 -> G3-Win
|
|
131 -> G2-Win
|
|
132 -> G3-Win
|
|
133 -> G3-Win
|
|
134 -> G3-Win
|
|
135 -> G3-Win
|
|
136 -> G3-Win
|
|
137 -> G3-Win
|
|
138 -> G3-Win
|
|
139 -> G3-Win
|
|
140 -> G3-Win
|
|
141 -> G3-Win
|
|
142 -> G3-Win
|
|
143 -> G3-Win
|
|
144 -> Honor
|
|
145 -> Honor
|
|
146 -> Honor
|
|
147 -> G1-Win
|
|
148 -> G1-Win
|
|
149 -> G2-Win
|
|
150 -> G3-Win
|
|
151 -> Honor
|
|
152 -> Honor
|
|
153 -> G1-Win
|
|
154 -> Honor
|
|
155 -> G1-Win
|
|
_ -> Honor
|
|
|
|
// Get the primary ID for a saddle.
|
|
// For saddles which are the primary version, or if no saddle matches the given ID,
|
|
// the result is the input.
|
|
pub fun primary(s: saddle-id): saddle-id
|
|
match s.game-id
|
|
144 -> Saddle-id(1)
|
|
145 -> Saddle-id(4)
|
|
146 -> Saddle-id(6)
|
|
147 -> Saddle-id(14)
|
|
148 -> Saddle-id(16)
|
|
149 -> Saddle-id(49)
|
|
151 -> Saddle-id(4)
|
|
152 -> Saddle-id(5)
|
|
153 -> Saddle-id(13)
|
|
154 -> Saddle-id(1)
|
|
155 -> Saddle-id(18)
|
|
_ -> s
|