Use RRR for name generation.
[ogre.git] / units.js
1 /* The person who associated a work with this deed has dedicated the work
2 to the public domain by waiving all of his or her rights to the work
3 worldwide under copyright law, including all related and neighboring
4 rights, to the extent allowed by law.
5
6 You can copy, modify, distribute and perform the work, even for
7 commercial purposes, all without asking permission.
8
9 See https://creativecommons.org/publicdomain/zero/1.0/ for details.
10 */
11
12 var G = new rrr.Grammar({
13
14 Model: ["<Oid> <Adjective> <noun>", "<Adjective> <noun> <roman>"],
15 Flying: ["<Oid> <Adjective> <bird>", "<Adjective> <bird> <roman>"],
16 Id: ["<Pid> <noun>", "<noun> <Pid>"],
17
18 Adjective: { "<adjective>": 0.9, "": 0.1 },
19 Separator: { "<separator>": 1, "": 0.25 },
20 Oid: ["<letter><separator><digit>{2}"],
21 Pid: ["<letter>{1,4}<Separator><digit>{1,4}"],
22
23 adjective: [
24 "Angry",
25 "Cold",
26 "Deadly",
27 "Easy",
28 "Faithful",
29 "Fatal",
30 "Fiery",
31 "Harsh",
32 "Lost",
33 "Mean",
34 "Mighty",
35 "Noisy",
36 "Old",
37 "Proud",
38 "Pure",
39 "Quiet",
40 "Sharp",
41 "Slow",
42 "Strong",
43 "True",
44 ],
45
46 bird: [
47 "Angel",
48 "Arrow",
49 "Cloud",
50 "Eagle",
51 "Falcon",
52 "Owl",
53 "Raptor",
54 "Storm",
55 "Swan",
56 "Swarm",
57 ],
58
59 noun: [
60 "Axe",
61 "Boar",
62 "Brute",
63 "Claw",
64 "Cobra",
65 "Dagger",
66 "Demon",
67 "Fox",
68 "Hyena",
69 "Knife",
70 "Lion",
71 "Lynx",
72 "Saber",
73 "Scout",
74 "Snake",
75 "Spear",
76 "Spire",
77 "Stone",
78 "Stream",
79 "Sword",
80 "Talon",
81 "Thorn",
82 "Tide",
83 "Tooth",
84 "Tower",
85 "Tusk",
86 "Venom",
87 "Viper",
88 "Wall",
89 "Wave",
90 "Wolf",
91 "Worker",
92 ],
93
94 roman: ["I", "II", "III", "IV", "V", "VI",
95 "VII", "VIII", "IX", "X", "XI", "XII",
96 "XIV"],
97
98 letter: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
99 digit: "0123456789",
100 separator: "-./",
101 }, "<Model>");
102
103 // Most game data in this file based on
104 // http://www.sjgames.com/ogre/kickstarter/ogre-rec-sheets.pdf
105 // http://www.sjgames.com/ogre/kickstarter/ogre_rulebook.pdf
106
107 var WEAPONS = {
108 "Main Battery": { attack: 4, range: 3, defense: 4 },
109 "Secondary Battery": { attack: 3, range: 2, defense: 3 },
110 "Improved 2° Battery": { attack: 3, range: 3, defense: 3 },
111 "Antipersonnel": {
112 attack: 1, range: 1, defense: 1,
113 aside: "Only against Infantry or CPs"
114 },
115 "Missile Rack": { defense: 4 },
116 "Int. Missile": { attack: 6, range: 5 },
117 "Missile": { attack: 6, range: 5, defense: 3 },
118 "Ext. Missile": { attack: 6, range: 5, defense: 3 },
119 "Manipulator Arm": { defense: 2 },
120 "Main Gun": { attack: 3, range: 3 },
121 "Bombload": { attack: 6, range: 0, defense: 3 },
122 "Air-to-Air Missile": { attack: 6, range: 5, defense: 3 },
123 "Antipersonnel Bombload": {
124 attack: 1, range: 0, defense: 1,
125 aside: "Only against Infantry or CPs"
126 },
127 "Pod": { defense: 2 },
128 "Eye": { attack: 2, range: 30, defense: 3 },
129 "Tower": { defense: 6 }
130 };
131
132 var UNITS = {
133 "Superheavy Tank": {
134 weapons: ["3 Main Guns", "3 Antipersonnel"],
135 nameScheme: "<Id>",
136 tread: 18,
137 size: 5,
138 au: 3
139 },
140 "Ogre Mk. I": {
141 aside: "Pikeman",
142 weapons: ["1 Main Battery", "4 Antipersonnel"],
143 tread: 18,
144 size: 5,
145 au: 4
146 },
147 "Ogre Mk. II": {
148 weapons: [
149 "Main Battery",
150 "2 Secondary Battery",
151 "6 Antipersonnel"
152 ],
153 tread: 30,
154 size: 6,
155 au: 8
156 },
157 "Ogre Mk. III": {
158 weapons: [
159 "Main Battery",
160 "4 Secondary Battery",
161 "2 Missiles",
162 "8 Antipersonnel"
163 ],
164 tread: 45,
165 size: 7,
166 au: 17
167 },
168 "Ogre Mk. III-B": {
169 weapons: [
170 "2 Main Battery",
171 "4 Secondary Battery",
172 "4 Missiles",
173 "8 Antipersonnel"
174 ],
175 tread: 48,
176 size: 7,
177 au: 20
178 },
179 "Ogre Mk. IV": {
180 weapons: [
181 "Main Battery",
182 "2 Secondary Battery",
183 "3 Missile Racks",
184 "15 Int. Missiles",
185 "8 Antipersonnel"
186 ],
187 move: 4,
188 tread: 48,
189 size: 8,
190 au: 25
191 },
192 "Ogre Mk. V": {
193 weapons: [
194 "2 Main Battery",
195 "6 Secondary Battery",
196 "6 Missiles",
197 "12 Antipersonnel"
198 ],
199 tread: 60,
200 size: 8,
201 au: 25
202 },
203 "Ogre Mk. VI": {
204 weapons: [
205 "3 Main Battery",
206 "6 Secondary Battery",
207 "3 Missile Racks",
208 "12 Int. Missiles",
209 "6 Ext. Missiles",
210 "16 Antipersonnel"
211 ],
212 tread: 72,
213 size: 9,
214 au: 40
215 },
216 "Ogre Vulcan": {
217 weapons: [
218 "2 Secondary Battery",
219 "6 Antipersonnel",
220 "2 Manipulator Arms"
221 ],
222 move: 4,
223 tread: 48,
224 size: 7,
225 au: "25+"
226 },
227 "Ogre Ninja": {
228 weapons: [
229 "Main Battery",
230 "2 Secondary Battery",
231 "Missile Rack",
232 "4 Int. Missiles",
233 "2 Ext. Missiles",
234 "8 Antipersonnel"
235 ],
236 aside: "−1 to rolls when attacked (except by infantry overruns)",
237 move: 4,
238 tread: 40,
239 size: 7,
240 au: "25+"
241 },
242 "Doppelsoldner": {
243 weapons: [
244 "2 Main Battery",
245 "8 Secondary Battery",
246 "6 Missile Racks",
247 "20 Int. Missiles",
248 "12 Antipersonnel"
249 ],
250 tread: 60,
251 size: 9,
252 au: 40
253 },
254 "Fencer": {
255 weapons: [
256 "2 Secondary Battery",
257 "4 Missile Racks",
258 "20 Int. Missiles",
259 "8 Antipersonnel",
260 ],
261 tread: 48,
262 size: 8,
263 au: 22
264 },
265 "Fencer-B": {
266 weapons: [
267 "2 Main Battery",
268 "4 Missile Racks",
269 "20 Int. Missiles",
270 "8 Antipersonnel"
271 ],
272 tread: 48,
273 size: 8,
274 au: 23
275 },
276 // http://www.sjgames.com/ogre/articles/goliath.html
277 "Goliath": {
278 tread: 40,
279 aside: "Self-destruct capabilities",
280 move: 4,
281 },
282 // http://www.sjgames.com/ogre/articles/csa.html
283 "CSA-10 (Magi)": {
284 nameScheme: "<Flying>",
285 weapons: [
286 "2 Bombloads",
287 "1 Air-to-Air Missile",
288 "Main Battery",
289 "4 Secondary Battery",
290 "12 Antipersonnel Bombloads"
291 ],
292 move: 4,
293 propulsion: 48,
294 },
295 "CSA-15 (Magi)": {
296 nameScheme: "<Flying>",
297 weapons: [
298 "4 Bombloads",
299 "3 Air-to-Air Missiles",
300 "2 Main Battery",
301 "6 Secondary Battery",
302 "18 Antipersonnel Bombloads"
303 ],
304 move: 4,
305 propulsion: 60,
306 },
307 // http://www.sjgames.com/ogre/resources/record/ogrethulu.html
308 "Ogrethulhu": {
309 weapons: [
310 "2 Main Battery",
311 "6 Secondary Battery",
312 "6 Pods",
313 "Eye",
314 "Tower",
315 "12 Antipersonnel"
316 ],
317 tread: 48,
318 au: 50,
319 },
320
321 // GURPS Ogre, adapted by me.
322 "Steel Demon": {
323 weapons: [
324 "2 Main Battery",
325 "4 Improved 2° Battery",
326 "Missile Rack",
327 "4 Int. Missiles",
328 "12 Antipersonnel"
329 ],
330 tread: 48,
331 size: 7,
332 },
333 "Steel Samurai": {
334 weapons: [
335 "2 Main Battery",
336 "6 Improved 2° Battery",
337 "Missile Rack",
338 "8 Int. Missiles",
339 "16 Antipersonnel"
340 ],
341 tread: 60,
342 size: 8,
343 },
344 "Golem": {
345 weapons: [
346 "Main Battery",
347 "3 Secondary Battery",
348 "3 Missile Racks",
349 "9 Int. Missiles",
350 "12 Antipersonnel"
351 ],
352 tread: 45,
353 size: 7
354 },
355 "Ogre Mk. VII": {
356 weapons: [
357 "4 Main Battery",
358 "12 Secondary Battery",
359 "4 Missile Racks",
360 "32 Int. Missiles",
361 "24 Antipersonnel",
362 ],
363 size: 10,
364 tread: 60,
365 move: 2,
366 }
367 };