@genocode/core 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/ast.d.ts +17 -1
  2. package/dist/ast.d.ts.map +1 -1
  3. package/dist/ast.js.map +1 -1
  4. package/dist/builtins.d.ts +1 -1
  5. package/dist/builtins.d.ts.map +1 -1
  6. package/dist/builtins.js +5 -2
  7. package/dist/builtins.js.map +1 -1
  8. package/dist/checker.d.ts +10 -1
  9. package/dist/checker.d.ts.map +1 -1
  10. package/dist/checker.js +102 -2
  11. package/dist/checker.js.map +1 -1
  12. package/dist/colour.d.ts +1 -1
  13. package/dist/colour.d.ts.map +1 -1
  14. package/dist/colour.js +8 -4
  15. package/dist/colour.js.map +1 -1
  16. package/dist/format.d.ts.map +1 -1
  17. package/dist/format.js +37 -3
  18. package/dist/format.js.map +1 -1
  19. package/dist/genetics.d.ts.map +1 -1
  20. package/dist/genetics.js +3 -1
  21. package/dist/genetics.js.map +1 -1
  22. package/dist/help.d.ts.map +1 -1
  23. package/dist/help.js +30 -3
  24. package/dist/help.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/interpreter.js +3 -1
  29. package/dist/interpreter.js.map +1 -1
  30. package/dist/lexer.d.ts.map +1 -1
  31. package/dist/lexer.js +1 -0
  32. package/dist/lexer.js.map +1 -1
  33. package/dist/parser.js +48 -2
  34. package/dist/parser.js.map +1 -1
  35. package/dist/values.d.ts +2 -0
  36. package/dist/values.d.ts.map +1 -1
  37. package/dist/values.js +1 -1
  38. package/dist/values.js.map +1 -1
  39. package/package.json +1 -1
  40. package/reference/LANGUAGE.md +61 -8
  41. package/reference/creatures/Alien.genie +653 -0
  42. package/reference/creatures/Breeze.genie +386 -0
  43. package/reference/creatures/Cobra.genie +386 -0
  44. package/reference/creatures/Flowerball.genie +302 -39
  45. package/reference/creatures/FlyingFish.genie +786 -0
  46. package/reference/creatures/Genes.genie +470 -0
  47. package/reference/creatures/Genie.genie +548 -0
  48. package/reference/creatures/Greenbay.genie +786 -0
  49. package/reference/creatures/Jellyfish.genie +472 -0
  50. package/reference/creatures/Monster.genie +594 -0
  51. package/reference/creatures/Neuron.genie +649 -0
  52. package/reference/creatures/Octoplant.genie +334 -0
  53. package/reference/creatures/Parasite.genie +393 -0
  54. package/reference/creatures/Pesky.genie +473 -0
  55. package/reference/creatures/Phoenix.genie +294 -0
  56. package/reference/creatures/Picstix.genie +1788 -0
  57. package/reference/creatures/Psybat.genie +602 -0
  58. package/reference/creatures/Star.genie +339 -0
  59. package/reference/creatures/Starfish.genie +458 -0
  60. package/reference/creatures/Transformer.genie +297 -0
  61. package/reference/creatures/TwoByTwo.genie +547 -0
  62. package/reference/creatures/Flower.genie +0 -41
  63. package/reference/creatures/Flyer.genie +0 -142
  64. package/reference/creatures/StarBurstShell.genie +0 -102
  65. package/reference/creatures/StarBurstShell9.genie +0 -102
