tawasuyu/llimphi
Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.
chore: refresco desde el monorepo — 132 miembros, 79 widgets, la galería vuelve y licencia dual
1//! **Recetas del bestiario** — las proporciones y la paleta de cada [`Bicho`], en el
2//! mismo espíritu que [`EstiloSer`](crate::EstiloSer) para la gente: números con
3//! nombre, no geometría.
4//!
5//! Un bicho no se modela: se **describe** (qué tan largo, qué tan alto de patas, qué
6//! cuello, qué orejas, qué cola, qué patrón) y [`bicho_sdf`](crate::bicho_sdf) lo
7//! arma. Por eso una especie nueva es una fila de esta tabla y no un archivo nuevo,
8//! y por eso dos especies parecidas comparten silueta pero no se confunden: cambian
9//! seis números.
10//!
11//! Las fracciones son **relativas a la altura del lomo** (o del cuerpo, según la
12//! familia) y el ensamble se re-escala al final a la altura pedida — así una jirafa
13//! y un erizo se escriben con los mismos rangos.
14
15use crate::bicho::Bicho;
16use crate::sdf_kit::{rgb, tono};
17
18/// Cómo se pinta un bicho: cuerpo, vientre, un detalle (melena/ala/caparazón), un
19/// extra duro (pico/pezuña/cuerno) y el ojo, más un patrón opcional.
20#[derive(Debug, Clone, Copy)]
21pub struct Pinta {
22 pub cuerpo: [f32; 3],
23 pub vientre: [f32; 3],
24 pub detalle: [f32; 3],
25 pub extra: [f32; 3],
26 pub ojo: [f32; 3],
27 pub patron: Patron,
28 pub patron_col: [f32; 3],
29 /// `true` = el ojo lleva esclera blanca visible (primates, aves de dibujo);
30 /// `false` = globo oscuro a secas, que es lo que se ve en un ciervo o un perro.
31 pub esclera: bool,
32}
33
34/// Patrón de pelaje/plumaje pintado con decals sobre el cuerpo ya armado.
35#[derive(Debug, Clone, Copy, PartialEq, Eq)]
36pub enum Patron {
37 /// Sin marcas.
38 Liso,
39 /// Manchas redondas repartidas por el lomo (vaca, jirafa, ciervo, jaguar).
40 Manchas,
41 /// Rayas transversales (cebra, tigre, abeja).
42 Rayas,
43 /// Antifaz oscuro alrededor de los ojos (mapache, panda).
44 Antifaz,
45 /// Montura: el lomo de un color y los flancos del otro (tapir, cerdo pintado).
46 Montura,
47 /// Rombos a lo largo del cuerpo (serpientes).
48 Rombos,
49 /// Anillos a lo largo de la cola/cuerpo (mapache, coral, lémur).
50 Anillos,
51 /// Lunares chicos y densos (huevo, cervatillo, mariquita).
52 Lunares,
53}
54
55impl Pinta {
56 /// Paleta de pelaje a partir del color del cuerpo: vientre aclarado, detalle
57 /// oscurecido, pezuñas grises, ojo casi negro.
58 pub fn pelo(hex: u32) -> Self {
59 let c = rgb(hex);
60 Self {
61 cuerpo: c,
62 vientre: tono(c, 1.28),
63 detalle: tono(c, 0.66),
64 extra: rgb(0x4A4A50),
65 ojo: rgb(0x1A1518),
66 patron: Patron::Liso,
67 patron_col: tono(c, 0.5),
68 esclera: false,
69 }
70 }
71 /// Paleta de plumaje: igual que [`pelo`](Self::pelo) pero con pico/patas cálidos.
72 pub fn pluma(hex: u32) -> Self {
73 let mut p = Self::pelo(hex);
74 p.extra = rgb(0xE0A03C);
75 p
76 }
77 pub fn vientre(mut self, hex: u32) -> Self {
78 self.vientre = rgb(hex);
79 self
80 }
81 pub fn detalle(mut self, hex: u32) -> Self {
82 self.detalle = rgb(hex);
83 self
84 }
85 pub fn extra(mut self, hex: u32) -> Self {
86 self.extra = rgb(hex);
87 self
88 }
89 pub fn ojo(mut self, hex: u32) -> Self {
90 self.ojo = rgb(hex);
91 self
92 }
93 pub fn con_esclera(mut self) -> Self {
94 self.esclera = true;
95 self
96 }
97 pub fn patron(mut self, p: Patron, hex: u32) -> Self {
98 self.patron = p;
99 self.patron_col = rgb(hex);
100 self
101 }
102}
103
104/// Orejas.
105#[derive(Debug, Clone, Copy, PartialEq, Eq)]
106pub enum Oreja {
107 Ninguna,
108 /// Redondas y pegadas (oso, koala, mono).
109 Redonda,
110 /// Triangulares paradas (gato, zorro, lobo).
111 Punta,
112 /// Largas paradas (conejo, burro, liebre).
113 Larga,
114 /// Caídas a los costados (perro de caza, cabra, cerdo).
115 Caida,
116 /// Abanicos grandes (elefante).
117 Abanico,
118 /// Cuencos laterales de caballo/vaca (cortas, hacia afuera).
119 Lateral,
120}
121
122/// Cuernos, astas y colmillos.
123#[derive(Debug, Clone, Copy, PartialEq, Eq)]
124pub enum Cuerno {
125 Ninguno,
126 /// Dos cuernitos curvos hacia arriba (cabra, vaca, toro).
127 Cortos,
128 /// Dos cuernos largos en lira (búfalo, íbice).
129 Largos,
130 /// Astas ramificadas (ciervo, alce).
131 Astas,
132 /// Un cuerno recto sobre el hocico (rinoceronte).
133 Nasal,
134 /// Dos colmillos que salen de la boca (elefante, jabalí, morsa).
135 Colmillos,
136}
137
138/// Colas.
139#[derive(Debug, Clone, Copy, PartialEq, Eq)]
140pub enum Cola {
141 Ninguna,
142 /// Muñón (oso, conejo, cerdo).
143 Muñon,
144 /// Larga y fina, con penacho al final (vaca, león, jirafa).
145 Penacho,
146 /// Larga y tupida (zorro, ardilla, lobo).
147 Tupida,
148 /// Larga y desnuda, prensil (mono, ratón, lagarto).
149 Prensil,
150 /// Enroscada sobre el lomo (cerdo, perro nórdico).
151 Rulo,
152 /// Gruesa en la base, se usa de contrapeso (canguro, cocodrilo, tigre).
153 Gruesa,
154 /// Crin de pelo que cuelga (caballo, burro).
155 Crin,
156}
157
158/// **Cuadrúpedo**: la receta más poblada del bestiario (mamíferos terrestres y el
159/// grueso de la granja). Todas las fracciones son de la **altura del lomo**.
160#[derive(Debug, Clone, Copy)]
161pub struct Cuadrupedo {
162 /// Largo del tronco (sin cuello ni cola).
163 pub largo: f32,
164 /// Alto de la panza = dónde empiezan las patas.
165 pub pata: f32,
166 /// Radio de una pata.
167 pub pata_r: f32,
168 /// Radio del tronco a media eslora.
169 pub cuerpo_r: f32,
170 /// Radio del pecho relativo al tronco (`1` = parejo; oso `1.25`).
171 pub pecho: f32,
172 /// Radio de la grupa relativo al tronco (caballo `1.05`, hiena `0.8`).
173 pub grupa: f32,
174 /// Combado del lomo: `+` arquea hacia arriba (gato, oso), `-` lo hunde (vaca vieja).
175 pub lomo: f32,
176 /// Largo del cuello (`0` = cabeza pegada al tronco).
177 pub cuello: f32,
178 /// Ángulo del cuello desde la horizontal: `0` = adelante, `1.4` = casi vertical.
179 pub cuello_ang: f32,
180 /// Radio del cuello.
181 pub cuello_r: f32,
182 /// Radio de la cabeza.
183 pub cabeza: f32,
184 /// Semiejes de la cabeza relativos a `cabeza` (ancho, alto, largo).
185 pub craneo: [f32; 3],
186 /// Largo del hocico en radios de cabeza (`0` = cara chata: gato, oso panda).
187 pub hocico: f32,
188 /// Radio del hocico relativo a la cabeza.
189 pub hocico_r: f32,
190 pub oreja: Oreja,
191 pub oreja_tam: f32,
192 pub cuerno: Cuerno,
193 pub cola: Cola,
194 /// Largo de la cola en fracciones del tronco.
195 pub cola_len: f32,
196 /// Jorobas sobre el lomo (`1` dromedario, `2` camello bactriano, bisonte `1` alta).
197 pub jorobas: u8,
198 pub joroba_alto: f32,
199 /// Melena alrededor del cuello (león) o crin sobre él (caballo): `0` = sin.
200 pub melena: f32,
201 /// Lana: bultos mullidos sobre el cuerpo (oveja, alpaca).
202 pub lana: f32,
203 /// Púas: conos cortos por el lomo (erizo, puercoespín).
204 pub puas: f32,
205 /// Trompa (elefante, tapir, oso hormiguero): largo en radios de cabeza.
206 pub trompa: f32,
207 /// Radio del ojo relativo a la cabeza.
208 pub ojo: f32,
209 /// Cuánto se separan los ojos del frente (`0` = al frente como un primate,
210 /// `1` = a los costados como una presa).
211 pub ojo_lateral: f32,
212 /// Se para en dos patas (canguro, oso hormiguero erguido, suricata).
213 pub bipedo: bool,
214 pub pinta: Pinta,
215}
216
217impl Default for Cuadrupedo {
218 /// El perro genérico: la silueta media desde la que se escriben las demás.
219 fn default() -> Self {
220 Self {
221 largo: 1.15,
222 pata: 0.46,
223 pata_r: 0.075,
224 cuerpo_r: 0.26,
225 pecho: 1.06,
226 grupa: 1.0,
227 lomo: 0.02,
228 cuello: 0.22,
229 cuello_ang: 0.55,
230 cuello_r: 0.14,
231 cabeza: 0.27,
232 craneo: [0.92, 0.92, 1.06],
233 hocico: 0.85,
234 hocico_r: 0.44,
235 oreja: Oreja::Punta,
236 oreja_tam: 1.0,
237 cuerno: Cuerno::Ninguno,
238 cola: Cola::Tupida,
239 cola_len: 0.55,
240 jorobas: 0,
241 joroba_alto: 0.0,
242 melena: 0.0,
243 lana: 0.0,
244 puas: 0.0,
245 trompa: 0.0,
246 ojo: 0.19,
247 ojo_lateral: 0.45,
248 bipedo: false,
249 pinta: Pinta::pelo(0xB08048),
250 }
251 }
252}
253
254/// Pico de un ave.
255#[derive(Debug, Clone, Copy, PartialEq, Eq)]
256pub enum Pico {
257 /// Cono corto de granívoro (gorrión, cardenal).
258 Corto,
259 /// Cono largo y recto (garza, cigüeña, martín pescador).
260 Largo,
261 /// Ganchudo (águila, cóndor, loro).
262 Curvo,
263 /// Enorme y liviano (tucán, pelícano).
264 Ancho,
265 /// Aguja (colibrí).
266 Aguja,
267 /// Pala achatada (pato, ganso, cisne).
268 Pala,
269}
270
271/// Copete/cresta.
272#[derive(Debug, Clone, Copy, PartialEq, Eq)]
273pub enum Cresta {
274 Ninguna,
275 /// Punta de plumas hacia arriba/atrás (cardenal, quetzal).
276 Punta,
277 /// Cresta carnosa roja (gallo).
278 Gallo,
279 /// Penacho largo hacia atrás (cacatúa, pavo real).
280 Penacho,
281 /// Penachos de oreja (búho).
282 Orejas,
283}
284
285/// Cómo llevan las alas.
286#[derive(Debug, Clone, Copy, PartialEq, Eq)]
287pub enum Ala {
288 /// Plegadas contra el cuerpo (lo normal en el suelo).
289 Plegada,
290 /// Extendidas (planeando).
291 Abierta,
292 /// Batiendo: el ángulo sale de la fase (colibrí, mariposa, ave en vuelo).
293 Bate,
294 /// Aletas: no vuela (pingüino).
295 Aleta,
296}
297
298/// Cola de un ave.
299#[derive(Debug, Clone, Copy, PartialEq, Eq)]
300pub enum ColaAve {
301 Corta,
302 /// Dos plumas largas (guacamayo, quetzal, golondrina).
303 Larga,
304 /// Abanico de plumas (gallo, paloma).
305 Abanico,
306 /// La rueda del pavo real (abanico grande con ocelos).
307 Rueda,
308}
309
310/// **Ave**: cuerpo ovoide inclinado + cuello + cabeza + pico, sobre dos patas.
311/// Fracciones relativas a la **altura total del ave parada**.
312#[derive(Debug, Clone, Copy)]
313pub struct Ave {
314 /// Semiejes del cuerpo (ancho, alto, largo).
315 pub cuerpo: [f32; 3],
316 /// Inclinación del eje del cuerpo: `0` = vertical (pingüino), `1.3` = horizontal
317 /// (gorrión posado, gallina).
318 pub inclina: f32,
319 pub cuello: f32,
320 /// Curvatura en S del cuello (cisne, garza).
321 pub cuello_s: f32,
322 pub cuello_r: f32,
323 pub cabeza: f32,
324 pub pico: Pico,
325 pub pico_len: f32,
326 pub pico_r: f32,
327 pub cresta: Cresta,
328 pub ala: Ala,
329 pub cola: ColaAve,
330 pub cola_len: f32,
331 /// Largo de las patas (`0.05` gorrión, `0.55` flamenco).
332 pub pata: f32,
333 pub pata_r: f32,
334 pub ojo: f32,
335 pub pinta: Pinta,
336}
337
338impl Default for Ave {
339 /// El pájaro genérico posado (gorrión).
340 fn default() -> Self {
341 Self {
342 cuerpo: [0.30, 0.32, 0.40],
343 inclina: 1.05,
344 cuello: 0.10,
345 cuello_s: 0.0,
346 cuello_r: 0.14,
347 cabeza: 0.22,
348 pico: Pico::Corto,
349 pico_len: 0.9,
350 pico_r: 0.42,
351 cresta: Cresta::Ninguna,
352 ala: Ala::Plegada,
353 cola: ColaAve::Corta,
354 cola_len: 0.5,
355 pata: 0.14,
356 pata_r: 0.028,
357 ojo: 0.30,
358 pinta: Pinta::pluma(0x8A6A48),
359 }
360 }
361}
362
363/// **Reptante**: lo que va bajo y largo — serpientes (sin patas), lagartos y
364/// cocodrilos (cuatro patas cortas y abiertas), tortugas (con caparazón), ranas.
365#[derive(Debug, Clone, Copy)]
366pub struct Reptante {
367 /// Largo del cuerpo en fracciones de… su propio grosor: acá manda el largo, y la
368 /// escala final la fija la altura pedida.
369 pub largo: f32,
370 pub grosor: f32,
371 /// Cuántas ondas dibuja el cuerpo en el piso (serpiente).
372 pub ondas: f32,
373 pub amplitud: f32,
374 /// Patas (`0` serpiente, `4` lagarto).
375 pub patas: u8,
376 pub pata: f32,
377 /// Cuánto se abren las patas hacia afuera (reptil = mucho).
378 pub abertura: f32,
379 pub cabeza: f32,
380 /// Largo del hocico en radios de cabeza (cocodrilo = 3).
381 pub hocico: f32,
382 /// Capucha desplegada (cobra).
383 pub capucha: f32,
384 /// Cresta dorsal de púas (iguana, dragón).
385 pub cresta: f32,
386 /// Caparazón abovedado (tortuga).
387 pub caparazon: f32,
388 /// Cascabel en la punta de la cola.
389 pub cascabel: bool,
390 /// Lengua bífida asomada.
391 pub lengua: bool,
392 /// Se levanta el tercio delantero (cobra alzada, iguana atenta).
393 pub alza: f32,
394 /// Cuerpo agazapado de anfibio: patas traseras plegadas y ojos arriba.
395 pub anfibio: bool,
396 pub ojo: f32,
397 pub pinta: Pinta,
398}
399
400impl Default for Reptante {
401 /// La serpiente genérica.
402 fn default() -> Self {
403 Self {
404 largo: 6.0,
405 grosor: 0.5,
406 ondas: 1.6,
407 amplitud: 1.1,
408 patas: 0,
409 pata: 0.5,
410 abertura: 0.9,
411 cabeza: 0.72,
412 hocico: 1.0,
413 capucha: 0.0,
414 cresta: 0.0,
415 caparazon: 0.0,
416 cascabel: false,
417 lengua: true,
418 alza: 0.0,
419 anfibio: false,
420 ojo: 0.26,
421 pinta: Pinta::pelo(0x5C8C3E),
422 }
423 }
424}
425
426/// **Nadador**: pez, delfín, ballena, tiburón. Va con el cuerpo horizontal y su
427/// altura de referencia es la del cuerpo (el catálogo lo posa flotando).
428#[derive(Debug, Clone, Copy)]
429pub struct Nadador {
430 /// Semiejes del cuerpo (ancho, alto, largo).
431 pub cuerpo: [f32; 3],
432 /// Aleta caudal vertical (peces) u horizontal (cetáceos).
433 pub caudal_vertical: bool,
434 pub caudal: f32,
435 pub dorsal: f32,
436 pub pectoral: f32,
437 /// Hocico prolongado (delfín, pez espada).
438 pub hocico: f32,
439 /// Boca abierta hacia abajo (tiburón).
440 pub boca: f32,
441 /// Tentáculos (pulpo, medusa): cuántos y qué largo.
442 pub tentaculos: u8,
443 pub tentaculo_len: f32,
444 pub ojo: f32,
445 pub pinta: Pinta,
446}
447
448impl Default for Nadador {
449 fn default() -> Self {
450 Self {
451 cuerpo: [0.26, 0.42, 0.72],
452 caudal_vertical: true,
453 caudal: 0.45,
454 dorsal: 0.35,
455 pectoral: 0.25,
456 hocico: 0.0,
457 boca: 0.0,
458 tentaculos: 0,
459 tentaculo_len: 0.0,
460 ojo: 0.16,
461 pinta: Pinta::pelo(0xE08A3C),
462 }
463 }
464}
465
466/// Alas de un artrópodo.
467#[derive(Debug, Clone, Copy, PartialEq, Eq)]
468pub enum AlaBicho {
469 Ninguna,
470 /// Cuatro alas anchas y planas, pintadas (mariposa).
471 Mariposa,
472 /// Membranas finas y alargadas (abeja, libélula, mosca).
473 Membrana,
474 /// Élitros duros que cubren el abdomen (escarabajo, mariquita).
475 Elitros,
476}
477
478/// **Insecto y afines** (artrópodos y caracoles): cadena de segmentos + patas finas.
479#[derive(Debug, Clone, Copy)]
480pub struct Insecto {
481 /// Segmentos del cuerpo (cabeza, tórax, abdomen…): radios sucesivos.
482 pub segmentos: [f32; 3],
483 /// Largo total del cuerpo.
484 pub largo: f32,
485 pub patas: u8,
486 pub pata: f32,
487 /// Cuánto se arquean las patas.
488 pub arco: f32,
489 pub alas: AlaBicho,
490 pub ala_len: f32,
491 pub antenas: f32,
492 /// Pinzas delanteras (escorpión, cangrejo).
493 pub pinzas: f32,
494 /// Cola en alto con aguijón (escorpión).
495 pub aguijon: f32,
496 /// Concha en espiral (caracol).
497 pub concha: f32,
498 /// Ojos sobre pedúnculos (caracol, cangrejo).
499 pub pedunculos: bool,
500 pub ojo: f32,
501 pub pinta: Pinta,
502}
503
504impl Default for Insecto {
505 fn default() -> Self {
506 Self {
507 segmentos: [0.30, 0.36, 0.44],
508 largo: 1.0,
509 patas: 6,
510 pata: 0.45,
511 arco: 0.5,
512 alas: AlaBicho::Ninguna,
513 ala_len: 0.9,
514 antenas: 0.4,
515 pinzas: 0.0,
516 aguijon: 0.0,
517 concha: 0.0,
518 pedunculos: false,
519 ojo: 0.22,
520 pinta: Pinta::pelo(0x3A3A42),
521 }
522 }
523}
524
525/// La receta de un bicho, por familia morfológica.
526#[derive(Debug, Clone, Copy)]
527pub enum Receta {
528 Cuatro(Cuadrupedo),
529 Ave(Ave),
530 Reptante(Reptante),
531 Nadador(Nadador),
532 Insecto(Insecto),
533}
534
535impl Receta {
536 /// Nombre de la familia (para la UI y los informes).
537 pub fn familia(&self) -> &'static str {
538 match self {
539 Receta::Cuatro(_) => "cuadrúpedo",
540 Receta::Ave(_) => "ave",
541 Receta::Reptante(_) => "reptante",
542 Receta::Nadador(_) => "nadador",
543 Receta::Insecto(_) => "insecto",
544 }
545 }
546
547 /// La paleta del bicho, sea de la familia que sea.
548 pub fn pinta(&self) -> &Pinta {
549 match self {
550 Receta::Cuatro(c) => &c.pinta,
551 Receta::Ave(a) => &a.pinta,
552 Receta::Reptante(r) => &r.pinta,
553 Receta::Nadador(n) => &n.pinta,
554 Receta::Insecto(i) => &i.pinta,
555 }
556 }
557}
558
559/// **La receta de cada especie.** Una fila por bicho: lo que la distingue, sobre el
560/// default de su familia.
561pub fn receta(b: Bicho) -> Receta {
562 match b {
563 // ---------------- Granja ----------------
564 Bicho::Vaca => Receta::Cuatro(Cuadrupedo {
565 largo: 1.35,
566 pata: 0.50,
567 cuerpo_r: 0.31,
568 grupa: 1.06,
569 cuello: 0.20,
570 cuello_ang: 0.30,
571 cuello_r: 0.19,
572 cabeza: 0.26,
573 craneo: [0.86, 0.92, 1.20],
574 hocico: 1.0,
575 hocico_r: 0.62,
576 oreja: Oreja::Lateral,
577 cuerno: Cuerno::Cortos,
578 cola: Cola::Penacho,
579 cola_len: 0.8,
580 ojo_lateral: 0.8,
581 pinta: Pinta::pelo(0xF2EEE6)
582 .detalle(0x33302E)
583 .extra(0xE8E0CE)
584 .patron(Patron::Manchas, 0x2E2B29),
585 ..Default::default()
586 }),
587 Bicho::Toro => Receta::Cuatro(Cuadrupedo {
588 largo: 1.30,
589 pata: 0.48,
590 cuerpo_r: 0.34,
591 pecho: 1.20,
592 grupa: 0.98,
593 lomo: 0.06,
594 cuello: 0.15,
595 cuello_ang: 0.18,
596 cuello_r: 0.25,
597 cabeza: 0.27,
598 craneo: [0.94, 0.94, 1.10],
599 hocico: 0.85,
600 hocico_r: 0.66,
601 oreja: Oreja::Lateral,
602 cuerno: Cuerno::Largos,
603 cola: Cola::Penacho,
604 cola_len: 0.75,
605 jorobas: 1,
606 joroba_alto: 0.10,
607 ojo_lateral: 0.75,
608 pinta: Pinta::pelo(0x4A3428).extra(0xD8CFC0),
609 ..Default::default()
610 }),
611 Bicho::Oveja => Receta::Cuatro(Cuadrupedo {
612 largo: 1.05,
613 pata: 0.42,
614 pata_r: 0.062,
615 cuerpo_r: 0.33,
616 cuello: 0.10,
617 cuello_ang: 0.35,
618 cuello_r: 0.16,
619 cabeza: 0.22,
620 craneo: [0.86, 0.94, 1.10],
621 hocico: 0.9,
622 hocico_r: 0.52,
623 oreja: Oreja::Caida,
624 oreja_tam: 0.9,
625 cola: Cola::Muñon,
626 lana: 1.0,
627 ojo_lateral: 0.8,
628 pinta: Pinta::pelo(0xF0EAE0).detalle(0x2E2C2E).extra(0x2E2C2E),
629 ..Default::default()
630 }),
631 Bicho::Cabra => Receta::Cuatro(Cuadrupedo {
632 largo: 1.05,
633 pata: 0.50,
634 pata_r: 0.055,
635 cuerpo_r: 0.24,
636 cuello: 0.18,
637 cuello_ang: 0.55,
638 cuello_r: 0.13,
639 cabeza: 0.22,
640 craneo: [0.82, 0.90, 1.16],
641 hocico: 1.0,
642 hocico_r: 0.48,
643 oreja: Oreja::Caida,
644 cuerno: Cuerno::Cortos,
645 cola: Cola::Muñon,
646 ojo_lateral: 0.8,
647 pinta: Pinta::pelo(0xD8CDB6).detalle(0x6A5A46).extra(0xCFC6B0),
648 ..Default::default()
649 }),
650 Bicho::Cerdo => Receta::Cuatro(Cuadrupedo {
651 largo: 1.25,
652 pata: 0.34,
653 pata_r: 0.070,
654 cuerpo_r: 0.36,
655 pecho: 0.98,
656 grupa: 1.05,
657 cuello: 0.05,
658 cuello_ang: 0.20,
659 cuello_r: 0.22,
660 cabeza: 0.24,
661 craneo: [0.90, 0.86, 1.20],
662 hocico: 1.0,
663 hocico_r: 0.60,
664 oreja: Oreja::Caida,
665 oreja_tam: 1.1,
666 cola: Cola::Rulo,
667 cola_len: 0.3,
668 ojo: 0.15,
669 ojo_lateral: 0.8,
670 pinta: Pinta::pelo(0xE8A8A4).detalle(0xC77E80),
671 ..Default::default()
672 }),
673 Bicho::Caballo => Receta::Cuatro(Cuadrupedo {
674 largo: 1.25,
675 pata: 0.58,
676 pata_r: 0.062,
677 cuerpo_r: 0.27,
678 pecho: 1.10,
679 grupa: 1.08,
680 cuello: 0.42,
681 cuello_ang: 0.85,
682 cuello_r: 0.15,
683 cabeza: 0.22,
684 craneo: [0.78, 0.92, 1.32],
685 hocico: 1.1,
686 hocico_r: 0.55,
687 oreja: Oreja::Punta,
688 oreja_tam: 0.8,
689 cola: Cola::Crin,
690 cola_len: 0.9,
691 melena: 0.8,
692 ojo_lateral: 0.85,
693 pinta: Pinta::pelo(0x8A5A32).detalle(0x35281E).extra(0x3A332C),
694 ..Default::default()
695 }),
696 Bicho::Burro => Receta::Cuatro(Cuadrupedo {
697 largo: 1.15,
698 pata: 0.52,
699 pata_r: 0.058,
700 cuerpo_r: 0.26,
701 cuello: 0.30,
702 cuello_ang: 0.80,
703 cuello_r: 0.14,
704 cabeza: 0.23,
705 craneo: [0.80, 0.92, 1.26],
706 hocico: 1.05,
707 hocico_r: 0.55,
708 oreja: Oreja::Larga,
709 oreja_tam: 1.2,
710 cola: Cola::Crin,
711 cola_len: 0.7,
712 melena: 0.3,
713 ojo_lateral: 0.85,
714 pinta: Pinta::pelo(0x9A9490).vientre(0xD6D0C6).detalle(0x4A453F),
715 ..Default::default()
716 }),
717 Bicho::Gallina => Receta::Ave(Ave {
718 cuerpo: [0.32, 0.34, 0.42],
719 inclina: 1.10,
720 cuello: 0.16,
721 cabeza: 0.19,
722 pico: Pico::Corto,
723 pico_len: 0.8,
724 cresta: Cresta::Gallo,
725 cola: ColaAve::Abanico,
726 cola_len: 0.45,
727 pata: 0.16,
728 pinta: Pinta::pluma(0xF0EAE0).detalle(0xD8CEBE).extra(0xE0A03C),
729 ..Default::default()
730 }),
731 Bicho::Gallo => Receta::Ave(Ave {
732 cuerpo: [0.30, 0.36, 0.40],
733 inclina: 0.85,
734 cuello: 0.24,
735 cabeza: 0.19,
736 pico: Pico::Corto,
737 cresta: Cresta::Gallo,
738 cola: ColaAve::Abanico,
739 cola_len: 0.75,
740 pata: 0.20,
741 pinta: Pinta::pluma(0x8A3A2A)
742 .vientre(0x2E2A2E)
743 .detalle(0x1F6B4A)
744 .extra(0xE8B23C),
745 ..Default::default()
746 }),
747 Bicho::Pato => Receta::Ave(Ave {
748 cuerpo: [0.32, 0.30, 0.46],
749 inclina: 1.25,
750 cuello: 0.16,
751 cuello_r: 0.16,
752 cabeza: 0.19,
753 pico: Pico::Pala,
754 pico_len: 1.0,
755 cola: ColaAve::Corta,
756 pata: 0.10,
757 pinta: Pinta::pluma(0xF0EDE6).detalle(0x2E6B4A).extra(0xE8A030),
758 ..Default::default()
759 }),
760 Bicho::Ganso => Receta::Ave(Ave {
761 cuerpo: [0.30, 0.30, 0.44],
762 inclina: 1.15,
763 cuello: 0.34,
764 cuello_s: 0.25,
765 cuello_r: 0.11,
766 cabeza: 0.16,
767 pico: Pico::Pala,
768 pata: 0.14,
769 pinta: Pinta::pluma(0xE8E2D6).detalle(0x8A8276).extra(0xE07A28),
770 ..Default::default()
771 }),
772
773 // ---------------- Compañía ----------------
774 Bicho::Perro => Receta::Cuatro(Cuadrupedo {
775 cola: Cola::Tupida,
776 cola_len: 0.6,
777 oreja: Oreja::Caida,
778 pinta: Pinta::pelo(0xB8813E).vientre(0xE6D2B0).detalle(0x6B4A22),
779 ..Default::default()
780 }),
781 Bicho::Gato => Receta::Cuatro(Cuadrupedo {
782 largo: 1.10,
783 pata: 0.44,
784 pata_r: 0.055,
785 cuerpo_r: 0.21,
786 lomo: 0.10,
787 cuello: 0.10,
788 cuello_ang: 0.45,
789 cuello_r: 0.12,
790 cabeza: 0.24,
791 craneo: [1.0, 0.94, 0.92],
792 hocico: 0.35,
793 hocico_r: 0.5,
794 oreja: Oreja::Punta,
795 oreja_tam: 1.2,
796 cola: Cola::Prensil,
797 cola_len: 0.95,
798 ojo: 0.22,
799 ojo_lateral: 0.30,
800 pinta: Pinta::pelo(0x8A8A92)
801 .vientre(0xE0DCD4)
802 .ojo(0x3A8A5A)
803 .patron(Patron::Rayas, 0x55555E),
804 ..Default::default()
805 }),
806
807 // ---------------- Bosque templado ----------------
808 Bicho::Ciervo => Receta::Cuatro(Cuadrupedo {
809 largo: 1.10,
810 pata: 0.58,
811 pata_r: 0.048,
812 cuerpo_r: 0.23,
813 cuello: 0.34,
814 cuello_ang: 1.0,
815 cuello_r: 0.12,
816 cabeza: 0.20,
817 craneo: [0.80, 0.90, 1.24],
818 hocico: 1.0,
819 hocico_r: 0.48,
820 oreja: Oreja::Larga,
821 oreja_tam: 0.9,
822 cuerno: Cuerno::Astas,
823 cola: Cola::Muñon,
824 ojo_lateral: 0.85,
825 pinta: Pinta::pelo(0xA9743E)
826 .vientre(0xEADCC4)
827 .extra(0xD8CDB4)
828 .patron(Patron::Lunares, 0xF0E4CE),
829 ..Default::default()
830 }),
831 Bicho::Alce => Receta::Cuatro(Cuadrupedo {
832 largo: 1.25,
833 pata: 0.62,
834 pata_r: 0.062,
835 cuerpo_r: 0.28,
836 pecho: 1.14,
837 jorobas: 1,
838 joroba_alto: 0.13,
839 cuello: 0.22,
840 cuello_ang: 0.62,
841 cuello_r: 0.18,
842 cabeza: 0.23,
843 craneo: [0.80, 0.92, 1.34],
844 hocico: 1.15,
845 hocico_r: 0.62,
846 oreja: Oreja::Larga,
847 cuerno: Cuerno::Astas,
848 cola: Cola::Muñon,
849 ojo_lateral: 0.85,
850 pinta: Pinta::pelo(0x4E3A2A).detalle(0x2E241C).extra(0xC9B189),
851 ..Default::default()
852 }),
853 Bicho::Zorro => Receta::Cuatro(Cuadrupedo {
854 largo: 1.15,
855 pata: 0.42,
856 pata_r: 0.05,
857 cuerpo_r: 0.21,
858 cuello: 0.12,
859 cuello_ang: 0.40,
860 cuello_r: 0.13,
861 cabeza: 0.23,
862 craneo: [0.92, 0.90, 1.14],
863 hocico: 1.15,
864 hocico_r: 0.36,
865 oreja: Oreja::Punta,
866 oreja_tam: 1.25,
867 cola: Cola::Tupida,
868 cola_len: 0.95,
869 ojo_lateral: 0.4,
870 pinta: Pinta::pelo(0xD2712A).vientre(0xF2ECE2).detalle(0x2E2A28),
871 ..Default::default()
872 }),
873 Bicho::Lobo => Receta::Cuatro(Cuadrupedo {
874 largo: 1.25,
875 pata: 0.50,
876 pata_r: 0.062,
877 cuerpo_r: 0.24,
878 pecho: 1.12,
879 cuello: 0.16,
880 cuello_ang: 0.35,
881 cuello_r: 0.17,
882 cabeza: 0.24,
883 craneo: [0.90, 0.90, 1.18],
884 hocico: 1.1,
885 hocico_r: 0.42,
886 oreja: Oreja::Punta,
887 cola: Cola::Tupida,
888 cola_len: 0.7,
889 melena: 0.25,
890 ojo_lateral: 0.35,
891 pinta: Pinta::pelo(0x8A8890).vientre(0xD8D4CC).detalle(0x4A4850).ojo(0xC8A020),
892 ..Default::default()
893 }),
894 Bicho::Oso => Receta::Cuatro(Cuadrupedo {
895 largo: 1.20,
896 pata: 0.40,
897 pata_r: 0.105,
898 cuerpo_r: 0.36,
899 pecho: 1.18,
900 lomo: 0.10,
901 cuello: 0.06,
902 cuello_ang: 0.25,
903 cuello_r: 0.24,
904 cabeza: 0.27,
905 craneo: [0.96, 0.92, 1.06],
906 hocico: 0.75,
907 hocico_r: 0.52,
908 oreja: Oreja::Redonda,
909 cola: Cola::Muñon,
910 ojo: 0.14,
911 ojo_lateral: 0.35,
912 pinta: Pinta::pelo(0x6B4A2E).detalle(0x3E2A1C),
913 ..Default::default()
914 }),
915 Bicho::Panda => Receta::Cuatro(Cuadrupedo {
916 largo: 1.15,
917 pata: 0.36,
918 pata_r: 0.11,
919 cuerpo_r: 0.38,
920 pecho: 1.10,
921 lomo: 0.06,
922 cuello: 0.04,
923 cuello_r: 0.24,
924 cabeza: 0.30,
925 craneo: [1.02, 0.96, 0.96],
926 hocico: 0.45,
927 hocico_r: 0.50,
928 oreja: Oreja::Redonda,
929 oreja_tam: 1.3,
930 cola: Cola::Muñon,
931 ojo: 0.13,
932 ojo_lateral: 0.25,
933 pinta: Pinta::pelo(0xF2EFE8)
934 .detalle(0x24222A)
935 .extra(0x24222A)
936 .patron(Patron::Antifaz, 0x24222A),
937 ..Default::default()
938 }),
939 Bicho::Mapache => Receta::Cuatro(Cuadrupedo {
940 largo: 1.10,
941 pata: 0.36,
942 pata_r: 0.06,
943 cuerpo_r: 0.26,
944 cuello: 0.06,
945 cuello_r: 0.16,
946 cabeza: 0.25,
947 craneo: [0.98, 0.90, 1.02],
948 hocico: 0.95,
949 hocico_r: 0.36,
950 oreja: Oreja::Redonda,
951 oreja_tam: 1.1,
952 cola: Cola::Tupida,
953 cola_len: 0.8,
954 ojo_lateral: 0.3,
955 pinta: Pinta::pelo(0x8E8A88)
956 .vientre(0xC8C4BE)
957 .detalle(0x33313A)
958 .patron(Patron::Antifaz, 0x33313A),
959 ..Default::default()
960 }),
961 Bicho::Conejo => Receta::Cuatro(Cuadrupedo {
962 largo: 0.95,
963 pata: 0.30,
964 pata_r: 0.070,
965 cuerpo_r: 0.30,
966 lomo: 0.12,
967 cuello: 0.04,
968 cuello_r: 0.18,
969 cabeza: 0.26,
970 craneo: [0.92, 0.92, 1.10],
971 hocico: 0.5,
972 hocico_r: 0.44,
973 oreja: Oreja::Larga,
974 oreja_tam: 1.7,
975 cola: Cola::Muñon,
976 ojo: 0.2,
977 ojo_lateral: 0.7,
978 pinta: Pinta::pelo(0xC9BCAA).vientre(0xF2EDE4).detalle(0xE8DED0),
979 ..Default::default()
980 }),
981 Bicho::Ardilla => Receta::Cuatro(Cuadrupedo {
982 largo: 0.85,
983 pata: 0.28,
984 pata_r: 0.055,
985 cuerpo_r: 0.26,
986 lomo: 0.14,
987 cuello: 0.04,
988 cuello_r: 0.16,
989 cabeza: 0.26,
990 craneo: [0.94, 0.94, 1.02],
991 hocico: 0.6,
992 hocico_r: 0.40,
993 oreja: Oreja::Punta,
994 oreja_tam: 0.9,
995 cola: Cola::Tupida,
996 cola_len: 1.35,
997 ojo: 0.24,
998 ojo_lateral: 0.45,
999 pinta: Pinta::pelo(0xB2622C).vientre(0xEEE4D2).detalle(0x8A4A20),
1000 ..Default::default()
1001 }),
1002 Bicho::Raton => Receta::Cuatro(Cuadrupedo {
1003 largo: 1.0,
1004 pata: 0.26,
1005 pata_r: 0.045,
1006 cuerpo_r: 0.28,
1007 lomo: 0.10,
1008 cuello: 0.03,
1009 cuello_r: 0.16,
1010 cabeza: 0.24,
1011 craneo: [0.88, 0.88, 1.16],
1012 hocico: 1.1,
1013 hocico_r: 0.32,
1014 oreja: Oreja::Redonda,
1015 oreja_tam: 1.6,
1016 cola: Cola::Prensil,
1017 cola_len: 1.2,
1018 ojo: 0.18,
1019 ojo_lateral: 0.6,
1020 pinta: Pinta::pelo(0x9A938C).vientre(0xE4DED4).detalle(0xE0AEB0),
1021 ..Default::default()
1022 }),
1023 Bicho::Erizo => Receta::Cuatro(Cuadrupedo {
1024 largo: 0.95,
1025 pata: 0.22,
1026 pata_r: 0.045,
1027 cuerpo_r: 0.34,
1028 lomo: 0.10,
1029 cuello: 0.02,
1030 cuello_r: 0.16,
1031 cabeza: 0.20,
1032 craneo: [0.86, 0.86, 1.22],
1033 hocico: 1.1,
1034 hocico_r: 0.34,
1035 oreja: Oreja::Redonda,
1036 oreja_tam: 0.7,
1037 cola: Cola::Ninguna,
1038 puas: 1.0,
1039 ojo: 0.17,
1040 ojo_lateral: 0.5,
1041 pinta: Pinta::pelo(0xC8AE8A).vientre(0xE0CFB6).detalle(0x4A3A2C),
1042 ..Default::default()
1043 }),
1044 Bicho::Buho => Receta::Ave(Ave {
1045 cuerpo: [0.34, 0.42, 0.32],
1046 inclina: 0.25,
1047 cuello: 0.04,
1048 cuello_r: 0.20,
1049 cabeza: 0.30,
1050 pico: Pico::Curvo,
1051 pico_len: 0.5,
1052 pico_r: 0.34,
1053 cresta: Cresta::Orejas,
1054 cola: ColaAve::Corta,
1055 pata: 0.10,
1056 ojo: 0.40,
1057 pinta: Pinta::pluma(0x8A7048)
1058 .vientre(0xD8C8A8)
1059 .detalle(0x5A4630)
1060 .extra(0xE8C24A)
1061 .ojo(0xF2C34A),
1062 ..Default::default()
1063 }),
1064
1065 // ---------------- Aves ----------------
1066 Bicho::Pajaro => Receta::Ave(Ave::default()),
1067 Bicho::Gorrion => Receta::Ave(Ave {
1068 pinta: Pinta::pluma(0x8A6A46)
1069 .vientre(0xD8CCBA)
1070 .detalle(0x5A4430)
1071 .extra(0x3A342E),
1072 ..Default::default()
1073 }),
1074 Bicho::Cardenal => Receta::Ave(Ave {
1075 cuerpo: [0.29, 0.32, 0.40],
1076 cresta: Cresta::Punta,
1077 cola: ColaAve::Larga,
1078 cola_len: 0.65,
1079 pinta: Pinta::pluma(0xD82E2A)
1080 .vientre(0xE85A4A)
1081 .detalle(0x8A1E1C)
1082 .extra(0xE8A030),
1083 ..Default::default()
1084 }),
1085 Bicho::Cuervo => Receta::Ave(Ave {
1086 cuerpo: [0.30, 0.32, 0.46],
1087 inclina: 1.15,
1088 cuello: 0.12,
1089 cabeza: 0.21,
1090 pico: Pico::Largo,
1091 pico_len: 0.9,
1092 pico_r: 0.34,
1093 cola: ColaAve::Abanico,
1094 pinta: Pinta::pluma(0x24242C).vientre(0x33333C).detalle(0x14141A).extra(0x1A1A20),
1095 ..Default::default()
1096 }),
1097 Bicho::Colibri => Receta::Ave(Ave {
1098 cuerpo: [0.24, 0.26, 0.34],
1099 inclina: 1.0,
1100 cuello: 0.06,
1101 cabeza: 0.18,
1102 pico: Pico::Aguja,
1103 pico_len: 2.4,
1104 pico_r: 0.16,
1105 ala: Ala::Bate,
1106 cola: ColaAve::Corta,
1107 pata: 0.04,
1108 pinta: Pinta::pluma(0x1EA06A)
1109 .vientre(0xE8D8A0)
1110 .detalle(0xD03060)
1111 .extra(0x2A2A30),
1112 ..Default::default()
1113 }),
1114 Bicho::Loro => Receta::Ave(Ave {
1115 cuerpo: [0.28, 0.32, 0.38],
1116 inclina: 0.65,
1117 cuello: 0.08,
1118 cabeza: 0.22,
1119 pico: Pico::Curvo,
1120 pico_len: 0.7,
1121 pico_r: 0.40,
1122 cola: ColaAve::Larga,
1123 cola_len: 0.8,
1124 pata: 0.10,
1125 pinta: Pinta::pluma(0x2EA83E)
1126 .vientre(0xE8D23A)
1127 .detalle(0xD03028)
1128 .extra(0x3A3A42),
1129 ..Default::default()
1130 }),
1131 Bicho::Guacamayo => Receta::Ave(Ave {
1132 cuerpo: [0.30, 0.34, 0.42],
1133 inclina: 0.60,
1134 cuello: 0.08,
1135 cabeza: 0.24,
1136 pico: Pico::Curvo,
1137 pico_len: 0.85,
1138 pico_r: 0.46,
1139 cola: ColaAve::Larga,
1140 cola_len: 1.5,
1141 pata: 0.10,
1142 pinta: Pinta::pluma(0xE02820)
1143 .vientre(0xE8A020)
1144 .detalle(0x1E6ED8)
1145 .extra(0x2A2A30)
1146 .patron(Patron::Rayas, 0x1EA84A),
1147 ..Default::default()
1148 }),
1149 Bicho::Tucan => Receta::Ave(Ave {
1150 cuerpo: [0.28, 0.32, 0.40],
1151 inclina: 0.75,
1152 cuello: 0.08,
1153 cabeza: 0.22,
1154 pico: Pico::Ancho,
1155 pico_len: 2.0,
1156 pico_r: 0.85,
1157 cola: ColaAve::Corta,
1158 pata: 0.12,
1159 pinta: Pinta::pluma(0x1E1C24)
1160 .vientre(0xF2E8C0)
1161 .detalle(0xE8A020)
1162 .extra(0xE8901E),
1163 ..Default::default()
1164 }),
1165 Bicho::Quetzal => Receta::Ave(Ave {
1166 cuerpo: [0.26, 0.30, 0.38],
1167 inclina: 0.55,
1168 cuello: 0.08,
1169 cabeza: 0.20,
1170 pico: Pico::Corto,
1171 cresta: Cresta::Punta,
1172 cola: ColaAve::Larga,
1173 cola_len: 2.0,
1174 pata: 0.09,
1175 pinta: Pinta::pluma(0x1AA07A)
1176 .vientre(0xD02A34)
1177 .detalle(0x148A6A)
1178 .extra(0xE8C040),
1179 ..Default::default()
1180 }),
1181 Bicho::Flamenco => Receta::Ave(Ave {
1182 cuerpo: [0.22, 0.22, 0.30],
1183 inclina: 1.1,
1184 cuello: 0.42,
1185 cuello_s: 0.55,
1186 cuello_r: 0.055,
1187 cabeza: 0.11,
1188 pico: Pico::Curvo,
1189 pico_len: 1.2,
1190 pico_r: 0.5,
1191 pata: 0.55,
1192 pata_r: 0.018,
1193 ojo: 0.28,
1194 pinta: Pinta::pluma(0xF090A8)
1195 .vientre(0xF8C0CC)
1196 .detalle(0xD8607E)
1197 .extra(0x2A2A32),
1198 ..Default::default()
1199 }),
1200 Bicho::Garza => Receta::Ave(Ave {
1201 cuerpo: [0.20, 0.22, 0.32],
1202 inclina: 1.15,
1203 cuello: 0.40,
1204 cuello_s: 0.40,
1205 cuello_r: 0.05,
1206 cabeza: 0.11,
1207 pico: Pico::Largo,
1208 pico_len: 2.2,
1209 pico_r: 0.24,
1210 cresta: Cresta::Punta,
1211 pata: 0.48,
1212 pata_r: 0.017,
1213 pinta: Pinta::pluma(0xE8E8E2).vientre(0xF2F2EE).detalle(0xC6C6C0).extra(0xE8C020),
1214 ..Default::default()
1215 }),
1216 Bicho::Cisne => Receta::Ave(Ave {
1217 cuerpo: [0.32, 0.28, 0.44],
1218 inclina: 1.25,
1219 cuello: 0.46,
1220 cuello_s: 0.75,
1221 cuello_r: 0.065,
1222 cabeza: 0.13,
1223 pico: Pico::Pala,
1224 pico_len: 0.9,
1225 pata: 0.08,
1226 pinta: Pinta::pluma(0xF6F4EE).vientre(0xFFFFFA).detalle(0xDCD8D0).extra(0xE86A20),
1227 ..Default::default()
1228 }),
1229 Bicho::Pelicano => Receta::Ave(Ave {
1230 cuerpo: [0.32, 0.32, 0.46],
1231 inclina: 1.05,
1232 cuello: 0.22,
1233 cuello_s: 0.3,
1234 cabeza: 0.17,
1235 pico: Pico::Ancho,
1236 pico_len: 2.4,
1237 pico_r: 0.7,
1238 pata: 0.12,
1239 pinta: Pinta::pluma(0xE4E2DA).vientre(0xF2F0EA).detalle(0xB8B4AC).extra(0xE8B040),
1240 ..Default::default()
1241 }),
1242 Bicho::Aguila => Receta::Ave(Ave {
1243 cuerpo: [0.32, 0.38, 0.44],
1244 inclina: 0.5,
1245 cuello: 0.10,
1246 cabeza: 0.22,
1247 pico: Pico::Curvo,
1248 pico_len: 0.8,
1249 pico_r: 0.42,
1250 ala: Ala::Abierta,
1251 cola: ColaAve::Abanico,
1252 cola_len: 0.6,
1253 pata: 0.14,
1254 pinta: Pinta::pluma(0x5A4030)
1255 .vientre(0x8A6848)
1256 .detalle(0xF0EDE4)
1257 .extra(0xE8B830)
1258 .ojo(0xE8C040),
1259 ..Default::default()
1260 }),
1261 Bicho::Condor => Receta::Ave(Ave {
1262 cuerpo: [0.36, 0.40, 0.46],
1263 inclina: 0.45,
1264 cuello: 0.14,
1265 cuello_r: 0.10,
1266 cabeza: 0.20,
1267 pico: Pico::Curvo,
1268 pico_len: 0.85,
1269 pico_r: 0.44,
1270 ala: Ala::Abierta,
1271 cola: ColaAve::Abanico,
1272 pata: 0.13,
1273 pinta: Pinta::pluma(0x24242A)
1274 .vientre(0x33333A)
1275 .detalle(0xF0EEE8)
1276 .extra(0xD8B08A),
1277 ..Default::default()
1278 }),
1279 Bicho::PavoReal => Receta::Ave(Ave {
1280 cuerpo: [0.28, 0.32, 0.38],
1281 inclina: 0.7,
1282 cuello: 0.26,
1283 cuello_r: 0.09,
1284 cabeza: 0.15,
1285 pico: Pico::Corto,
1286 cresta: Cresta::Penacho,
1287 cola: ColaAve::Rueda,
1288 cola_len: 1.6,
1289 pata: 0.22,
1290 pinta: Pinta::pluma(0x1A6AA8)
1291 .vientre(0x2A8AC0)
1292 .detalle(0x1E8A6A)
1293 .extra(0x3A3A42)
1294 .patron(Patron::Lunares, 0xE8C040),
1295 ..Default::default()
1296 }),
1297 Bicho::Avestruz => Receta::Ave(Ave {
1298 cuerpo: [0.34, 0.34, 0.42],
1299 inclina: 1.0,
1300 cuello: 0.50,
1301 cuello_s: 0.2,
1302 cuello_r: 0.07,
1303 cabeza: 0.12,
1304 pico: Pico::Corto,
1305 cola: ColaAve::Corta,
1306 pata: 0.52,
1307 pata_r: 0.035,
1308 pinta: Pinta::pluma(0x33313A).vientre(0xE8E4DA).detalle(0xF2EFE8).extra(0xD8A8A0),
1309 ..Default::default()
1310 }),
1311 Bicho::Martin => Receta::Ave(Ave {
1312 cuerpo: [0.28, 0.30, 0.36],
1313 inclina: 0.85,
1314 cuello: 0.06,
1315 cabeza: 0.22,
1316 pico: Pico::Largo,
1317 pico_len: 1.8,
1318 pico_r: 0.24,
1319 cresta: Cresta::Punta,
1320 cola: ColaAve::Corta,
1321 pata: 0.07,
1322 pinta: Pinta::pluma(0x1E7AC8)
1323 .vientre(0xE07A30)
1324 .detalle(0x145A9A)
1325 .extra(0x2A2A32),
1326 ..Default::default()
1327 }),
1328 Bicho::Pinguino => Receta::Ave(Ave {
1329 cuerpo: [0.30, 0.46, 0.30],
1330 inclina: 0.10,
1331 cuello: 0.04,
1332 cuello_r: 0.18,
1333 cabeza: 0.22,
1334 pico: Pico::Corto,
1335 pico_len: 1.0,
1336 ala: Ala::Aleta,
1337 cola: ColaAve::Corta,
1338 cola_len: 0.3,
1339 pata: 0.07,
1340 pinta: Pinta::pluma(0x2A2A34).vientre(0xF2F0EA).detalle(0x1A1A22).extra(0xE8A030),
1341 ..Default::default()
1342 }),
1343
1344 // ---------------- Selva / sabana ----------------
1345 Bicho::Mono => Receta::Cuatro(Cuadrupedo {
1346 largo: 0.85,
1347 pata: 0.45,
1348 pata_r: 0.055,
1349 cuerpo_r: 0.24,
1350 lomo: 0.08,
1351 cuello: 0.08,
1352 cuello_ang: 0.9,
1353 cuello_r: 0.14,
1354 cabeza: 0.26,
1355 craneo: [0.96, 0.96, 0.94],
1356 hocico: 0.45,
1357 hocico_r: 0.5,
1358 oreja: Oreja::Redonda,
1359 oreja_tam: 1.2,
1360 cola: Cola::Prensil,
1361 cola_len: 1.5,
1362 ojo: 0.17,
1363 ojo_lateral: 0.2,
1364 pinta: Pinta::pelo(0x8A6440).vientre(0xD8C0A0).detalle(0xE0BCA0).con_esclera(),
1365 ..Default::default()
1366 }),
1367 Bicho::Perezoso => Receta::Cuatro(Cuadrupedo {
1368 largo: 0.95,
1369 pata: 0.50,
1370 pata_r: 0.062,
1371 cuerpo_r: 0.27,
1372 lomo: -0.06,
1373 cuello: 0.06,
1374 cuello_ang: 0.7,
1375 cuello_r: 0.16,
1376 cabeza: 0.25,
1377 craneo: [0.98, 0.94, 0.92],
1378 hocico: 0.4,
1379 hocico_r: 0.46,
1380 oreja: Oreja::Ninguna,
1381 cola: Cola::Ninguna,
1382 ojo: 0.16,
1383 ojo_lateral: 0.25,
1384 pinta: Pinta::pelo(0x9A8A70)
1385 .vientre(0xC8BCA0)
1386 .detalle(0x6A5C48)
1387 .patron(Patron::Antifaz, 0x6A5C48),
1388 ..Default::default()
1389 }),
1390 Bicho::Tigre => Receta::Cuatro(Cuadrupedo {
1391 largo: 1.30,
1392 pata: 0.46,
1393 pata_r: 0.078,
1394 cuerpo_r: 0.26,
1395 pecho: 1.12,
1396 lomo: 0.04,
1397 cuello: 0.10,
1398 cuello_ang: 0.30,
1399 cuello_r: 0.19,
1400 cabeza: 0.26,
1401 craneo: [1.0, 0.94, 1.0],
1402 hocico: 0.5,
1403 hocico_r: 0.54,
1404 oreja: Oreja::Redonda,
1405 cola: Cola::Gruesa,
1406 cola_len: 1.0,
1407 ojo: 0.17,
1408 ojo_lateral: 0.28,
1409 pinta: Pinta::pelo(0xE0801E)
1410 .vientre(0xF2EDE2)
1411 .detalle(0x22201E)
1412 .ojo(0xC8A020)
1413 .patron(Patron::Rayas, 0x22201E),
1414 ..Default::default()
1415 }),
1416 Bicho::Jaguar => Receta::Cuatro(Cuadrupedo {
1417 largo: 1.25,
1418 pata: 0.44,
1419 pata_r: 0.080,
1420 cuerpo_r: 0.27,
1421 pecho: 1.14,
1422 cuello: 0.08,
1423 cuello_ang: 0.28,
1424 cuello_r: 0.20,
1425 cabeza: 0.27,
1426 craneo: [1.02, 0.94, 0.96],
1427 hocico: 0.45,
1428 hocico_r: 0.56,
1429 oreja: Oreja::Redonda,
1430 cola: Cola::Gruesa,
1431 cola_len: 0.9,
1432 ojo: 0.17,
1433 ojo_lateral: 0.28,
1434 pinta: Pinta::pelo(0xD8A840)
1435 .vientre(0xF0E6CE)
1436 .ojo(0x3A7A2A)
1437 .patron(Patron::Manchas, 0x2A2620),
1438 ..Default::default()
1439 }),
1440 Bicho::Leon => Receta::Cuatro(Cuadrupedo {
1441 largo: 1.28,
1442 pata: 0.48,
1443 pata_r: 0.078,
1444 cuerpo_r: 0.26,
1445 pecho: 1.10,
1446 cuello: 0.10,
1447 cuello_ang: 0.30,
1448 cuello_r: 0.19,
1449 cabeza: 0.25,
1450 craneo: [1.0, 0.94, 1.0],
1451 hocico: 0.5,
1452 hocico_r: 0.52,
1453 oreja: Oreja::Redonda,
1454 cola: Cola::Penacho,
1455 cola_len: 0.95,
1456 melena: 1.0,
1457 ojo: 0.16,
1458 ojo_lateral: 0.28,
1459 pinta: Pinta::pelo(0xD8AA62).vientre(0xEEE0C4).detalle(0x8A5A28).ojo(0xB08820),
1460 ..Default::default()
1461 }),
1462 Bicho::Cebra => Receta::Cuatro(Cuadrupedo {
1463 largo: 1.20,
1464 pata: 0.56,
1465 pata_r: 0.060,
1466 cuerpo_r: 0.26,
1467 pecho: 1.08,
1468 cuello: 0.36,
1469 cuello_ang: 0.85,
1470 cuello_r: 0.15,
1471 cabeza: 0.22,
1472 craneo: [0.80, 0.92, 1.28],
1473 hocico: 1.05,
1474 hocico_r: 0.55,
1475 oreja: Oreja::Punta,
1476 oreja_tam: 0.9,
1477 cola: Cola::Crin,
1478 cola_len: 0.8,
1479 melena: 0.7,
1480 ojo_lateral: 0.85,
1481 pinta: Pinta::pelo(0xF2EFE8)
1482 .vientre(0xFFFFFA)
1483 .detalle(0x24222A)
1484 .extra(0x33313A)
1485 .patron(Patron::Rayas, 0x24222A),
1486 ..Default::default()
1487 }),
1488 Bicho::Jirafa => Receta::Cuatro(Cuadrupedo {
1489 largo: 1.05,
1490 pata: 0.62,
1491 pata_r: 0.052,
1492 cuerpo_r: 0.24,
1493 pecho: 1.10,
1494 grupa: 0.88,
1495 cuello: 1.55,
1496 cuello_ang: 1.18,
1497 cuello_r: 0.115,
1498 cabeza: 0.17,
1499 craneo: [0.82, 0.90, 1.22],
1500 hocico: 0.9,
1501 hocico_r: 0.5,
1502 oreja: Oreja::Punta,
1503 oreja_tam: 1.0,
1504 cuerno: Cuerno::Cortos,
1505 cola: Cola::Penacho,
1506 cola_len: 0.85,
1507 melena: 0.5,
1508 ojo: 0.22,
1509 ojo_lateral: 0.85,
1510 pinta: Pinta::pelo(0xE0B060)
1511 .vientre(0xF2E4C4)
1512 .detalle(0x8A5A24)
1513 .patron(Patron::Manchas, 0x9A6428),
1514 ..Default::default()
1515 }),
1516 Bicho::Elefante => Receta::Cuatro(Cuadrupedo {
1517 largo: 1.25,
1518 pata: 0.50,
1519 pata_r: 0.135,
1520 cuerpo_r: 0.42,
1521 pecho: 1.02,
1522 grupa: 1.02,
1523 lomo: 0.05,
1524 cuello: 0.05,
1525 cuello_ang: 0.2,
1526 cuello_r: 0.28,
1527 cabeza: 0.30,
1528 craneo: [0.94, 0.96, 0.90],
1529 hocico: 0.0,
1530 hocico_r: 0.5,
1531 oreja: Oreja::Abanico,
1532 oreja_tam: 1.5,
1533 cuerno: Cuerno::Colmillos,
1534 cola: Cola::Penacho,
1535 cola_len: 0.55,
1536 trompa: 3.0,
1537 ojo: 0.13,
1538 ojo_lateral: 0.7,
1539 pinta: Pinta::pelo(0x9A9690).vientre(0xB4B0A8).detalle(0x6E6A66).extra(0xF0EAD8),
1540 ..Default::default()
1541 }),
1542 Bicho::Hipopotamo => Receta::Cuatro(Cuadrupedo {
1543 largo: 1.45,
1544 pata: 0.34,
1545 pata_r: 0.115,
1546 cuerpo_r: 0.42,
1547 pecho: 1.0,
1548 grupa: 1.02,
1549 cuello: 0.02,
1550 cuello_r: 0.30,
1551 cabeza: 0.30,
1552 craneo: [1.0, 0.82, 1.20],
1553 hocico: 0.85,
1554 hocico_r: 0.90,
1555 oreja: Oreja::Redonda,
1556 oreja_tam: 0.7,
1557 cola: Cola::Muñon,
1558 ojo: 0.12,
1559 ojo_lateral: 0.9,
1560 pinta: Pinta::pelo(0x9A7E86).vientre(0xC0A0A4).detalle(0x6E565E),
1561 ..Default::default()
1562 }),
1563 Bicho::Rinoceronte => Receta::Cuatro(Cuadrupedo {
1564 largo: 1.40,
1565 pata: 0.40,
1566 pata_r: 0.115,
1567 cuerpo_r: 0.38,
1568 pecho: 1.05,
1569 lomo: 0.05,
1570 cuello: 0.05,
1571 cuello_ang: 0.15,
1572 cuello_r: 0.28,
1573 cabeza: 0.26,
1574 craneo: [0.90, 0.86, 1.24],
1575 hocico: 1.0,
1576 hocico_r: 0.70,
1577 oreja: Oreja::Punta,
1578 oreja_tam: 0.8,
1579 cuerno: Cuerno::Nasal,
1580 cola: Cola::Penacho,
1581 cola_len: 0.5,
1582 ojo: 0.11,
1583 ojo_lateral: 0.9,
1584 pinta: Pinta::pelo(0x8E8A86).vientre(0xA6A29A).detalle(0x66625E).extra(0xE0DACA),
1585 ..Default::default()
1586 }),
1587 Bicho::Capibara => Receta::Cuatro(Cuadrupedo {
1588 largo: 1.20,
1589 pata: 0.36,
1590 pata_r: 0.070,
1591 cuerpo_r: 0.32,
1592 cuello: 0.04,
1593 cuello_r: 0.22,
1594 cabeza: 0.24,
1595 craneo: [0.92, 0.86, 1.18],
1596 hocico: 0.9,
1597 hocico_r: 0.62,
1598 oreja: Oreja::Redonda,
1599 oreja_tam: 0.7,
1600 cola: Cola::Ninguna,
1601 ojo: 0.14,
1602 ojo_lateral: 0.75,
1603 pinta: Pinta::pelo(0x9A7042).vientre(0xC8A276).detalle(0x6A4A28),
1604 ..Default::default()
1605 }),
1606 Bicho::Koala => Receta::Cuatro(Cuadrupedo {
1607 largo: 0.85,
1608 pata: 0.34,
1609 pata_r: 0.075,
1610 cuerpo_r: 0.30,
1611 lomo: 0.10,
1612 cuello: 0.03,
1613 cuello_r: 0.20,
1614 cabeza: 0.30,
1615 craneo: [1.02, 0.96, 0.92],
1616 hocico: 0.55,
1617 hocico_r: 0.42,
1618 oreja: Oreja::Redonda,
1619 oreja_tam: 1.7,
1620 cola: Cola::Ninguna,
1621 lana: 0.4,
1622 ojo: 0.15,
1623 ojo_lateral: 0.35,
1624 pinta: Pinta::pelo(0x9EA0A4).vientre(0xE0E2E2).detalle(0x3A3A40),
1625 ..Default::default()
1626 }),
1627 Bicho::Canguro => Receta::Cuatro(Cuadrupedo {
1628 largo: 0.80,
1629 pata: 0.52,
1630 pata_r: 0.075,
1631 cuerpo_r: 0.26,
1632 pecho: 0.82,
1633 grupa: 1.15,
1634 lomo: 0.05,
1635 cuello: 0.16,
1636 cuello_ang: 1.2,
1637 cuello_r: 0.13,
1638 cabeza: 0.22,
1639 craneo: [0.84, 0.90, 1.18],
1640 hocico: 0.9,
1641 hocico_r: 0.42,
1642 oreja: Oreja::Larga,
1643 oreja_tam: 1.3,
1644 cola: Cola::Gruesa,
1645 cola_len: 1.5,
1646 ojo: 0.18,
1647 ojo_lateral: 0.5,
1648 bipedo: true,
1649 pinta: Pinta::pelo(0xA8825E).vientre(0xD8C4A6).detalle(0x6A5238),
1650 ..Default::default()
1651 }),
1652 Bicho::Llama => Receta::Cuatro(Cuadrupedo {
1653 largo: 1.0,
1654 pata: 0.55,
1655 pata_r: 0.052,
1656 cuerpo_r: 0.26,
1657 cuello: 0.62,
1658 cuello_ang: 1.25,
1659 cuello_r: 0.11,
1660 cabeza: 0.18,
1661 craneo: [0.82, 0.90, 1.16],
1662 hocico: 0.9,
1663 hocico_r: 0.46,
1664 oreja: Oreja::Larga,
1665 oreja_tam: 1.0,
1666 cola: Cola::Muñon,
1667 lana: 0.7,
1668 ojo: 0.22,
1669 ojo_lateral: 0.8,
1670 pinta: Pinta::pelo(0xE0D2B8).vientre(0xF2EADA).detalle(0x8A7458),
1671 ..Default::default()
1672 }),
1673 Bicho::Camello => Receta::Cuatro(Cuadrupedo {
1674 largo: 1.20,
1675 pata: 0.58,
1676 pata_r: 0.062,
1677 cuerpo_r: 0.28,
1678 cuello: 0.55,
1679 cuello_ang: 1.05,
1680 cuello_r: 0.13,
1681 cabeza: 0.19,
1682 craneo: [0.82, 0.92, 1.20],
1683 hocico: 1.0,
1684 hocico_r: 0.5,
1685 oreja: Oreja::Redonda,
1686 oreja_tam: 0.6,
1687 cola: Cola::Penacho,
1688 cola_len: 0.6,
1689 jorobas: 2,
1690 joroba_alto: 0.20,
1691 ojo: 0.20,
1692 ojo_lateral: 0.8,
1693 pinta: Pinta::pelo(0xCFA870).vientre(0xE4CCA0).detalle(0x9A7A48),
1694 ..Default::default()
1695 }),
1696 Bicho::Foca => Receta::Cuatro(Cuadrupedo {
1697 largo: 1.55,
1698 pata: 0.18,
1699 pata_r: 0.09,
1700 cuerpo_r: 0.36,
1701 pecho: 1.05,
1702 grupa: 0.72,
1703 cuello: 0.10,
1704 cuello_ang: 0.9,
1705 cuello_r: 0.24,
1706 cabeza: 0.25,
1707 craneo: [0.94, 0.92, 1.06],
1708 hocico: 0.6,
1709 hocico_r: 0.5,
1710 oreja: Oreja::Ninguna,
1711 cola: Cola::Muñon,
1712 ojo: 0.24,
1713 ojo_lateral: 0.3,
1714 pinta: Pinta::pelo(0x8E9298).vientre(0xC8CCD0).detalle(0x5A5E66),
1715 ..Default::default()
1716 }),
1717
1718 // ---------------- Reptantes ----------------
1719 Bicho::Serpiente => Receta::Reptante(Reptante::default()),
1720 Bicho::Boa => Receta::Reptante(Reptante {
1721 largo: 7.0,
1722 grosor: 0.75,
1723 ondas: 1.3,
1724 amplitud: 1.3,
1725 cabeza: 0.85,
1726 pinta: Pinta::pelo(0xB09660)
1727 .vientre(0xE0D0A8)
1728 .patron(Patron::Rombos, 0x6A4A28),
1729 ..Default::default()
1730 }),
1731 Bicho::Cobra => Receta::Reptante(Reptante {
1732 largo: 6.5,
1733 grosor: 0.55,
1734 ondas: 1.2,
1735 amplitud: 0.9,
1736 capucha: 1.3,
1737 alza: 0.95,
1738 cabeza: 0.8,
1739 pinta: Pinta::pelo(0x6A6A50)
1740 .vientre(0xD8CFA8)
1741 .patron(Patron::Anillos, 0x2E2A22),
1742 ..Default::default()
1743 }),
1744 Bicho::Lagarto => Receta::Reptante(Reptante {
1745 largo: 4.0,
1746 grosor: 0.45,
1747 ondas: 0.9,
1748 amplitud: 0.6,
1749 patas: 4,
1750 pata: 0.55,
1751 cabeza: 0.75,
1752 hocico: 1.4,
1753 pinta: Pinta::pelo(0x6E8A3E).vientre(0xC8CE8A).detalle(0x4A6A28),
1754 ..Default::default()
1755 }),
1756 Bicho::Iguana => Receta::Reptante(Reptante {
1757 largo: 4.5,
1758 grosor: 0.55,
1759 ondas: 0.8,
1760 amplitud: 0.5,
1761 patas: 4,
1762 pata: 0.6,
1763 cresta: 1.0,
1764 alza: 0.2,
1765 cabeza: 0.8,
1766 hocico: 1.3,
1767 pinta: Pinta::pelo(0x4E8A5E)
1768 .vientre(0xB8D08A)
1769 .detalle(0x2E6A3E)
1770 .patron(Patron::Anillos, 0x2A4A2A),
1771 ..Default::default()
1772 }),
1773 Bicho::Camaleon => Receta::Reptante(Reptante {
1774 largo: 3.2,
1775 grosor: 0.62,
1776 ondas: 0.5,
1777 amplitud: 0.25,
1778 patas: 4,
1779 pata: 0.55,
1780 cresta: 0.5,
1781 cabeza: 1.0,
1782 hocico: 0.7,
1783 ojo: 0.34,
1784 pinta: Pinta::pelo(0x3EA06A)
1785 .vientre(0xD8D060)
1786 .detalle(0x2A7A4A)
1787 .patron(Patron::Rayas, 0xE0C040),
1788 ..Default::default()
1789 }),
1790 Bicho::Cocodrilo => Receta::Reptante(Reptante {
1791 largo: 6.5,
1792 grosor: 0.62,
1793 ondas: 0.6,
1794 amplitud: 0.45,
1795 patas: 4,
1796 pata: 0.42,
1797 cresta: 0.7,
1798 cabeza: 0.85,
1799 hocico: 3.0,
1800 lengua: false,
1801 ojo: 0.2,
1802 pinta: Pinta::pelo(0x4A5E3A).vientre(0xC0C088).detalle(0x2E3E24),
1803 ..Default::default()
1804 }),
1805 Bicho::Salamandra => Receta::Reptante(Reptante {
1806 largo: 3.6,
1807 grosor: 0.42,
1808 ondas: 1.1,
1809 amplitud: 0.8,
1810 patas: 4,
1811 pata: 0.4,
1812 cabeza: 0.8,
1813 hocico: 0.9,
1814 lengua: false,
1815 pinta: Pinta::pelo(0x22222A)
1816 .vientre(0x3A3A44)
1817 .patron(Patron::Manchas, 0xE8C020),
1818 ..Default::default()
1819 }),
1820 Bicho::Tortuga => Receta::Reptante(Reptante {
1821 largo: 2.2,
1822 grosor: 0.5,
1823 ondas: 0.0,
1824 amplitud: 0.0,
1825 patas: 4,
1826 pata: 0.45,
1827 abertura: 1.1,
1828 caparazon: 1.0,
1829 cabeza: 0.6,
1830 hocico: 0.9,
1831 lengua: false,
1832 ojo: 0.22,
1833 pinta: Pinta::pelo(0x6A8A4A)
1834 .vientre(0xC8B878)
1835 .detalle(0x4A5E2E)
1836 .patron(Patron::Manchas, 0x8A6A28),
1837 ..Default::default()
1838 }),
1839 Bicho::Rana => Receta::Reptante(Reptante {
1840 largo: 1.5,
1841 grosor: 0.9,
1842 ondas: 0.0,
1843 amplitud: 0.0,
1844 patas: 4,
1845 pata: 0.5,
1846 abertura: 1.2,
1847 anfibio: true,
1848 cabeza: 0.9,
1849 hocico: 0.5,
1850 lengua: false,
1851 ojo: 0.42,
1852 pinta: Pinta::pelo(0x5EA83E)
1853 .vientre(0xE0E8A0)
1854 .detalle(0x3A7A28)
1855 .patron(Patron::Manchas, 0x2E5A20),
1856 ..Default::default()
1857 }),
1858
1859 // ---------------- Agua ----------------
1860 Bicho::Pez => Receta::Nadador(Nadador::default()),
1861 Bicho::Delfin => Receta::Nadador(Nadador {
1862 cuerpo: [0.24, 0.30, 0.90],
1863 caudal_vertical: false,
1864 caudal: 0.42,
1865 dorsal: 0.30,
1866 pectoral: 0.28,
1867 hocico: 0.45,
1868 ojo: 0.09,
1869 pinta: Pinta::pelo(0x6A7E92).vientre(0xE4E8EE).detalle(0x4A5A6E),
1870 ..Default::default()
1871 }),
1872 Bicho::Ballena => Receta::Nadador(Nadador {
1873 cuerpo: [0.36, 0.42, 1.10],
1874 caudal_vertical: false,
1875 caudal: 0.55,
1876 dorsal: 0.14,
1877 pectoral: 0.34,
1878 hocico: 0.15,
1879 ojo: 0.06,
1880 pinta: Pinta::pelo(0x46586E).vientre(0xC8D2DC).detalle(0x32404E),
1881 ..Default::default()
1882 }),
1883 Bicho::Tiburon => Receta::Nadador(Nadador {
1884 cuerpo: [0.26, 0.32, 0.95],
1885 caudal_vertical: true,
1886 caudal: 0.5,
1887 dorsal: 0.45,
1888 pectoral: 0.34,
1889 hocico: 0.35,
1890 boca: 1.0,
1891 ojo: 0.07,
1892 pinta: Pinta::pelo(0x6E7A82).vientre(0xE0E4E4).detalle(0x4E5A62),
1893 ..Default::default()
1894 }),
1895 Bicho::Pulpo => Receta::Nadador(Nadador {
1896 cuerpo: [0.42, 0.48, 0.44],
1897 caudal: 0.0,
1898 dorsal: 0.0,
1899 pectoral: 0.0,
1900 tentaculos: 8,
1901 tentaculo_len: 1.3,
1902 ojo: 0.20,
1903 pinta: Pinta::pelo(0xC85A6A).vientre(0xE89A9A).detalle(0x9A3A50).con_esclera(),
1904 ..Default::default()
1905 }),
1906
1907 // ---------------- Artrópodos y afines ----------------
1908 Bicho::Mariposa => Receta::Insecto(Insecto {
1909 segmentos: [0.22, 0.26, 0.30],
1910 largo: 0.9,
1911 patas: 6,
1912 pata: 0.22,
1913 alas: AlaBicho::Mariposa,
1914 ala_len: 1.6,
1915 antenas: 0.6,
1916 pinta: Pinta::pelo(0x2A2630)
1917 .detalle(0xE8802A)
1918 .extra(0xF0D040)
1919 .patron(Patron::Lunares, 0xF2EEE6),
1920 ..Default::default()
1921 }),
1922 Bicho::Abeja => Receta::Insecto(Insecto {
1923 segmentos: [0.26, 0.32, 0.36],
1924 largo: 0.8,
1925 patas: 6,
1926 pata: 0.25,
1927 alas: AlaBicho::Membrana,
1928 ala_len: 0.9,
1929 antenas: 0.35,
1930 pinta: Pinta::pelo(0xE8B820)
1931 .detalle(0x2A2620)
1932 .extra(0xE8ECF2)
1933 .patron(Patron::Rayas, 0x2A2620),
1934 ..Default::default()
1935 }),
1936 Bicho::Libelula => Receta::Insecto(Insecto {
1937 segmentos: [0.24, 0.26, 0.16],
1938 largo: 1.6,
1939 patas: 6,
1940 pata: 0.2,
1941 alas: AlaBicho::Membrana,
1942 ala_len: 1.5,
1943 antenas: 0.15,
1944 ojo: 0.34,
1945 pinta: Pinta::pelo(0x2A8AA8).detalle(0x1E6A88).extra(0xD8ECF2),
1946 ..Default::default()
1947 }),
1948 Bicho::Escarabajo => Receta::Insecto(Insecto {
1949 segmentos: [0.28, 0.36, 0.40],
1950 largo: 0.85,
1951 patas: 6,
1952 pata: 0.3,
1953 alas: AlaBicho::Elitros,
1954 ala_len: 0.9,
1955 antenas: 0.3,
1956 pinta: Pinta::pelo(0x2E2A3A)
1957 .detalle(0xC82A2A)
1958 .patron(Patron::Lunares, 0x1A1820),
1959 ..Default::default()
1960 }),
1961 Bicho::Hormiga => Receta::Insecto(Insecto {
1962 segmentos: [0.24, 0.22, 0.30],
1963 largo: 1.0,
1964 patas: 6,
1965 pata: 0.42,
1966 arco: 0.7,
1967 antenas: 0.45,
1968 pinta: Pinta::pelo(0x4A2A20).detalle(0x2E1A14),
1969 ..Default::default()
1970 }),
1971 Bicho::Arana => Receta::Insecto(Insecto {
1972 segmentos: [0.26, 0.34, 0.42],
1973 largo: 0.7,
1974 patas: 8,
1975 pata: 0.85,
1976 arco: 1.1,
1977 antenas: 0.0,
1978 ojo: 0.14,
1979 pinta: Pinta::pelo(0x33303A).detalle(0x1E1C24).extra(0xC82A3A),
1980 ..Default::default()
1981 }),
1982 Bicho::Escorpion => Receta::Insecto(Insecto {
1983 segmentos: [0.22, 0.32, 0.26],
1984 largo: 1.1,
1985 patas: 8,
1986 pata: 0.5,
1987 arco: 0.9,
1988 antenas: 0.0,
1989 pinzas: 1.0,
1990 aguijon: 1.2,
1991 ojo: 0.10,
1992 pinta: Pinta::pelo(0x8A5A2A).detalle(0x5A3818).extra(0x3A2410),
1993 ..Default::default()
1994 }),
1995 Bicho::Cangrejo => Receta::Insecto(Insecto {
1996 segmentos: [0.30, 0.46, 0.20],
1997 largo: 0.5,
1998 patas: 8,
1999 pata: 0.6,
2000 arco: 1.2,
2001 antenas: 0.0,
2002 pinzas: 1.2,
2003 pedunculos: true,
2004 ojo: 0.12,
2005 pinta: Pinta::pelo(0xD84A2A).detalle(0xA83218).extra(0xF0C0A0),
2006 ..Default::default()
2007 }),
2008 Bicho::Caracol => Receta::Insecto(Insecto {
2009 segmentos: [0.20, 0.24, 0.22],
2010 largo: 1.0,
2011 patas: 0,
2012 pata: 0.0,
2013 arco: 0.0,
2014 antenas: 0.0,
2015 concha: 1.0,
2016 pedunculos: true,
2017 ojo: 0.10,
2018 pinta: Pinta::pelo(0xD8C0A0).detalle(0x8A5A30).extra(0xB88A50),
2019 ..Default::default()
2020 }),
2021 Bicho::Luciernaga => Receta::Insecto(Insecto {
2022 segmentos: [0.22, 0.28, 0.34],
2023 largo: 0.8,
2024 patas: 6,
2025 pata: 0.28,
2026 alas: AlaBicho::Elitros,
2027 ala_len: 0.85,
2028 antenas: 0.35,
2029 pinta: Pinta::pelo(0x3A3226).detalle(0x2A2418).extra(0xE8F080),
2030 ..Default::default()
2031 }),
2032 }
2033}
2034
2035/// **Altura típica en metros** de cada bicho (la que usa el catálogo y el mundo para
2036/// que un elefante no mida lo mismo que un conejo). Es la altura del **lomo** en los
2037/// cuadrúpedos y la altura **total** en el resto.
2038pub fn alto_tipico(b: Bicho) -> f32 {
2039 match b {
2040 Bicho::Ballena => 4.0,
2041 Bicho::Jirafa => 4.6,
2042 Bicho::Elefante => 3.0,
2043 Bicho::Avestruz => 2.4,
2044 Bicho::Alce => 2.0,
2045 Bicho::Camello => 1.9,
2046 Bicho::Rinoceronte => 1.7,
2047 Bicho::Caballo | Bicho::Cebra | Bicho::Toro => 1.6,
2048 Bicho::Condor | Bicho::Canguro | Bicho::Llama => 1.5,
2049 Bicho::Vaca | Bicho::Hipopotamo | Bicho::Flamenco => 1.4,
2050 Bicho::Oso | Bicho::Tiburon | Bicho::Garza | Bicho::Cisne => 1.3,
2051 Bicho::PavoReal | Bicho::Delfin => 1.2,
2052 Bicho::Leon | Bicho::Tigre | Bicho::Burro => 1.1,
2053 Bicho::Cocodrilo | Bicho::Aguila | Bicho::Pinguino => 1.0,
2054 Bicho::Ciervo | Bicho::Jaguar | Bicho::Panda | Bicho::Boa => 0.95,
2055 Bicho::Cerdo | Bicho::Cabra | Bicho::Oveja | Bicho::Lobo | Bicho::Foca => 0.85,
2056 Bicho::Perro | Bicho::Capibara | Bicho::Mono | Bicho::Cobra | Bicho::Pulpo => 0.7,
2057 Bicho::Koala | Bicho::Perezoso | Bicho::Zorro | Bicho::Ganso | Bicho::Pelicano => 0.6,
2058 Bicho::Gallo | Bicho::Buho | Bicho::Cuervo | Bicho::Serpiente => 0.5,
2059 Bicho::Gato | Bicho::Gallina | Bicho::Pato | Bicho::Conejo | Bicho::Tortuga => 0.4,
2060 Bicho::Mapache | Bicho::Guacamayo | Bicho::Tucan | Bicho::Loro | Bicho::Iguana => 0.35,
2061 Bicho::Ardilla | Bicho::Erizo | Bicho::Camaleon | Bicho::Lagarto | Bicho::Cardenal => 0.25,
2062 Bicho::Martin | Bicho::Quetzal | Bicho::Salamandra | Bicho::Rana | Bicho::Pez => 0.2,
2063 Bicho::Gorrion | Bicho::Pajaro | Bicho::Raton | Bicho::Cangrejo => 0.15,
2064 Bicho::Colibri | Bicho::Mariposa | Bicho::Escorpion | Bicho::Caracol => 0.1,
2065 Bicho::Escarabajo | Bicho::Arana | Bicho::Libelula => 0.08,
2066 Bicho::Abeja | Bicho::Hormiga | Bicho::Luciernaga => 0.05,
2067 }
2068}