Magical gene / colour modifiers

Oil Sheen

The coat looks like a soap film caught in light: a cracked, iridescent web of veins running the length of the horse, pooling over the barrel into a dense, bubble-pitted slick whose colour wanders instead of sweeping.

What it can come out as

OutcomeCarrying
Oil SheenOsn/Osn · Osn/n
Wild typen/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 10,000 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 pairShows asHow often
Osn/OsnOil Sheen0.0005% — 1 in 200,000
Osn/nOil Sheen0.0095% — 1 in 10,526
n/nWild type99.99%

Its gene carrot

The file

common/src/main/resources/horsegenetics/genes/oil_sheen.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.

Keyhorsegenetics.oil_sheen
Phasemagical — it adds signed colour in phase 3, after the pigment has resolved
Priority435 — where it sits in the one (priority, key) paint order
AllelesOsn · n
Varies per horse9 values drawn once off the expressing allele copy, so a foal that inherits the copy inherits the look
Built fromCRACKLE, PARTS, RAMP, RINGS, SPOTS

Why it is built this way

RAMP's 'noise' axis exists because of this gene. A ramp along X, Y or Z is monotonic by construction - the colour sweeps once from one end of the horse to the other and never comes back - and an oil slick's colour WANDERS: it doubles back, pools and thins. PALETTE could vary it without sweeping but only in hard-walled cells, which is the one thing a soap film has none of. Reading a smooth field where the coordinate used to go is the whole change, and it is the only one that gets both.

All three layers share the one hue knob, so a horse's whole coat rotates through the spectrum together instead of each layer picking its own mismatched rainbow.

Anatomy does the 'spiky' shape of the reference for free: the barrel is the dense hub and the neck, head, legs and hair are already the radiating limbs, so the vein layer only needs an isotropic field over everything.

The barrel's solid-looking mass is one oversized SPOTS instance - a spacing bigger than the horse, so the lattice produces a single cell rather than a field of them. Same tool as the bubbles, tuned the other way.

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.

Oil Sheen

The coat is laced with a cracked, glassy web of colour running nose to tail, densest and almost solid over the barrel, where it is pitted with bubbles of every size and rimmed in a paler shade of the same wander.

  1. the vein film — PARTS × CRACKLE inverted, painted with RAMP
  2. the slick over the barrel, pitted with bubbles — PARTS × SPOTS × SPOTS, painted with RAMP
  3. and the rim round every bubble — PARTS × RINGS, painted with RAMP

Wild type

Nothing.

Paints nothing.