Skip to content
Alpha & Strategy

Cheat Sheet — Constants

Every hard-coded number in Dysnomia, with its source. If a game-mechanics doc cites a constant and it isn’t on this page, that’s a bug in this page.

Constant Value What it is Source
Meridians.length 90 Total latitude bands, south (0) to north (89). HECKEMERIDIANS
Meridians[0] 476,733,977,057,179 Southern-boundary meridian value. Also the GWAT-detection divisor (see QING). HECKEMERIDIANS, QING
Meridians[13] (indexed lookup) Personal-holdings overflow cap used by H2O and VITUS. H2O, VITUS
Meridians[20] (indexed lookup) WORLD-holdings overflow cap used by H2O and VITUS. H2O, VITUS
Meridians[89] 788,007,780,075,465,… (78-digit ceiling) Northern-boundary meridian; used as the modulus in WAR’s Faa calculation. HECKEMERIDIANS, WAR
Latitude divisor 333 Scales Waat down into latitude. HECKEMERIDIANS

Implication: the ceiling of WAR’s Waat output is astronomically large (2⁷⁸-ish), so _taan[Caude][Position] isn’t a serious ceiling. See Territory: CO2 Dynamics.

Constant Type Where stored Source
MotzkinPrime uint64 public constant Every DYSNOMIA-derived contract carries it (inherited). Used as a modulus in SHA / SHIO reactions and referenced by HECKEMERIDIANS. DYSNOMIA V2, SHA, SHIO

Note: the literal 476,733,977,057,179 is reused three times — as Meridians[0], as the GWAT-detection divisor in QING, and as a consistent prime-like value in the Hecke system.

Constant Value Role Source
CROWS VIP threshold 25 * 10^18 Hold ≥ 25 CROWS (18-dec) → auto-authorize as bouncer at any QING that hasn’t set NoCROWS. QING
BouncerDivisor uint16, per-QING mutable Bouncer share threshold: Asset.balanceOf(x) >= Asset.totalSupply() / BouncerDivisor → x is a bouncer. Higher divisor = smaller share needed. QING
NoCROWS bool, per-QING mutable When true, CROWS holders are not auto-authorized. Owner-only setter. QING

Inside CHOA the Yuan calculation weights three balances of the underlying asset:

Location Weight Comment
Direct wallet balance of UserToken
LAU’s own balance of the asset 10× Character-token multiplier.
YUE’s balance of the asset 40× Biggest multiplier.

Yuan = balance + 10·bal(LAU) + 40·bal(YUE).

Source: CHOA. See also Power: Yuan Composition.

Constant Value Source
Per-message MAI cap 1 * 10^decimals If computed MAI > 1 token, capped to 1 token.

From YUE:

Mod = AssetRate / (10^(decimals - 2))
if Mod < 777:
Rate = Rate / ((777 - Mod) * 10^(decimals - 5))
Number Role
777 Rate-modifier floor; below this, denominator scales non-linearly.
(decimals - 2) Offset for bringing AssetRate into the modifier’s comparable range.
(decimals - 5) Offset for the scaled denominator.

See Economic: Market Rates.

YANG exposes uint64[3] public Pole:

Index Derives from
Pole[0] Bang.Omicron — YAU.React() output
Pole[1] Le.Omicron — ZHOU.React(Pole[0]) output
Pole[2] Lai.Omicron — result of installing a new SHIO with Xi = Bang.Omega ^ Le.Omega

Pole progresses Bang → Le → Lai. See Timing: Pole & Ring.

Constant Value Where Source
Submissions per-user uint8 (max 255) USERVOTE struct. USERVOTE
Vote per-user uint16 (max 65,535) Which submission was voted for. USERVOTE
Round uint16 New round invalidates prior votes. USERVOTE
Minimum string length 3 Strings shorter than 3 revert in acronym/palindrome checks. STRINGLIB

See Meta: Word-Games Tactics.

LAU’s Saat is a 3-slot identifier.

Slot Meaning Source
Saat[0] Pole at the moment of identity generation (first element of the triple) LAU
Saat[1] Soul — 64-bit player ID LAU
Saat[2] Aura — wallet-derived 64-bit fingerprint LAU

Every DYSNOMIA-derived token has a maxSupply set at construction and a mintToCap() helper. These aren’t one number; they’re per-token. See individual token docs in technical/docs/core/.

All constants on this page trace to one of:

Use these calls here. Simulations preview the current state; each confirmed call is a separate transaction.

Hecke0x29A924D9B0233026B9844f2aFeB202F1791D7593
Hecke.Meridians(uint256)Read

Open this function to load its call form.

YANG0xB702b3ec6d9De1011BE963EFe30A28b6dDFbe011
YANG.Pole(uint256)Read

Open this function to load its call form.

QINGResolve your player or venue above the call forms.
QING.BouncerDivisor()Read

Open this function to load its call form.