Recipes.xml

The chaos machine recipes that spend Potential. Each recipe uses the normal ChaosMix recipe format plus one <Inscription> child that says what the mix does. The recipes are added to the chaos machine when the plugin loads and vanish when it is off. See the overview for how the system works.

File Location#

Data/Plugins/Inscription/Recipes.xml

Dependencies#

Depends OnPurpose
ChaosMix Recipes<Display>, <Requirements>, <ZenCost>, <SuccessRate>, <Options>, <Sources> work exactly as there
ChaosMix Formulas / OptionsSuccess formula, charms
Pools.xmlPool names for Pool, and the catalysts that must appear as <Source> rows
GameStrings.xmlNameText / DescText ids (shipped: 11200-11214)
ItemStack.xmlPayment jewels and catalysts must stack

Recipe#

<Recipe MixType="14" MixID="201">
  <Display NameText1="11202" DescText1="11203" Width="-1" Height="-1" Category="7" Result="main"/>
  <Requirements Level="10"/>
  <ZenCost Type="A" Value="10000000"/>
  <SuccessRate FormulaId="1" MaxRate="70"/>
  <Options MixOptionId="1" CharmOptionId="1" ChaosCharmOptionId="1"/>
  <Sources> ... </Sources>
  <Inscription Kind="inscribe" Mode="choose" FailMode="catalyst" Bind="none"/>
</Recipe>

Differences from ChaosMix_Recipes.xml:

  • MixType="14" = the Chaos Goblin's Inscription tab. That tab only matches these recipes and shows the live panel (Potential, slots, cost, why a mix cannot run). MixType="0" also works, but then the recipes sit with the normal goblin mixes and there is no panel.
  • Do not set MixIndex. It is assigned automatically.
  • MixID is only a label here. Keep it between 200 and 255.
  • No <Rewards>. The item itself comes back.
  • A <Recipe> without an <Inscription> child is skipped.

Inscription#

AttributeTypeDefaultEffect
Kindopen / inscribe / empowerinscribeWhat the mix does (below)
Poolpool name"" (any)Only entries of this Pools.xml pool. Empty = any pool that holds the item. Unknown name = recipe skipped
Modechoose / randomchooseInscribe only. choose = the catalyst picks the entry. random = rolled by Weight
FailModecatalyst / corrupt / destroycatalystWhat a failed roll costs (below)
Protection"Group,Index"noneItem that turns a destroy failure into catalyst
Bindnone / onInscribenoneonInscribe = on success the item is bound to the character

Kind#

KindWorks onCost
openThe next closed slot (up to the item's slot Max)That slot's OpenCost from Inscription.xml
inscribeThe first open slotThe entry's first Cost
empowerThe slot holding the catalyst's entry. Raises it one tierThe entry's Cost for the new tier

Empower with no catalyst raises the first inscription on the item that has no catalyst (random-only) and is not maxed.

FailMode#

FailModeOn failure
catalystJewels, catalyst and Zen are lost. The item is safe, no Potential spent
corruptSame, and the slot becomes corrupted forever
destroyThe item is lost (with its record) unless the Protection item is in the box

A successful mix spends the Potential. A failed one spends none. The Protection item is used up on success and on failure.

Bind#

A bound item cannot be traded, dropped, put in the guild vault or listed on the Market. Its inscriptions only work for the bound character, and only that character can mix it. Binding happens once; a bound item stays bound to the same character.

Box Rules#

  • Exactly one item with Potential. Everything else must match a <Source>.
  • At most one catalyst. A stack of 2 or more counts as several and is refused. Players split stacks with Ctrl + right click.
  • Payment jewels (Chaos, Bless, Soul) come in stacks of exactly 10 in the shipped recipes. They are never catalysts: the chaos window merges equal jewels into one pile, so one Chaos as catalyst next to 10 Chaos as payment would read as 11.
  • Every recipe must pay with a different set of stacks. The catalyst row is optional for the matcher, so two recipes with the same payment look like the same recipe to the client.
  • Catalyst <Source> rows use CountMin="0" CountMax="1" Group="1", so the window shows them as one ingredient ("one of these").
  • A Protection item also needs its own <Source> row (CountMin="0"), or the box will not match.
  • The target row (TypeMin="0" TypeMax="6684" CountMax="1") covers weapons, shields, armor, wings and rings / pendants. Jewel of Chaos (6159) sits inside it; CountMax="1" keeps a stack of 10 out.

Shipped Recipes#

RecipeMixIDBoxZenSuccessOn failure
Open slot200item + 10 Chaos5M80%jewels lost
Inscribe (pick)201item + 1 catalyst + 10 Chaos + 10 Bless10M70%jewels lost
Inscribe (random)202item + 10 Chaos + 10 Soul5M90%jewels lost
Empower203item + 1 catalyst + 10 Bless + 10 Soul20M50%jewels lost
Forbidden Inscribe204item + 10 Soul2M50%slot corrupted forever

All use Requirements Level="10", success formula 1, and the usual charm options. Success is capped at 100%. Castle Siege chaos tax is added to the Zen.

Item numbers in <Source>: 6159 Chaos, 7181 Bless, 7182 Soul. Catalysts: 7184 Life, 7190 Creation, 7199 Guardian, 7209-7212 Gemstone / Harmony / Lower / Higher Refining Stone, 6687 +0 Soul of Dark Horse, 6708 Condor Flame.

Important Behavior#

  • The panel and the real mix run the same checks, in this order: one target, at most one catalyst, not bound to someone else, item has a slot rule, a recipe matched, slot available, catalyst / entry fits, tier not maxed, enough Potential. The first failing check is the message the player sees.
  • Random inscribe only rolls entries whose first Cost fits the Potential left. The panel shows how many could come out.
  • Every mix is logged in the ChaosMix log ([InscriptionMix][Success] / [InscriptionMix][Failure]).
  • Recipes are re-added on /reload plugins. They disappear when the plugin is off or unlicensed.

Examples#

Replaces the shipped Empower (203). A failure destroys the item unless the protection item is in the box. Here the protection item is 14,250 (item number 7418), an unused custom jewel slot; it must exist in Item.xml and the client. Note its own <Source> row. Add the other catalyst rows from recipe 203 as needed.

<Recipe MixType="14" MixID="203">
  <Display NameText1="11206" DescText1="11207" Width="-1" Height="-1" Category="7" Result="main"/>
  <Requirements Level="10"/>
  <ZenCost Type="A" Value="30000000"/>
  <SuccessRate FormulaId="1" MaxRate="60"/>
  <Options MixOptionId="1" CharmOptionId="1" ChaosCharmOptionId="1"/>
  <Sources>
    <Source TypeMin="0"    TypeMax="6684" CountMin="1"  CountMax="1" NameText="11210"/>
    <Source TypeMin="7209" TypeMax="7212" CountMin="0"  CountMax="1" Group="1" NameText="11209"/>
    <Source TypeMin="7184" TypeMax="7184" CountMin="0"  CountMax="1" Group="1"/>
    <Source TypeMin="7418" TypeMax="7418" CountMin="0"  CountMax="1"/>
    <Source TypeMin="7181" TypeMax="7181" CountMin="10" CountMax="10"/>
    <Source TypeMin="7182" TypeMax="7182" CountMin="10" CountMax="10"/>
  </Sources>
  <Inscription Kind="empower" FailMode="destroy" Protection="14,250"/>
</Recipe>

Common Issues#

Last updated October 1, 2026