@@ -0,0 +1,473 @@
1
+ creature Pesky
2
+ // A spiky blob with four curling tentacles, holding on to a butterfly it has caught.
3
+ // Inspired by Pesky, a DancerDNA creature.
4
+
5
+ gene blob_size = 1.245 in 1..6 // how big the blob is
6
+ gene blob_stretch = (0.9827, 1.094, 0.8774) in (0.8, 0.8, 0.8)..(1.2, 1.2, 1.2) // how it's squashed or stretched
7
+ gene blob_turn = (-257.9, 167.2, 296.6) in (-343.8, -343.8, -343.8)..(343.8, 343.8, 343.8) // how it's turned: up, sideways and round
8
+
9
+ gene spike_reach = -3.307 in -15..15 // how far out the spikes are; they never sink into the blob
10
+ gene spike_length = 1.453 in 0.5..2
11
+ gene spike_spin = -673 in -687.5..687.5 // how far each spike turns round its length
12
+
13
+ gene leg_tilt = -10.13 in -45.84..45.84 // how far the tentacles tip up or down
14
+ gene leg_stride = 0.8957 in 0.7..1.1 // how long their segments are
15
+ gene curl = (-59.41, -8.595, 33.61) in (-74.48, -74.48, -74.48)..(74.48, 74.48, 74.48) // how far they curl: up, sideways and round
16
+ gene curl_waves = (2.818, 2.798, 2.786) in (1, 1, 1)..(3, 3, 3) // how many half-waves the curling makes along a tentacle
17
+ gene swell = (-0.2434, 0.03443, -0.4275) in (-0.7, -0.7, -0.5)..(0.7, 0.7, 0.5) // how much the segments grow and shrink: across, up and along
18
+ gene swell_waves = (7.589, 4.477, 5.267) in (0.5, 0.5, 0.5)..(10, 10, 15)
19
+ gene swell_start = (0.04555, 0.1333, 0.605) in (0, 0, 0)..(1, 1, 1)
20
+
21
+ // The blob's colours, from its middle to the tentacles' tips, and the gaps between them.
22
+ gene skin_1 = hsv(0.7, 1, 1) in hsv(0, 1, 1)..hsv(252, 1, 1)
23
+ gene skin_2 = hsv(216.3, 0.71, 0.42) in hsv(0, 0.6, 0.4)..hsv(252, 1, 1)
24
+ gene skin_3 = hsv(91, 0.69, 0.36) in hsv(0, 0.6, 0.1)..hsv(252, 1, 1)
25
+ gene skin_4 = hsv(63, 0.74, 0.59) in hsv(0, 0.6, 0.1)..hsv(252, 1, 1)
26
+ gene skin_gaps = (0.3973, 0.3537, 0.575) in (0.25, 0.25, 0.25)..(1, 1, 1)
27
+
28
+ gene victim_reach = 1.14 in 0..12 // how far beyond the spikes the butterfly is
29
+ gene victim_turn = (6.431, 40.78, -23.88) in (-343.8, -343.8, -343.8)..(343.8, 343.8, 343.8) // which way it is from the blob
30
+ gene victim_body = hsv(37.3, 0.4, 0.65) in hsv(21.6, 0, 0.4)..hsv(54, 1, 1)
31
+ gene wing_colour = hsv(24.4, 0.84, 0.98) in hsv(21.6, 0, 0.4)..hsv(54, 1, 1)
32
+ gene wing_pattern = hsv(302.8, 1, 1) in hsv(0, 1, 1)..hsv(360, 1, 1)
33
+ gene flap = 0.8071 in 0..10 // where the wings are in their beat
34
+
35
+ let skin = spectrum(skin_1, skin_2 at skin_gaps.x, skin_3 at skin_gaps.x + skin_gaps.y, skin_4 at skin_gaps.x + skin_gaps.y + skin_gaps.z)
36
+
37
+ let spike_radius = max(spike_reach, blob_size / 2 + spike_length / 3)
38
+ let victim_radius = victim_reach + spike_radius + spike_length
39
+
40
+ pitch 90
41
+ yaw 45
42
+ blob
43
+ spikes
44
+ symmetric x {
45
+ branch {
46
+ if side < 0 {
47
+ yaw 90
48
+ }
49
+ legs(leg_tilt * side)
50
+ }
51
+ }
52
+ victim
53
+
54
+ part blob {
55
+ branch {
56
+ sharpness 1
57
+ shine 1
58
+ shape ball
59
+ grow blob_size
60
+ reshape { roll blob_turn.z; yaw blob_turn.y; pitch blob_turn.x }
61
+ grow blob_stretch
62
+ pitch -blob_turn.x
63
+ yaw -blob_turn.y
64
+ roll -blob_turn.z
65
+ colour skin_1
66
+ lay
67
+ }
68
+ }
69
+
70
+ part spikes {
71
+ branch {
72
+ sharpness 1
73
+ shine 1
74
+ shape cone
75
+ colour skin_1
76
+ repeat 20 as k {
77
+ branch {
78
+ // Scattered round the blob, in the original's pseudo-random way.
79
+ yaw degrees(k * 312.129)
80
+ pitch degrees(k * 330.5463)
81
+ forward spike_radius
82
+ roll spike_spin
83
+ grow (1, 1, spike_length)
84
+ lay
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ // Two tentacles, one turned right round from the other.
91
+ part legs(tilt) {
92
+ branch {
93
+ tentacle(tilt)
94
+ grow (-1, 1, -1)
95
+ tentacle(tilt)
96
+ }
97
+ }
98
+
99
+ part tentacle(tilt) {
100
+ branch {
101
+ forward blob_size / 2
102
+ pitch tilt
103
+ shape ball
104
+ repeat 15 as k {
105
+ let along = k / 14
106
+ colour skin(along)
107
+ sharpness 1 - along
108
+ shine 1 - along
109
+ lay
110
+ forward leg_stride / 2
111
+ yaw curl.y * sin(180 * curl_waves.y * along) ^ 3
112
+ pitch curl.x * sin(180 * curl_waves.x * along) ^ 3
113
+ roll curl.z * sin(180 * curl_waves.z * (along - 1)) ^ 3
114
+ grow (1 + swell.x * sin(180 * swell_waves.x * (along - swell_start.x)) ^ 3, 1 + swell.y * sin(180 * swell_waves.y * (along - swell_start.y)) ^ 3, 1 + swell.z * sin(180 * swell_waves.z * (along - swell_start.z)) ^ 3)
115
+ forward leg_stride / 2
116
+ }
117
+ }
118
+ }
119
+
120
+ part victim {
121
+ branch {
122
+ sharpness 1
123
+ shine 1
124
+ colour victim_body
125
+ shape ball
126
+ pitch victim_turn.x
127
+ yaw victim_turn.y
128
+ roll victim_turn.z
129
+ forward victim_radius
130
+ pitch 90
131
+ lay { grow (0.8, 1, 2) }
132
+ symmetric x {
133
+ wing
134
+ }
135
+ }
136
+ }
137
+
138
+ part wing {
139
+ branch {
140
+ yaw -90
141
+ forward 0.4
142
+ pitch 60 * sin(180 * flap)
143
+ grow (1.3, 0.0001, 2.25)
144
+ forward 0.4
145
+ branch {
146
+ colour wing_colour
147
+ lay
148
+ }
149
+ sharpness 0
150
+ shine 1
151
+ colour wing_pattern
152
+ shape ring
153
+ grow (0.7, 2, 0.7)
154
+ lay { pitch 90 }
155
+ }
156
+ }
157
+
158
+ variant member_2 {
159
+ blob_size = 3.153
160
+ blob_stretch = (1.039, 0.8112, 1.033)
161
+ blob_turn = (258, 270.2, -248.3)
162
+ spike_reach = -9.847
163
+ spike_length = 1.024
164
+ spike_spin = -614.5
165
+ leg_tilt = -18.5
166
+ leg_stride = 0.7309
167
+ curl = (-22.04, -25.81, -65.51)
168
+ curl_waves = (2.616, 2.136, 1.969)
169
+ swell = (-0.1044, 0.4281, -0.294)
170
+ swell_waves = (7.538, 5.442, 1.066)
171
+ swell_start = (0.3775, 0.4531, 0.4921)
172
+ skin_1 = hsv(50.8, 1, 1)
173
+ skin_2 = hsv(241.5, 0.84, 0.64)
174
+ skin_3 = hsv(43.6, 0.8, 0.17)
175
+ skin_4 = hsv(116.4, 0.74, 0.67)
176
+ skin_gaps = (0.5583, 0.6567, 0.9832)
177
+ victim_reach = 4.506
178
+ victim_turn = (14.69, -218.6, -144)
179
+ victim_body = hsv(24.4, 0.56, 0.47)
180
+ wing_colour = hsv(27.2, 0.8, 0.47)
181
+ wing_pattern = hsv(228.2, 1, 1)
182
+ flap = 6.551
183
+ }
184
+
185
+ variant member_3 {
186
+ blob_size = 5.555
187
+ blob_stretch = (1, 1.058, 0.809)
188
+ blob_turn = (26.85, -302.8, 0)
189
+ spike_spin = 522.5
190
+ leg_tilt = -32.91
191
+ leg_stride = 0.7068
192
+ curl = (5.699, 36.1, 5.73)
193
+ curl_waves = (1.941, 2.117, 2.873)
194
+ swell = (0.4395, -0.5389, 0.1)
195
+ swell_waves = (7.589, 8.17, 5.267)
196
+ swell_start = (0.6457, 0.1042, 0.605)
197
+ skin_1 = hsv(240.9, 1, 1)
198
+ skin_2 = hsv(12.4, 0.63, 0.55)
199
+ skin_3 = hsv(77.3, 0.95, 0.86)
200
+ skin_4 = hsv(184.1, 0.64, 0.91)
201
+ skin_gaps = (0.7714, 0.9448, 0.367)
202
+ victim_reach = 8.496
203
+ victim_turn = (32.14, 141.2, -23.88)
204
+ victim_body = hsv(31, 0.82, 0.55)
205
+ wing_colour = hsv(28.1, 0.31, 0.79)
206
+ flap = 6.551
207
+ }
208
+
209
+ variant member_4 {
210
+ blob_size = 4.64
211
+ blob_stretch = (1.181, 1.2, 0.9567)
212
+ blob_turn = (-271, 40.61, 219.1)
213
+ spike_reach = -12.18
214
+ spike_length = 1.399
215
+ spike_spin = -151.5
216
+ leg_tilt = 42.84
217
+ leg_stride = 0.7309
218
+ curl = (30.69, 21.99, -73.83)
219
+ curl_waves = (1.702, 2.263, 1.445)
220
+ swell = (-0.2947, 0.189, -0.3424)
221
+ swell_waves = (7.589, 3.065, 9.696)
222
+ swell_start = (0.3923, 0.2721, 0.6071)
223
+ skin_1 = hsv(109.2, 1, 1)
224
+ skin_3 = hsv(166.2, 0.72, 0.19)
225
+ skin_4 = hsv(116.4, 0.74, 0.67)
226
+ skin_gaps = (0.9385, 0.6007, 0.8216)
227
+ victim_reach = 9.884
228
+ victim_turn = (180.9, -212.3, -318.2)
229
+ victim_body = hsv(26.3, 0.37, 0.51)
230
+ wing_colour = hsv(29.4, 0.16, 0.81)
231
+ flap = 2.932
232
+ }
233
+
234
+ variant member_5 {
235
+ blob_size = 1.246
236
+ blob_stretch = (1.181, 1.2, 0.9567)
237
+ blob_turn = (-193.9, -208.6, -23.25)
238
+ spike_reach = -12.26
239
+ spike_length = 0.8617
240
+ spike_spin = -614.5
241
+ leg_tilt = 42.84
242
+ leg_stride = 0.7309
243
+ curl = (30.69, -8.595, -28.76)
244
+ curl_waves = (2.411, 2.782, 2.215)
245
+ swell = (0.01628, -0.693, 0.346)
246
+ swell_waves = (2.342, 3.065, 7.338)
247
+ swell_start = (0.08626, 0.8295, 0.371)
248
+ skin_1 = hsv(212.9, 1, 1)
249
+ skin_2 = hsv(61.5, 0.65, 0.98)
250
+ skin_3 = hsv(11, 0.71, 0.51)
251
+ skin_4 = hsv(116.4, 0.74, 0.67)
252
+ skin_gaps = (0.4113, 0.2745, 0.4313)
253
+ victim_reach = 11.37
254
+ victim_turn = (-32.38, -292.6, 6.811)
255
+ victim_body = hsv(32.7, 0.45, 0.46)
256
+ wing_colour = hsv(26.5, 0.56, 0.86)
257
+ wing_pattern = hsv(16.4, 1, 1)
258
+ flap = 7.753
259
+ }
260
+
261
+ variant member_6 {
262
+ blob_size = 4.235
263
+ blob_stretch = (1.181, 1.2, 0.9567)
264
+ blob_turn = (-200.3, 270.2, -23.25)
265
+ spike_reach = -12.26
266
+ spike_length = 0.5547
267
+ spike_spin = -614.5
268
+ leg_tilt = -36.12
269
+ leg_stride = 0.7309
270
+ curl = (30.69, -8.595, 4.959)
271
+ curl_waves = (1.364, 2.09, 2.215)
272
+ swell = (-0.6568, 0.5367, 0.2912)
273
+ swell_waves = (4.693, 8.981, 1.998)
274
+ swell_start = (0.9629, 0.08442, 0.4921)
275
+ skin_1 = hsv(26.7, 1, 1)
276
+ skin_2 = hsv(248.3, 0.76, 0.52)
277
+ skin_3 = hsv(11, 0.71, 0.51)
278
+ skin_4 = hsv(118, 0.61, 0.32)
279
+ skin_gaps = (0.6262, 0.6207, 0.598)
280
+ victim_reach = 2.979
281
+ victim_turn = (-145.9, -256, 6.811)
282
+ victim_body = hsv(22.4, 0.7, 0.89)
283
+ wing_colour = hsv(45.2, 0.33, 0.69)
284
+ wing_pattern = hsv(240, 1, 1)
285
+ flap = 6.551
286
+ }
287
+
288
+ variant member_7 {
289
+ blob_size = 5.273
290
+ blob_stretch = (1.069, 1.174, 1.043)
291
+ blob_turn = (323.5, 325.5, 61.68)
292
+ spike_reach = 10.66
293
+ spike_length = 1.366
294
+ spike_spin = 382.3
295
+ leg_tilt = 14.46
296
+ leg_stride = 0.7099
297
+ curl = (21.89, -42.79, -37.17)
298
+ curl_waves = (2.393, 1.828, 1.116)
299
+ swell = (-0.3545, 0.5404, -0.2671)
300
+ swell_waves = (1.262, 5.54, 2.316)
301
+ swell_start = (0.6669, 0.002231, 0.797)
302
+ skin_1 = hsv(213.1, 1, 1)
303
+ skin_2 = hsv(75.8, 0.99, 0.82)
304
+ skin_3 = hsv(88.4, 0.69, 0.34)
305
+ skin_4 = hsv(120.6, 0.69, 0.12)
306
+ skin_gaps = (0.954, 0.5196, 0.8816)
307
+ victim_reach = 4.973
308
+ victim_turn = (-288.7, 320.2, -193.2)
309
+ victim_body = hsv(23.6, 0.67, 0.58)
310
+ wing_colour = hsv(50.2, 0.74, 0.69)
311
+ wing_pattern = hsv(42.9, 1, 1)
312
+ flap = 8.855
313
+ }
314
+
315
+ variant member_8 {
316
+ blob_size = 4.063
317
+ blob_stretch = (1.069, 1.174, 1.043)
318
+ blob_turn = (323.5, 305.1, 201.9)
319
+ spike_reach = 8.96
320
+ spike_length = 0.6457
321
+ spike_spin = -410.7
322
+ leg_tilt = -28.56
323
+ leg_stride = 0.8956
324
+ curl = (-56.26, -17.37, -38.4)
325
+ curl_waves = (1.389, 2.903, 1.338)
326
+ swell = (-0.3545, -0.5441, -0.02495)
327
+ swell_waves = (1.262, 9.096, 11.13)
328
+ swell_start = (0.9419, 0.7611, 0.8465)
329
+ skin_1 = hsv(25.4, 1, 1)
330
+ skin_2 = hsv(30.3, 0.84, 0.99)
331
+ skin_3 = hsv(151.2, 0.71, 0.23)
332
+ skin_4 = hsv(199.1, 0.61, 0.87)
333
+ skin_gaps = (0.3289, 0.3929, 0.3219)
334
+ victim_reach = 5.625
335
+ victim_turn = (2.289, 35.69, -193.2)
336
+ victim_body = hsv(23.2, 0.18, 0.93)
337
+ wing_colour = hsv(25.2, 0.49, 0.91)
338
+ wing_pattern = hsv(170.9, 1, 1)
339
+ flap = 7.629
340
+ }
341
+
342
+ variant member_9 {
343
+ blob_size = 4.068
344
+ blob_stretch = (1.08, 0.9381, 1.05)
345
+ blob_turn = (26.85, 139.3, 0)
346
+ spike_reach = 9.306
347
+ spike_length = 1.777
348
+ spike_spin = 522.5
349
+ leg_tilt = 45.18
350
+ leg_stride = 0.7309
351
+ curl = (36.59, -28.12, 5.73)
352
+ curl_waves = (1.435, 2.774, 1.227)
353
+ swell = (0.1179, 0.3901, 0.1)
354
+ swell_waves = (1.16, 0.575, 9.776)
355
+ swell_start = (0.7884, 0.03137, 0.1621)
356
+ skin_1 = hsv(1.1, 1, 1)
357
+ skin_3 = hsv(216.2, 0.96, 0.81)
358
+ skin_4 = hsv(197.6, 0.71, 0.55)
359
+ skin_gaps = (0.8054, 0.8868, 0.367)
360
+ victim_reach = 7.38
361
+ victim_turn = (121, -129.8, -25.85)
362
+ victim_body = hsv(23.2, 0.89, 0.88)
363
+ wing_pattern = hsv(72, 1, 1)
364
+ flap = 8.893
365
+ }
366
+
367
+ variant member_10 {
368
+ blob_size = 4.442
369
+ blob_stretch = (0.8979, 0.8275, 1.133)
370
+ blob_turn = (264, -225.2, 132.3)
371
+ spike_reach = 6.104
372
+ spike_length = 1.577
373
+ spike_spin = 258.6
374
+ leg_tilt = -6.042
375
+ leg_stride = 0.9268
376
+ curl = (-20.46, -1.723, 61.76)
377
+ curl_waves = (2.808, 2.613, 1.993)
378
+ swell = (0.2002, 0.5518, -0.3256)
379
+ swell_waves = (6.744, 3.444, 5.238)
380
+ swell_start = (0.9636, 0.6874, 0.1942)
381
+ skin_1 = hsv(226.2, 1, 1)
382
+ skin_2 = hsv(87.3, 0.66, 0.91)
383
+ skin_3 = hsv(114.5, 0.69, 0.98)
384
+ skin_4 = hsv(188.7, 0.78, 0.24)
385
+ skin_gaps = (0.3289, 0.3434, 0.7357)
386
+ victim_reach = 10.1
387
+ victim_turn = (219.5, -172.7, -136.5)
388
+ victim_body = hsv(32.9, 0.52, 0.76)
389
+ wing_colour = hsv(45.1, 0.2, 0.71)
390
+ wing_pattern = hsv(237.3, 1, 1)
391
+ flap = 1.488
392
+ }
393
+
394
+ variant member_11 {
395
+ blob_size = 1.158
396
+ blob_stretch = (1.181, 1.2, 0.9567)
397
+ blob_turn = (30.12, 270.2, 51.98)
398
+ spike_reach = 5.347
399
+ spike_length = 1.485
400
+ spike_spin = -614.5
401
+ leg_tilt = 35.79
402
+ leg_stride = 0.8161
403
+ curl = (0.5918, 71.25, -65.51)
404
+ curl_waves = (2.823, 2.09, 2.383)
405
+ swell = (-0.1044, 0.4281, -0.3046)
406
+ swell_waves = (4.183, 5.022, 9.998)
407
+ swell_start = (0.06648, 0.6418, 0.655)
408
+ skin_1 = hsv(11, 1, 1)
409
+ skin_2 = hsv(130.8, 0.77, 0.84)
410
+ skin_3 = hsv(8, 0.71, 0.97)
411
+ skin_4 = hsv(23.4, 0.66, 0.58)
412
+ skin_gaps = (0.6262, 0.4024, 0.6362)
413
+ victim_reach = 2.493
414
+ victim_turn = (256.9, -254.1, 223.5)
415
+ victim_body = hsv(24.6, 0.05, 0.51)
416
+ wing_colour = hsv(31.4, 0.67, 0.57)
417
+ wing_pattern = hsv(122.6, 1, 1)
418
+ flap = 6.551
419
+ }
420
+
421
+ variant member_12 {
422
+ blob_size = 1.749
423
+ blob_stretch = (1.069, 1.174, 1.043)
424
+ blob_turn = (323.5, 325.5, 293.9)
425
+ spike_reach = -5.935
426
+ spike_length = 0.5718
427
+ spike_spin = 382.3
428
+ leg_tilt = 14.46
429
+ leg_stride = 0.8774
430
+ curl = (21.89, -42.79, -5.632)
431
+ curl_waves = (2.393, 1.828, 1.116)
432
+ swell = (-0.3545, 0.5404, -0.2682)
433
+ swell_waves = (1.262, 2.619, 2.316)
434
+ swell_start = (0.9419, 0.7611, 0.797)
435
+ skin_1 = hsv(244.4, 1, 1)
436
+ skin_2 = hsv(75.8, 0.99, 0.82)
437
+ skin_3 = hsv(88.4, 0.69, 0.34)
438
+ skin_4 = hsv(231.8, 0.6, 0.69)
439
+ skin_gaps = (0.3289, 0.7549, 0.8816)
440
+ victim_reach = 10.1
441
+ victim_turn = (2.289, 320.2, -193.2)
442
+ victim_body = hsv(43.1, 0.62, 0.6)
443
+ wing_colour = hsv(23, 0.74, 0.94)
444
+ wing_pattern = hsv(175.6, 1, 1)
445
+ flap = 0.004361
446
+ }
447
+
448
+ variant member_13 {
449
+ blob_size = 2.147
450
+ blob_stretch = (0.8024, 1.092, 1.163)
451
+ blob_turn = (323.5, 325.5, 293.9)
452
+ spike_reach = -1.778
453
+ spike_length = 1.424
454
+ spike_spin = 382.3
455
+ leg_tilt = 14.46
456
+ leg_stride = 0.81
457
+ curl = (-19.68, -29.89, 58.63)
458
+ curl_waves = (1.696, 1.828, 2.115)
459
+ swell = (0.6271, -0.3941, -0.3945)
460
+ swell_waves = (1.061, 2.619, 2.316)
461
+ swell_start = (0.9419, 0.3925, 0.797)
462
+ skin_1 = hsv(230, 1, 1)
463
+ skin_2 = hsv(36.1, 0.94, 0.71)
464
+ skin_3 = hsv(88.4, 0.69, 0.34)
465
+ skin_4 = hsv(231.8, 0.6, 0.69)
466
+ skin_gaps = (0.3289, 0.7549, 0.6868)
467
+ victim_reach = 7.685
468
+ victim_turn = (156.8, 320.2, -193.2)
469
+ victim_body = hsv(30.6, 0.21, 0.43)
470
+ wing_colour = hsv(26.2, 0.49, 0.67)
471
+ wing_pattern = hsv(238, 1, 1)
472
+ flap = 0.004361
473
+ }