Magical gene / magical body-stat genes
Geode
Straight-sided crystal shards grow up out of the hooves and the lower barrel, faceted, lit along their upward faces and glinting at the tips.
What it can come out as
| Outcome | Carrying |
|---|---|
| Quartz | P/P · P/C · P/n |
| Geode | C/C |
| Wild type | C/n · n/n |
How each one is actually drawn - region by region, and the layers it is built from - is on the coding tab.
Crossing two of them
Finding one
About 1 in 7,143 wild horses is born showing this. That is the whole of the supply: catch one, or make one with the carrot below. Breeds set their own pools and a breed built around this gene will carry it far more often than the wild population does.
| Wild pair | Shows as | How often |
|---|---|---|
P/P | Quartz | 0.0005% — 1 in 200,000 |
P/C | Quartz | 0.002% — 1 in 50,000 |
P/n | Quartz | 0.0095% — 1 in 10,526 |
C/C | Geode | 0.002% — 1 in 50,000 |
n/n | Wild type | 99.986% |
Its gene carrot
The file
common/src/main/resources/horsegenetics/genes/geode.json — a
data-driven gene, not a Java class. It is listed in the
index.json beside it and registered by Genes' class
initialiser at startup.
| Key | horsegenetics.geode |
|---|---|
| Phase | magical — it adds signed colour in phase 3, after the pigment has resolved |
| Priority | 148 — where it sits in the one (priority, key) paint order |
| Alleles | P · C · n |
| Varies per horse | 3 values drawn once off the expressing allele copy, so a foal that inherits the copy inherits the look |
| Built from | AXIS, NORMAL, PARTS, SPECKLE, TOWARD, WAVES, emissive |
Why it is built this way
No black form. A crystal's colour is the gene here, and a grey version of it is just rock.
WAVES shape=saw is the only thing in the vocabulary that gives an edge made of straight lines all raked one way. Everything noise-derived rounds its corners off however far the softness is wound down, and a crystal with rounded corners is a pebble. triangle would give symmetric teeth; saw ramps and cuts back square, which is what a shard cluster actually looks like.
wavelength 3.4 at amplitude 2.6 puts the shard tips around y 9.6 and the hollows around y 4.4 - a five-unit skyline over an eleven-unit leg. amplitude is in whatever space says and wavelength never is; both are in units here so they can be read against each other.
The three shard layers share one wavelength and one amplitude and differ only in to and phase, so the lit faces sit inside the bodies rather than beside them. Changing the wavelength on one layer alone splits the cluster into two unrelated skylines.
The sheen is NORMAL, not a light. Nothing in this pipeline knows where a camera is - the coat is one texture baked per horse - so this shifts with the surface and not with the viewer. It is the structural half of the effect and it is the honest half.
Sourced from a traced SVG, but not drawn with the SVG mask. The trace is a photo-trace: 800 to 4500 path commands across dozens to hundreds of subpaths, most of them trace noise. That is well past the point ceiling, which exists precisely to keep a traced photograph out of a gene file. It would also have made the marking identical on every horse. The reference was read for what KIND of shape each element is and rebuilt from field masks instead. If a hand-drawn, low-node version of the source ever exists, the SVG mask with its d string pasted verbatim is the better gene.
Arrived keyed 'ixora.geode'. Renamed to the horsegenetics namespace every other gene in the mod uses - the format allows a modder their own, but a gene shipping INSIDE this mod under a second namespace breaks the tooling that builds a key from a slug.
Scaled up on the way in. Every layer was bounded by an AXIS reaching 11.5 units and a WAVES band reaching 7, so the shards lived in the bottom quarter of the horse and the whole gene moved about three hundred texels out of eleven thousand - visible in the file, invisible on the horse. The AXIS now reaches 16.5, which is the lower barrel the blurb promises, and the wave bands went up with it. The glints were sparser still and landed on five texels; density 0.3 at size 0.6 is a glint.
What it paints
Each outcome, described the way the gene file describes it, and then the layers that draw it in the order they are painted. The prose is the part a reader checks a bake against; the list underneath is what the engine actually did.
Quartz
Colourless crystal growing up the legs, white-faced and glinting.
- the shard bodies —
PARTS×AXIS×WAVES, painted withTOWARD - the lit faces —
PARTS×AXIS×WAVES, painted withTOWARD - facet sheen on the upward planes —
PARTS×AXIS×WAVES×NORMAL, painted withTOWARD - glints —
PARTS×AXIS×WAVES×SPECKLE, painted withTOWARD, and it glows
Geode
Crystal in the line's own colour, deepest in the shard bodies and brightest along their lit faces.
- the shard bodies —
PARTS×AXIS×WAVES, painted withTOWARD - the lit faces —
PARTS×AXIS×WAVES, painted withTOWARD - facet sheen on the upward planes —
PARTS×AXIS×WAVES×NORMAL, painted withTOWARD - glints —
PARTS×AXIS×WAVES×SPECKLE, painted withTOWARD, and it glows
Wild type
No marking.
Paints nothing.