Magical gene / phase 3

Healer

A horse that mends the people standing next to it, and carries a red stripe down the middle of its mane that says so. Recessive, so about one wild horse in a hundred and twenty is one — and the sixth of the population carrying a single copy looks like every other horse.

What it does

What to look for: a red stripe down the middle of the mane. That marking is the tell, and it is the only way to spot one by eye.

What it does: the horse heals players standing next to it.

Breeding it: recessive, so a horse needs two copies to do anything. About one wild horse in a hundred and twenty is a healer, but roughly a sixth of all horses carry a single hidden copy — so two ordinary-looking parents throwing a healer is common, and is the usual way people get one.

Crossing two of them

Its gene carrot

Gene key
horsegenetics.healer
Priority
116 (after mane colour, before magic zebra)
Alleles
Hlr n
Outcomes
wild, healer-carrier, healer
Shows when
Hlr/Hlr only
Default allele
n
Wild frequency
9% per allele → ~0.8% of wild horses, ~16% carriers
Founder draws
1 × nextFloat()
Deterministic
no — the stripe’s opacity varies
Aura
1 health point every 40 ticks, players within 3 blocks
Built 2026-09-04, not yet play-tested

The stripe reads correctly in sample bakes. The aura has never been stood next to. Checklist on To be verified.

The mark and the effect are the same fact

The stripe is not decoration. It is the only way to tell a healer from an ordinary horse without standing beside one and waiting, and it exists because of a rule this mod holds to: a magical ability a player cannot see coming is a magical ability nobody ever learns to breed for. Every gene that does something has to look like it does something.

The mark varies; the effect does not

The stripe’s opacity is this gene’s one epigenetic value, drawn off the expressing copy: a faint line on one horse, a vivid one on another, inherited with the allele.

It says nothing about the strength of the healing. The aura is the same on every healer. That is a deliberate choice: a mark that quietly encoded a stat would make a horse’s value legible from a screenshot, and this model would rather make you keep a pedigree.

Drawing a line down a blade

The mane is a thin column, rotated out of the world axes by its rest pose, so neither “a band in X” nor “a band in Y” is right for it. HairPattern.centreStripe works in the part’s own axes instead: it runs the stripe along the longest span and centres it across the second, which on the mane’s visible faces reads as a line straight down the middle.

common/coat/pattern/HairPattern.java
public static double centreStripe(Skin skin, Part part, BodyPoint point, double halfWidth) {
    Axis across = axesBySpan(skin, part)[1];
    Bounds b = HorseSkinGeometry.bounds(skin, part);
    double centre = (b.min(across) + b.max(across)) * 0.5;
    double d = Math.abs(point.along(across) - centre) / b.span(across);
    double edge = Math.max(0.03, halfWidth * 0.5);
    return 1.0 - BodyStripes.smoothstep(halfWidth - edge, halfWidth + edge, d);
}

Like every hair gene it paints toward the red rather than with it, so the strand shading survives underneath and a faint stripe genuinely reads as faint rather than as a thinner one.

The aura

Granted through a healing effect — the first verb in the vocabulary that reaches anything other than the horse and its rider:

ParameterValueWhy
targetplayersPeople, not livestock — a healer that topped up every animal in a pen would be a farm tool
radius3 blocksA horse worth standing next to, not one that trivialises combat from across a field
amount1 health pointHalf a heart a beat
interval40 ticksTwo seconds — noticeable while you wait, useless mid-fight
max_targets8The cap every radius effect carries; at three blocks it is unreachable in practice

Beats are counted off the horse’s own tick count rather than the world’s, so a stable full of healers does not pulse in lockstep — which matters less for the look than for not doing all of the work on one tick. Every one of these numbers is a first guess and all of them are the sort of thing a play session should move.

A foal heals and shows nothing

The stripe needs a mane, and the foal mesh has none, so a healer foal is indistinguishable from any other — but it heals, because the aura is a property of the genotype and not of the mane. That is the same split light makes with its glowing mane, and it is worth knowing about: a foal you cannot identify is still doing the work.

Why it runs after mane colour

Priority 116 puts it after mane colour (112) so the red sits on top of a coloured mane rather than under it, and before magic zebra (120) so stripes still black everything out. A horse carrying both a solid mane and this gene shows the colour with a red line down it, which is exactly what you would want to see.