Magical gene / no coat effect

Food preference

Every horse with this gene has one food it would rather have than anything else. Feed it that, and you get a short buff and a great deal more bond than the food deserves. It may be a food the horse’s own diet forbids — and the preference wins.

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.

Feeding the favourite always works, and says so when it was not needed (2026-09-11)

It always did work - what it never did was report. Both halves of what the favourite gives decline silently when there is nothing to give: healing a horse already on full health is a no-op, and the bond award returns without moving anything for a horse at max bond or one that has had its daily cap. So feeding a healthy, well-bonded horse spent the item, played the sound, showed the hearts, and left the player with no way to tell whether the locus had done anything at all - which reads exactly like a gene that does not work.

The food is still eaten; it was never the refusing that was wrong. When both halves declined, the player is now told on the action bar: “<name> eats it happily, but did not seem to need it.” Nothing is gated on this - there is no new condition under which feeding fails, because a horse refusing food for being too happy would be a worse lie than the silence was.

Two cases where the favourite genuinely could not be fed are closed with it, both on the diet locus. A foal is skipped by the preference handler so vanilla keeps its own baby path, which left the diet handler free to refuse a foal the one food it likes best; and the diet handler's feed-attempt test gates on the item carrying a FOOD component, which sugar and cocoa beans do not - so two of the twelve favourites never reached it. The favourite now beats both.

What it does

CombinationOutcome
one or two copiesa favourite food, a temporary buff, a larger bond gain — and the horse runs at anyone holding it
n/nnothing

It is dominant, so one copy is enough, and a horse can be heterozygous for a favourite it passes on to half its foals.

A carnivore that loves carrots

The favourite is drawn independently of the diet locus, so a meat-eating horse can have an inexplicable weakness for something it is otherwise supposed to refuse. It will accept it, every time. That is the most interesting thing the gene does and it is not an accident.

Health

None. The buff is short and modest; the bond is the real reward.

Gene key
horsegenetics.food_preference
Alleles
one per food item, plus n
Inheritance
dominant
Reaches the game as
a bond effect and a mob_effect on self
Coat effect
none, ever
It deliberately overrides another locus, so the override point must exist

The preference beats diet — settled in design. That means the feeding code must ask this locus first and diet second. Two genes writing one answer is exactly the silent-drift shape the contracts list exists for: build the override in the same change as the gene, or one of the two will quietly stop mattering.

It must count against the daily bond cap

HorseCareAttachment carries bondToday precisely so no single source can run bond from nothing to the top tier overnight. A bond source that ignores it is an AFK exploit rather than a feature — and it devalues every other way of earning bond in one change.

No performance hazard at all

It fires on an interaction that already happens. Unusually for this batch, there is nothing here to tick, scan or cache.

Which locus is asked first

Diet currently answers “will this horse eat that” on its own. After this gene, the question is asked in two steps: is this the horse’s favourite, and if not, what does its diet say. Writing it in that order once, in the feeding path, is what keeps the two loci from fighting.

The most breed-defining invisible gene in the batch

A breed is temperament and husbandry far more than it is statistics, and “this line will do anything for apples” is the kind of detail that makes a breed feel like one. It is also cheap for a breed author to use: a preference allele is a single line in a breed file and it changes how the animal is kept.

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