Gemstones Data
The gemstone system spans 4 interconnected sub-tables: gemstones, slots, skills, and collections. Together they form a socket-based enhancement system.
Sub-Table Overview
4 tables| Table | Struct | Source | Records | Purpose |
|---|---|---|---|---|
| Gemstones | GeneralGemstoneTable |
gemstone_dict |
60 | Individual gemstone definitions with effect types and values |
| Gemstone Slots | GeneralGemstoneSlotTable |
gemstoneslot_dict |
20 | Socket slot definitions — which slots are available and their unlock conditions |
| Gemstone Skills | GeneralGemstoneSkillTable |
gemstone_skill_dict |
6 | Special skills that activate when specific gemstone combinations are socketed |
| Gemstone Collections | GeneralGemstoneCollectionTable |
gemstone_collection_dict |
90 | Collection bonuses — rewards for completing sets of gemstones |
Gemstone Table Fields
| Field | Type | Notes |
|---|---|---|
ID | int | Unique gemstone ID (0x0) |
eGrade | GradeType | Rarity tier of the gemstone (0x4). Note: field is eGrade, not eGradeType. |
iNameID | int | String table FK for gemstone name (0x8) |
eMainType | GemstoneMainType | Main category of the gemstone (0xC) |
sIconName | string | Sprite reference (0x10) |
EquipEffectTypes | PropertyType[] | Array of stat types this gemstone modifies (0x18). Not a single eEffectType — uses arrays. |
EquipEffectValues | float[] | Array of effect magnitudes matching EquipEffectTypes (0x20). Not a single fEffectValue. |
EquipEffectPerLevelValues | float[] | Per-level scaling values for equip effects (0x28) |
SetEffectTypes | PropertyType[] | Array of set bonus stat types (0x30) |
SetEffectValues | float[] | Array of set bonus values (0x38) |
SetEffectPerLevelValues | float[] | Per-level scaling for set effects (0x40) |
iMaxEnchantLevel | int | Maximum enchantment level (0x48) |
iDisassemble | int | Disassembly result/value (0x4C) |
iGradeUpItemID | int | Item ID required for grade-up (0x50) |
Cross-Table Relationships
GemstoneSlotTable
→
defines slots for
→
GemstoneTable
→
belongs to
→
GemstoneCollectionTable
GemstoneTable
→
combination triggers
→
GemstoneSkillTable
Open Questions
- How are gemstone skill combinations determined? Is there a separate mapping table?
- Can gemstone effects be upgraded or leveled, or is the value fixed per gemstone ID?
- What triggers collection completion rewards — owning all gemstones in a set, or socketing them?
- Are the 6 gemstone skills hardcoded or can new ones be added via data?