Natural gene / health
ACAN (chondrodysplastic dwarfism)
Chondrodysplastic dwarfism — five alleles, fifteen combinations, and the gene that proves the combination table was worth building. A horse is affected when it has no working copy left, which is not the same statement as “it is homozygous”.
What it does
What to look for: a foal that is stunted and badly proportioned rather than merely small. This is a disorder, not the pony gene — if you want small horses, that is HMGA2.
Breeding it away: the horse is affected when it has no working copy left, which is not the same as "both copies the same". Several different broken versions exist and any two of them together will do it, so two healthy-looking parents can still produce an affected foal.
Crossing two of them
Its gene carrot
This locus is one of the ones that moves a horse’s size, and
vanilla scales the hitbox from the model — so a world that would rather
have tack and hitboxes sit exactly where vanilla puts them can set
body.size false. The gene
is still inherited, still reported and still worth breeding for; only the
entity is held at 1.0×.
- Gene key
- horsegenetics.acan
- Priority
- 86
- Alleles
- D1 D2 D3 D4 N
- Outcomes
- wild,
acan-carrier,acan-dwarf,acan-lethal - Coat effect
- none — every outcome is a wild type
- Default allele
- N
- Wild population
- p = 0.004 per variant; affected combinations excluded and the rest rescaled
- Founder draws
- 1 × nextFloat()
- Catalogue entries
- 1 — it never changes what a horse looks like
Every combination of this gene is an expression
marked wildType. That reads oddly for a gene that can change how
big a horse is or kill a foal, and it is exactly right: wildType
means changes nothing about the coat. Because none of the non-coat
genes paints, Gene.affectsCoat() is false for all of them, they
are left out of a horse’s texture key, and the
genotype gallery collapses the whole locus into one
entry however many alleles it has. What the gene actually does travels on
the trait system instead.
The combination table
| combination | outcome | effect |
|---|---|---|
N/N | wild type | nothing |
one D and N | acan-carrier | nothing — a normal-sized horse with no way to see it |
D1/D1 | acan-lethal | scale ×0.62, −14 health — the foal dies |
any other two Ds | acan-dwarf | scale ×0.70, −6 health, −0.030 speed, −0.12 jump |
The founder table
Built with the multi-allele Hardy–Weinberg helper at p = 0.004
per variant, with every affected combination excluded and the rest
rescaled to 100. That is the biology as much as the bookkeeping — a
wild-caught horse is an adult that survived, and an affected foal mostly did not.
Ten of the fifteen combinations therefore carry weight zero.
The founder table lists only the clear horse and the carrier. A wild-caught horse is an adult that survived, so it can carry this and never have it, and the homozygote’s weight is simply absent from the table. The only way to produce an affected foal is to breed two carriers — which is the whole design: it is what makes a pedigree worth keeping, and what turns the carrier wording in the info panel from decoration into the difference between a breeding programme and a lottery.
Why this is not “is it homozygous?”
A D1/D4 horse is affected. So is D2/D3. The four
variants are different broken versions of the same gene, and what
matters is that the horse has no working copy, not that its two copies match.
Every other disorder in this mod can be written as “count the variant allele and check for two”. This one cannot, and the check has to be a predicate over the whole pair. It is the clearest argument in the model for a combination table over a dominance label: recessive describes nine of these ten affected combinations and quietly loses the compound heterozygotes.
Two carriers of different variants are exactly as dangerous as two carriers of the same one. “My two lines carry different mutations” is not the safety it sounds like.
common/genetics/genes/AcanGene.java