Decomposition Data
Overview
Section titled “Overview”DecompositionData.xml defines decomposition outputs: the fixed and random items produced when equipment is decomposed, organized by enchant step tiers.
Version support
Section titled “Version support”| Version | Status |
|---|---|
| v92 | Full |
| v90 | - |
| v86 | - |
DSL support
Section titled “DSL support”Entity: decompositions
Operations: create, update, delete, upsert
Quick recipes
Section titled “Quick recipes”Create with fixed outputs
Section titled “Create with fixed outputs”spec: version: "1.0"
decompositions: create: - id: 100 desc: "Basic weapon decomposition" fixedOutputs: - enchantStep: 0 outputs: - templateId: 50001 amount: 3 - templateId: 50002 amount: 1 - enchantStep: 3 outputs: - templateId: 50001 amount: 5Creates a decomposition entry (ID 100) with fixed output tables at enchant steps 0 and 3.
Create with random outputs
Section titled “Create with random outputs”spec: version: "1.0"
decompositions: create: - id: 101 desc: "Accessory decomposition" randomOutputs: - enchantStep: 0 outputs: - templateId: 60001 probability: 0.5 min: 1 max: 3 - templateId: 60002 probability: 0.3 min: 1 max: 1Creates a decomposition entry with random output tables. Each output has a probability and a min/max quantity range.
Create with onlyBoundedPc
Section titled “Create with onlyBoundedPc”spec: version: "1.0"
decompositions: create: - id: 102 desc: "Soulbound-only decomposition" onlyBoundedPc: true fixedOutputs: - enchantStep: 0 outputs: - templateId: 50001 amount: 2Creates a decomposition entry restricted to bound-to-player items.
Update
Section titled “Update”spec: version: "1.0"
decompositions: update: - id: 100 changes: desc: "Updated weapon decomposition"Updates the description for decomposition 100 without affecting output tables.
Update replacing fixed outputs
Section titled “Update replacing fixed outputs”spec: version: "1.0"
decompositions: update: - id: 100 changes: fixedOutputs: - enchantStep: 0 outputs: - templateId: 50001 amount: 10Replaces all fixed outputs for decomposition 100 with the new set. Existing fixed output entries are removed entirely.
Delete
Section titled “Delete”spec: version: "1.0"
decompositions: delete: - 100 - 101Removes decomposition entries with the specified IDs.
Upsert
Section titled “Upsert”spec: version: "1.0"
decompositions: upsert: - id: 103 desc: "Upserted decomposition" fixedOutputs: - enchantStep: 0 outputs: - templateId: 50001 amount: 5Creates the decomposition if it doesn’t exist, or replaces it completely if it does.
Properties reference
Section titled “Properties reference”Core properties
Section titled “Core properties”| Property | Type | Since | Required | Description |
|---|---|---|---|---|
id | int | v92 | Yes | Unique decomposition entry ID |
desc | string | v92 | No | Internal description for the decomposition entry |
onlyBoundedPc | bool | v92 | No | Whether only bound-to-player items can be decomposed with this entry |
Fixed outputs
Section titled “Fixed outputs”Fixed outputs define guaranteed items produced at each enchant step tier.
| Property | Type | Since | Description |
|---|---|---|---|
fixedOutputs | list[FixedOutput] | v92 | List of fixed output tables, one per enchant step |
FixedOutput structure:
| Property | Type | Since | Description |
|---|---|---|---|
enchantStep | int | v92 | Enchant level tier for this output table |
outputs | list[FixedOutputEntry] | v92 | Items produced at this tier |
FixedOutputEntry structure:
| Property | Type | Since | Description |
|---|---|---|---|
templateId | int | v92 | Item template ID of the output item |
amount | int | v92 | Quantity produced |
Random outputs
Section titled “Random outputs”Random outputs define probabilistic items produced at each enchant step tier.
| Property | Type | Since | Description |
|---|---|---|---|
randomOutputs | list[RandomOutput] | v92 | List of random output tables, one per enchant step |
RandomOutput structure:
| Property | Type | Since | Description |
|---|---|---|---|
enchantStep | int | v92 | Enchant level tier for this output table |
outputs | list[RandomOutputEntry] | v92 | Possible items produced at this tier |
RandomOutputEntry structure:
| Property | Type | Since | Description |
|---|---|---|---|
templateId | int | v92 | Item template ID of the output item |
probability | decimal | v92 | Drop probability (0.0 to 1.0) |
min | int | v92 | Minimum quantity if rolled |
max | int | v92 | Maximum quantity if rolled |
Common pitfalls
Section titled “Common pitfalls”- ID uniqueness: Decomposition IDs must be unique across all entries. They typically correspond to equipment item template IDs.
- Collection replacement: Updating
fixedOutputsorrandomOutputsreplaces the entire collection. You cannot add or remove individual output entries; always provide the full desired set. - Scalar vs collection updates: Updating scalar properties (
desc,onlyBoundedPc) leaves output collections untouched. Only includefixedOutputs/randomOutputsin changes when you intend to replace them. - Probability range:
probabilityin random outputs is a decimal value between 0.0 and 1.0. A value of 0.5 means 50% chance.