Data Tables & Balancing
All tunable numbers live in DataTables (CSV/JSON importable) so balancing never needs a code change.
| Table |
Row struct |
Key columns |
DT_Weapons |
FWeaponRow |
Id, Type, Rarity, BaseATK, Perk (GE class), WeaponArt (GA class), Mesh |
DT_MotionValues |
FMotionValueRow |
WeaponType, AttackId, MotionValue, BreakValue, ResonanceGain |
DT_Echoes |
FEchoRow |
Id, Aspect, Role, Skill, Passive, Burst, BondCosts[5] |
DT_ResonanceLinks |
FLinkRow |
EchoA, EchoB, EchoC (optional), BonusGE, Description |
DT_Reactions |
FReactionRow |
AspectA, AspectB, ReactionGE, Cue, Multiplier |
DT_Enemies |
FEnemyRow |
Id, Family, Tier, BaseHP, BaseATK, DEF, Aspect, Resists, LootTable |
DT_Loot |
FLootRow |
TableId, ItemId, Weight, MinQty, MaxQty, Conditions (moon phase, Bloom stage) |
DT_XPCurve |
FXPRow |
Level, XPToNext |
DT_Upgrades |
FUpgradeRow |
Rarity, Level, LumenCost, Materials, ATKBonus |
DT_MoonPhases |
FMoonPhaseRow |
Phase, EmpoweredAspects, WorldModifierGE |
Example: DT_MotionValues.csv
Name,WeaponType,AttackId,MotionValue,BreakValue,ResonanceGain
Katana_L1,Katana,L1,0.45,4,1
Katana_L2,Katana,L2,0.50,4,1
Katana_L3,Katana,L3,0.60,5,1
Katana_L4,Katana,L4,0.95,9,2
Katana_H1,Katana,H1,1.20,15,3
Katana_H3,Katana,H3,2.10,30,5
Greatblade_L1,Greatblade,L1,0.90,10,1
Balancing targets
| Target |
Value |
| Time to kill a mook (same level, Common weapon) |
2–3 light hits |
| Soldier |
6–10 s |
| Elite |
25–40 s |
| Boss (on-level, decent build) |
4–7 min |
| Player deaths to a boss (first attempt, average player) |
1–3 |