Every creature has a gender, rolled at the moment it hatches. The roll is a flat 50/50 — male and female are equally likely for every creature, every egg, every grade.
LIVE on release since 2026-08-08 (0.42). Server-side rolls item 7. The hatch path has answered with the server's gender since 2026-07-31. Two rolls never moved, and both were rerollable — which matters far more than a coin flip sounds, because a breeding pair needs one of each and a pair is the most valuable thing a new account can own.
ensureGenders(), the backfill for creatures minted before gender existed: stripping
g out of a save and reloading re-rolled the whole bag.Math.random() calls on a screen with a
back button that clears them, so a player could sit there and reroll until the
pair came up M+F.The draw is HMAC(SPAWN_SECRET, "sex|account|realm|key") (the realm is always standard since the one-mode order of 2026-08-28), where the key is the
creature's own uid. Asking again for the same creature always answers the same
gender, under any request and any idempotency key. That is the point: idempotency here is not about
surviving a retry, it is about there being no reroll left to find. The character-creation
pair uses two fixed account-scoped keys for the same reason — the answer is identical every
time the screen is opened, whichever class is chosen. ensureUids() now runs
before ensureGenders() on load, since the backfill keys on uid.
2026-09-30 (F135, LIVE on release since 2026-10-23, 0.89): a creature the server itself sexed at hatch or breed claim answers that stored sex here; the draw above is only for keys with no sexed ledger row, such as the two starters.
monGender() already reads M for a missing value rather
than storing one. Probe tools/probe_sexroll.py, 8/8 on the full stack — test 2
asks again under a different idempotency key, because if the answer only repeated for a
repeated idem that would be ordinary replay caching and a save-stripper would still get a fresh roll.
It has to repeat because the KEY is the seed.Gender is shown as a sign immediately after the creature's name, everywhere the name appears — party list, battle UI, creature sheet, and reliquary.
| Gender | Sign | Example |
|---|---|---|
| Male | ♂ | Thornback ♂ |
| Female | ♀ | Thornback ♀ |
♂ (♂) and ♀ (♀). Gender has no effect on stats, moves, grade, or any combat calculation — it is a breeding-side and identification trait only.