Magical gene / magical body-stat genes
Maelstrom
A whirlpool of tapering arms winds into a tight spiral on each flank, with a scatter of pale flecks caught in the sweep.
What it can come out as
| Outcome | Carrying |
|---|---|
| Pale maelstrom | W/W · W/B · W/C · W/n |
| Black maelstrom | B/B · B/C · B/n |
| Coloured maelstrom | 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,142 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 maelstrom | 0.0005% — 1 in 200,000 |
W/B | Pale maelstrom | 0.0007% — 1 in 149,925 |
W/C | Pale maelstrom | 0.0007% — 1 in 149,925 |
W/n | Pale maelstrom | 0.0095% — 1 in 10,526 |
B/B | Black maelstrom | 0.0007% — 1 in 149,925 |
B/C | Black maelstrom | 0.0007% — 1 in 149,925 |
B/n | Black maelstrom | 0.0007% — 1 in 149,925 |
C/C | Coloured maelstrom | 0.0007% — 1 in 149,925 |
n/n | Wild type | 99.986% |
Its gene carrot
The file
common/src/main/resources/horsegenetics/genes/maelstrom.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.maelstrom |
|---|---|
| Phase | magical — it adds signed colour in phase 3, after the pigment has resolved |
| Priority | 144 — where it sits in the one (priority, key) paint order |
| Alleles | W · B · 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 | FAN, PARTS, SPECKLE, SPIRAL, TOWARD |
Why it is built this way
twist is the whole trick. A FAN with twist 0 is a sunburst - straight bars out of a pivot. At 0.26 the fan's zero rotates as it travels and the bars come out as curved arms, which is the difference between a star and a vortex.
The SPIRAL takes its centre from the BODY bounds, which lands at about (18.5, 16) - the same point the FAN pivots on. Those two numbers are written to match and must move together, or the arms sweep past a core that is somewhere else.
inner 2.5 rather than 0: at the pivot an arm is arbitrarily thin, and anything under 0.5 units averages away. Starting at 2.5 the narrowest part of an arm is about 0.7 units, and the SPIRAL fills the middle that the fan leaves bare.
The flecks are a SPECKLE multiplied into the arm mask rather than laid over the whole flank, so they only appear where there is something for them to be torn out of.
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.maelstrom'. 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 maelstrom
A silver-white whirlpool on each flank, flecked with brighter grit.
- the sweeping arms —
PARTS×FAN, painted withTOWARD - the wound core —
PARTS×SPIRAL, painted withTOWARD - flecks torn out of the arms —
PARTS×FAN×SPECKLE, painted withTOWARD
Black maelstrom
The reference form - a black vortex winding to a tight eye, flecked with grey.
- the sweeping arms —
PARTS×FAN, painted withTOWARD - the wound core —
PARTS×SPIRAL, painted withTOWARD - flecks torn out of the arms —
PARTS×FAN×SPECKLE, painted withTOWARD
Coloured maelstrom
The whirl takes the line's own colour, darkest in the arms and brightest in the flecks.
- the sweeping arms —
PARTS×FAN, painted withTOWARD - the wound core —
PARTS×SPIRAL, painted withTOWARD - flecks torn out of the arms —
PARTS×FAN×SPECKLE, painted withTOWARD
Wild type
No marking.
Paints nothing.