Magical gene / no coat effect

Ocean-born

Neither the horse nor its rider can drown. That is all it does, and it is deliberately all it does — the four other water loci are staying separate, and this is the one piece none of them covered.

Built, and not yet seen in game

The gene, its inheritance and its founder table exist and are covered by the test suite; the translator that turns it into behaviour was written against the 26.1.2 sources and is flagged unverified in its own comments. Nothing on this page has been watched happening to a horse. What to look at, and what is most likely to be wrong, is on To be verified.

What it does

CombinationOutcome
Ocn/Ocnhorse and rider never drown
anything elsenothing

It is one of five, not a replacement for them

The water side of the mod is deliberately spread across separate loci, and breeding a genuinely amphibious horse means collecting all of them:

  • Waterborn — walks on the surface, and can be milked for water.
  • Magic swim speed — how fast it crosses.
  • Magic water breathing — how long it lasts under, as a dial.
  • Ocean-born — whether drowning happens at all, for both of you.

Health

Removes drowning entirely for horse and rider. No cost.

Gene key
horsegenetics.ocean_born
Alleles
Ocn ocean-born, n
Inheritance
homozygous recessive
Reaches the game as
a traversal effect — underwater_breathing with target: both
Coat effect
none, ever
A flag granted to the rider must come off on dismount

This is the sharpest hazard in the whole behaviour batch. Traversal flags currently only ever touch the horse, which is disposable state on an entity the mod owns. Granting one to a player writes state onto something that walks away. If the grant is not reconciled off the tick the rider dismounts, it is an invulnerability duplication — ride the horse, step off, keep the immunity. The removal path must be written in the same change as the grant, the way clearAttributes already does for attributes.

Do not merge the water loci. This was decided, and the reason matters

The original proposal was to fold waterborn, swim speed, water breathing and this into one Ocean-born locus. It was rejected: merging changes the genotype of every horse already bred, and it destroys the ability to have a horse that swims fast and still drowns. Crossing a river quickly and surviving the bottom of a lake are different problems — the argument is written out on water breathing. If a later session wants them merged, that is a decision to reopen deliberately, not a tidy-up.

It composes with the graded locus rather than fighting it

A horse that cannot drown does not care how slowly it would have. underwater_breathing is the absolute flag and water breathing is the dial; the two stack in the obvious direction and neither needs to know about the other.

Why this locus is so small

Everything else a water horse might want already ships. Rider drowning immunity was the one genuinely missing piece, so that is the whole gene. A locus that does one thing nobody else does is worth more than a locus that re-states four existing ones under a better name.

The case for keeping four loci

One combined water gene would be easier to explain and much easier to breed — and that is the objection, not the argument for it. Four loci mean four independent things to find, four partial successes, and a horse that is good at water in a way that is specifically yours. Collapsing them would trade the whole breeding project for a single yes-or-no.

Planned source: common/genetics/genes/OceanBornGene.java