Legacy (传承 / Heritage) — Bond Tier Boost
How equipment Legacy works: when a piece of gear has the Legacy flag set (in-game UI: [传承] / [Legacy] prefix on the gear name + gold border sprite), every one of its 3 bond slots gains an additional +1 to its level.
Source: decompiled
EquipHelper.GetEquipBondandEquipHelper.SetEquipHeritageindata-session/intermediate/decompiled_equip.cs. The math is inMainScripts.dll(HybridCLR HotUpdate), not in any DataTable.
What Legacy DOES
Bond level +1 for all 3 slots (Pure / Title / Enhance), capped per-bond by the bond's max tier (= number of comma-separated entries in BondDataTable.Value1, e.g. Sharp/Sturdy = 6 tiers max, Fair Trade = 2 tiers max).
The bonus stacks on top of the star-up bonus:
| State | Pure | Title | Enhance |
|---|---|---|---|
| ★0, no Legacy | base | base | base |
| ★3, no Legacy | base+1 | base+1 | base+1 |
| ★0 + Legacy | base+1 | base+1 | base+1 |
| ★3 + Legacy | base+2 | base+2 | base+2 |
(MaxLevel cap applies at every step.)
What Legacy does NOT do
Legacy does NOT modify raw stats. Verified by full grep of Heritage references in decompiled C# — 8 references total, none inside GetEquipAttr (the function that computes raw STR/INT/DEX/CONS/SPD/Luck/Tough/Mana). All 8 references:
| Line | Where | Effect |
|---|---|---|
| 557, 645 | UI init | Set/clear flag |
| 656 | UI title | Show "[Legacy]" prefix on gear name |
| 1209 | UI preview | Display "+1" or "+2" in bond text |
| 1568 | GetEquipBond |
+1 every bond level (capped by MaxLevel) |
| 1582 | SetEquipHeritage(step) |
RNG roll on drop |
| 1906 | UI sprite | Border sprite (gold vs default) |
| 2642 | Serialization | JSON property declaration |
The localization text "Legacy adds one more stat" (Battle_Option_Travel_09) is misleading — it's a translation of CN 传承会使装备拥有的词条数+1 ("Legacy makes gear's 词条 count +1"). 词条 here refers to bond entries, not raw stat lines. The EN translator picked "stat" because 词条 is ambiguous, but the code path only modifies bond levels.
How gear becomes Legacy
EquipHelper.SetEquipHeritage(string step) rolls RNG when gear drops. Drop probability scales with rarity:
| Step | Legacy roll chance |
|---|---|
| C | 1/160 ≈ 0.625% |
| B | 1.25% |
| A | 2.5% |
| S | 5% |
| SS | not implemented in this code path (SS items use a separate flow; verify in-game) |
(Constants from EquipHelper.SetEquipHeritage switch.)
So Legacy is purely a drop modifier — there's no in-game upgrade UI to convert a non-Legacy piece into a Legacy piece. You either roll Legacy at drop time or you don't.
Note:
Items_Des_D00007_*loc keys describe a "Legacy Stone" item that "allows gear of the corresponding tier to gain Legacy", which would be a UI-driven legacy upgrade. The corresponding code path was not located in the current decompile dump — likely in a service handler not inEquipHelper. Treat the RNG drop chance as the primary path for now; if the user reports gaining Legacy via Stone, re-check after next decompile.
Implementation notes
- Legacy state is on the player's gear instance (
SaveData.Equip.Heritagefield), NOT onEquipDataTablerows. The gear DataTable describes the template; whether a specific copy is Legacy depends on the player's drop history. - This means the wiki gear catalog (
gear/<area>.md,<span class="broken-link" title="missing: starup-gear-info">starup-gear-info</span>) shows base + star-up only — Legacy adds a uniform+1 to all 3 bonds, capped per MaxLevelon top, easy to apply mentally. - Code path for the "Legacy Stone" use-case (UI-driven conversion) is not in the current decompile output —
data-session/tools/decompile_equip.pyonly pullsEquip*types. To investigate: extend the script'sTARGETSto includeLegacyStone/ item-handler types and re-decompile.
Cross-refs
- starup — gear star-up math (this page references it heavily)
- starup-gear-info — per-gear progression table at ★0/★1/★2/★3 (Legacy NOT applied; add +1 to each bond mentally)