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/Hlronly- 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
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 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.
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:
| Parameter | Value | Why |
|---|---|---|
| target | players | People, not livestock — a healer that topped up every animal in a pen would be a farm tool |
| radius | 3 blocks | A horse worth standing next to, not one that trivialises combat from across a field |
| amount | 1 health point | Half a heart a beat |
| interval | 40 ticks | Two seconds — noticeable while you wait, useless mid-fight |
| max_targets | 8 | The 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.
common/genetics/genes/HealerGene.java