Nightreign Relic Calculator

Curse filter

Uses real game weights from AttachEffectTableParam.csv. Based on game data v1.03.2 + DLC.

Data Sources & Methodology

Data Sources

Game version: v1.03.2 + DLC1

Files Used

  • AttachEffectTableParam.csv — loot table weights
  • AttachEffectParam.csv — effect compatibility groups
  • AttachEffectName.fmg.xml + AttachEffectName_dlc01.fmg.xml — effect display names

The chanceWeight column stores actual_weight − 65536; true weight = stored + 65536.

Loot Tables

ModeTable ID(s)Pool total (W)
Regular11010046 (includes 5 unnamed effects, combined weight 216)
DON effects2000000 + 2100000 + 220000019961 (includes 83 unnamed effects in table 2100000)
DON curses30000002400 (24 curses × weight 100)

Table 2000000 contains the strongest cursed effects (e.g. attack +3/+4). Table 2100000 is the general DON pool, shared with regular plus DON-exclusive effects. Table 2200000 holds the character-ability weights: with the DLC installed all 10 characters roll (skill 160 / stat 40); pre-DLC only the base 8 roll (skill 200 / stat 50).

Effect Groups

Effects sharing a compatibilityId in AttachEffectParam.csv are mutually exclusive — a relic cannot roll two effects from the same group. The dropdowns in this calculator map to these groups.

Probability Formula

Select any effects you want across any groups to build a desired pool. For a relic with K effect slots, the calculator computes the probability that all K drawn effects come from your pool.

Regular pool — each relic slot draws from its own tier table: slot 1 from table 110, slot 2 from 210, slot 3 from 310 (Delicate uses tier 1 only; Polished tiers 1–2; Grand tiers 1–3). The same effect has a different weight per tier — weak effects are commonest in tier 1, strong effects in tier 3.

P = colorFactor × efSlots(tiers[0..K−1], desired effects)

efSlots sums over which slot each desired effect lands in (using that slot's weight) and treats unselected slots as free; a used group's weight is removed from later slots. Slots are processed in tier-ascending order:

efSlots([], D) = (D empty) ? 1 : 0
efSlots([t, …], D) = Σ_d (w_d[t] / W_t) · efSlots(rest, D∖d)        [desired d in slot t]
                   + ((W_t − freeGW_t) / W_t) · efSlots(rest, D)     [slot t free, if slots remain]

Delicate results are exact. Multiply by 0.25 if a specific relic color is required. Deep of Night relics use a single-pool model (no tiers): P = K! × Σ over K-group subsets of ef(S, W) × curseFactor.

Deep of Night: Curse Factor

Cursed effects (⚠) are accompanied by a randomly drawn curse from a pool of 24, each with equal weight. Curses are assumed to be drawn without replacement — i.e. the same curse cannot appear twice on one relic. This is an empirical assumption based on personal observation of in-game relics; it has not been confirmed from game code.

With the curse filter set to "Acceptable curses only", let N = number of selected acceptable curses and m = number of groups in the current K-subset where every selected effect is cursed. The per-subset curse factor is:

P(N, m) / P(24, m) = N×(N−1)×…×(N−m+1) / 24×23×…×(24−m+1)

"Any curse" sets N = 24, giving factor = 1 (no penalty). Subsets where N < m are impossible and skipped. Groups where only some selected effects are cursed are not counted toward m — the user is accepting either outcome for those groups.

Data Corrections

Effect 6001400 (Physical Attack Up) is labeled "+4" in the game XML, but its weight (269) matches the common-tier pattern seen across all elemental types (Magic/Fire/Lightning/Holy Attack Up), where the +3 tier weighs 269 and the +4 tier weighs 130. Effect 6001401 had no name in the XML (%null%) but is the confirmed +4. Names were corrected manually in the data pipeline.

Translation

Japanese effect names sourced from: Gamerch Wiki, GameWith, Game8, nightreignrelic.com.

Japanese UI translated by Claude (Anthropic). Found a translation issue? Report it on GitHub.