Magical gene / magical body-stat genes
Coronal
A dark, ragged disc sits high on each flank with a ring of long tapering spikes thrown out around it, brightest at the tips.
What it can come out as
| Outcome | Carrying |
|---|---|
| Pale corona | W/W · W/B · W/C · W/n |
| Umbral corona | B/B · B/C · B/n |
| Coloured corona | 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 3,572 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 |
|---|---|---|
W/W | Pale corona | 0.001% — 1 in 100,000 |
W/B | Pale corona | 0.0013% — 1 in 75,019 |
W/C | Pale corona | 0.0013% — 1 in 75,019 |
W/n | Pale corona | 0.019% — 1 in 5,263 |
B/B | Umbral corona | 0.0013% — 1 in 75,019 |
B/C | Umbral corona | 0.0013% — 1 in 75,019 |
B/n | Umbral corona | 0.0013% — 1 in 75,019 |
C/C | Coloured corona | 0.0013% — 1 in 75,019 |
n/n | Wild type | 99.972% |
Its gene carrot
The file
common/src/main/resources/horsegenetics/genes/coronal.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.coronal |
|---|---|
| Phase | magical — it adds signed colour in phase 3, after the pigment has resolved |
| Priority | 141 — where it sits in the one (priority, key) paint order |
| Alleles | W · B · C · n |
| Varies per horse | 2 values drawn once off the expressing allele copy, so a foal that inherits the copy inherits the look |
| Built from | FAN, FRACTAL, PARTS, PATH, TOWARD |
Why it is built this way
The reference is an eclipse: a bare middle, a spiked corona, and nothing in between. The corona is a FAN rather than STROKES because every spike shares one origin and widens as it travels, which is the one thing STROKES will not do - its strokes are independent and wander.
FAN's inner is 3.2 and the PATH core is about 3.4 units across, so the spikes start just off the rim of the core rather than inside it. Those two numbers have to move together; changing one alone either buries the spike roots or leaves a bare ring between core and corona.
spacing 0.42 gives about fifteen spikes and a ray 0.56 units wide at the inner radius - just over one texel, which is the floor. Winding spacing down for more spikes takes the inner end of each below a texel and they vanish from the roots outward.
The core is a filled PATH rather than a SPOTS cell so that it is in a known place - the same place the FAN pivots on. The FRACTAL multiplied into it is what tears its edge; the reference's core is lumpy, not round.
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.coronal'. 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.
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.
Pale corona
A near-black disc on each flank inside a cream-white burst of spikes.
- the spiked corona —
PARTS×FAN, painted withTOWARD - ember at the ray roots —
PARTS×FAN, painted withTOWARD - scorch under the corona —
PARTS×PATH, painted withTOWARD - the eclipsed core —
PARTS×PATH×FRACTAL, painted withTOWARD
Umbral corona
The same burst rendered in soot and slate - a black disc inside a ring of charcoal spikes.
- the spiked corona —
PARTS×FAN, painted withTOWARD - ember at the ray roots —
PARTS×FAN, painted withTOWARD - scorch under the corona —
PARTS×PATH, painted withTOWARD - the eclipsed core —
PARTS×PATH×FRACTAL, painted withTOWARD
Coloured corona
The burst takes the line's own colour, deepening from a dark core to bright spike tips.
- the spiked corona —
PARTS×FAN, painted withTOWARD - ember at the ray roots —
PARTS×FAN, painted withTOWARD - scorch under the corona —
PARTS×PATH, painted withTOWARD - the eclipsed core —
PARTS×PATH×FRACTAL, painted withTOWARD
Wild type
No marking.
Paints nothing.