EquipmentEnchantData (Enchants)
Overview
Section titled “Overview”EquipmentEnchantData.xml defines equipment enchantment configurations: stat modifiers and passivity effects that apply at various enchantment steps. This page documents the EnchantData section containing Enchant elements. The same XML file also contains a PassivityCategoryData section documented separately.
Version Support
Section titled “Version Support”| Version | Status |
|---|---|
| v92 | Full |
| v90 | - |
| v86 | - |
DSL Support
Section titled “DSL Support”Entity: enchants
Operations: create, update, delete, upsert
enchants: create: - enchantId: 20323 basicStats: - kind: attack rate: 1.015 effects: - step: 0 passivityCategoryId: 120314
update: - enchantId: 20323 changes: basicStats: - kind: defense rate: 1.025
delete: - 20323
upsert: - enchantId: 20324 basicStats: - kind: impact rate: 1.05Quick Recipes
Section titled “Quick Recipes”Create an Enchant with Basic Stat Modifiers
Section titled “Create an Enchant with Basic Stat Modifiers”enchants: create: - enchantId: 20323 basicStats: - kind: attack rate: 1.015 - kind: defense rate: 1.020Creates an enchant with ID 20323 that applies a 1.5% attack boost and a 2.0% defense boost.
Create with Step-Specific Stat Modifiers
Section titled “Create with Step-Specific Stat Modifiers”enchants: create: - enchantId: 20323 basicStats: - kind: attack rate: 1.015 - kind: impact rate: 1.07 enchantStep: 7Creates an enchant where the attack modifier applies at all steps, but the impact modifier only activates at enchant step 7 or higher.
Create with Passivity Effects
Section titled “Create with Passivity Effects”enchants: create: - enchantId: 20323 effects: - step: 0 passivityCategoryId: 120314 - step: 7 passivityCategoryId: 120334Creates an enchant that activates passivity category 120314 at base enchantment (step 0) and passivity category 120334 at enchant step 7.
Create with Combined Stats and Effects
Section titled “Create with Combined Stats and Effects”enchants: create: - enchantId: 20323 basicStats: - kind: attack rate: 1.015 - kind: defense rate: 1.020 enchantStep: 5 effects: - step: 0 passivityCategoryId: 120314 - step: 7 passivityCategoryId: 120334Creates a comprehensive enchant configuration with both stat modifiers and passivity effects at different enchantment steps.
Update Stat Modifiers
Section titled “Update Stat Modifiers”enchants: update: - enchantId: 20323 changes: basicStats: - kind: defense rate: 1.025Replaces the entire basicStats collection for enchant 20323. The previous stat modifiers are removed and replaced with the new defense modifier.
Update Passivity Effects
Section titled “Update Passivity Effects”enchants: update: - enchantId: 20323 changes: effects: - step: 0 passivityCategoryId: 120400Replaces the entire effects collection for enchant 20323 with a new passivity effect configuration.
Delete an Enchant
Section titled “Delete an Enchant”enchants: delete: - 20323 - 20324 - 20325Removes enchant configurations with IDs 20323, 20324, and 20325 from the EnchantData section.
Upsert (Create or Replace)
Section titled “Upsert (Create or Replace)”enchants: upsert: - enchantId: 20323 basicStats: - kind: attack rate: 1.030Creates a new enchant if ID 20323 doesn’t exist, or completely replaces the existing entry if it does.
Properties Reference
Section titled “Properties Reference”Enchant (Root)
Section titled “Enchant (Root)”| Property | Type | Since | Required | Default | Description |
|---|---|---|---|---|---|
enchantId | int | v92 | ✅ | — | Unique identifier for this enchant configuration |
basicStats | list | v92 | ❌ | — | Collection of basic stat modifiers applied by this enchant |
effects | list | v92 | ❌ | — | Collection of passivity effects activated at specific enchant steps |
BasicStat (Nested)
Section titled “BasicStat (Nested)”Represents a stat modifier within an enchant. Not identified by a composite key - the entire collection is replaced during updates.
| Property | Type | Since | Required | Default | Description |
|---|---|---|---|---|---|
kind | string | v92 | ✅ | — | Type of stat being modified (e.g., “attack”, “defense”, “impact”, “balance”) |
rate | decimal | v92 | ✅ | — | Multiplier applied to the stat (e.g., 1.015 = 1.5% increase) |
enchantStep | int | v92 | ❌ | — | Enchant step at which this modifier becomes active. If omitted, applies at all steps (base enchant) |
Effect (Nested)
Section titled “Effect (Nested)”Represents a passivity effect triggered at a specific enchantment step. Not identified by a composite key - the entire collection is replaced during updates.
| Property | Type | Since | Required | Default | Description |
|---|---|---|---|---|---|
step | int | v92 | ✅ | — | Enchant step at which this passivity effect activates |
passivityCategoryId | int | v92 | ✅ | — | ID of the passivity category to activate (references EnchantPassivityCategory) |
XML Structure
Section titled “XML Structure”EquipmentEnchantData uses 2-level nesting within the EnchantData section:
<EquipmentEnchantData> <EnchantData> <Enchant id="20323"> <BasicStat kind="attack" rate="1.015" /> <BasicStat kind="impact" rate="1.07" enchantStep="7" /> <Effect step="0" passivityCategoryId="120314" /> <Effect step="7" passivityCategoryId="120334" /> </Enchant> <Enchant id="20324"> <BasicStat kind="defense" rate="1.020" /> </Enchant> </EnchantData> <PassivityCategoryData> <!-- See Enchant Passivity Categories documentation --> </PassivityCategoryData></EquipmentEnchantData>Key Structure:
Enchant: Identified byidattributeBasicStatandEffect: No unique identifiers - entire collections are replaced during updates
Common Pitfalls
Section titled “Common Pitfalls”-
Collection Replacement on Update: The
updateoperation replaces the entirebasicStatsoreffectscollection. If you updatebasicStats, all existing BasicStat entries are removed and replaced with the new collection. To preserve existing entries, you must include them in the update payload. -
EnchantStep Semantics: When
enchantStepis omitted from aBasicStat, the modifier applies at all enchantment levels (base enchant). When specified, the modifier only activates when the equipment reaches that enchantment step or higher. -
Rate as Multiplier: The
ratefield is a multiplier, not a percentage. Use 1.015 for a 1.5% increase, 0.95 for a 5% decrease, etc. -
Passivity References: The
passivityCategoryIdinEffectentries must reference valid entries in the PassivityCategoryData section. Broken references may cause runtime errors in the game. -
XML Section Context: Enchant elements exist within the
<EnchantData>section of EquipmentEnchantData.xml. The DSL automatically targets the correct section - you don’t need to specify it. -
No Upsert for Nested Elements: Upsert semantics apply only to the root
Enchantelement. You cannot upsert individualBasicStatorEffectentries - the entire parentEnchantis created or replaced.