Uses real game weights from AttachEffectTableParam.csv. Based on game data v1.03.2 + DLC.
Game version: v1.03.2 + DLC1
AttachEffectTableParam.csv — loot table weightsAttachEffectParam.csv — effect compatibility groupsAttachEffectName.fmg.xml + AttachEffectName_dlc01.fmg.xml — effect display namesThe chanceWeight column stores actual_weight − 65536; true weight = stored + 65536.
| Mode | Table ID(s) | Pool total (W) |
|---|---|---|
| Regular | 110 | 10046 (includes 5 unnamed effects, combined weight 216) |
| DON effects | 2000000 + 2100000 + 2200000 | 19961 (includes 83 unnamed effects in table 2100000) |
| DON curses | 3000000 | 2400 (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).
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.
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.
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.
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.
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.